Technical Communications

Because technical communications is an important part of what I do professionally, I’ve decided to describe some of my favourite communication devices. These are documents that I’ve used in various projects to coordinate and develop ideas with other developers and departments as well as provide a record for future development.


Burn Down Charts

  • Shows whether or not a project is on task and can be used to display information at the very beginning of a project right to the end
  • These things are quite possibly my favourite tool when it comes to project management
  • I like it because it doesn’t require task start points and end points to line up to specific dates (unlike MS Project Gantt Charts)
  • My article Simple Agile Project Management & Tracking talks about these diagrams in detail
  • Document creation tools: Google spreadsheets, excel

Gantt Diagrams

  • Are useful for managing chunks of projects that need to be coordinated
  • They are not useful for managing small tasks with in a project because maintaining start/end dates when tasks are short is not really practical. If you need to manage a number of small tasks, a burn down chart is likely more appropriate.
  • Document creation tools: Microsoft project

UML Static Class Diagrams

  • A great way to figure out class properties and relationships with classes
  • The domain for a piece of software can be passed on to other developers very quickly with these diagrams
  • Document creation tools: Visio, Dia (supposedly but I don’t think it is even close to comparable to Cisio)

*I don’t want to post any of the static class diagrams that I have at the moment but will add one soon.


Use Case Diagrams

  • Show the behavior of how users/hardware/other software interact with a program
  • I think these are often overlooked and the specific case when I find myself wishing for them is when I take over someone else’s project and don’t have a solid idea what it is supposed to do
  • Document creation tools: Visio

I don’t have one of these on hand so here is one from wikipedia

Entity Relationship Diagrams

  • Show what data fields are in a database and how the different tables relate to each other
  • Similar to a static class diagram but it doesn’t have things like methods and access modifiers to display as well
  • Document creation tools: SQL Server Management Studio (and many other DB managers), Visio

Shown above is a Visio ER diagram. There is a convention of shapes I prefer over this particular set but it still conveys the same information.

Flow Charts for algorithms & procedures

  • Flow charts seem to be really beneficial when trying to communicate an algorithm with non-developers
  • Document creation tools: Visio�

Data Flow Diagrams

  • Shows the movement of data in a system
  • Document creation tools: Visio

Test Sheets

  • A very basic form of testing that lists actions and the expected result
  • I like having these as a recorded way of managing user interface tests
  • They also expand into checklists for verifying that an installer was correctly built or a release procedure correctly followed
  • Document creation tools: Google Spreadsheets


Requirements & Specifications Documents

  • Describe what the software needs to do


Design Documents

  • Explains all the diagrams and concepts used for planning a program’s algorithms and architecture