Monday, November 2, 2009

Software Architecture tips I - Dynamic rather than static

Dynamic rather than static

One of the common problems in software development is that people tend to draw static diagrams, these are good for the person that drew them but often hard to understand out of context. So for example people tend to draw class diagrams (http://www.agilemodeling.com/artifacts/classDiagram.htm) but not activity diagrams (http://www.agilemodeling.com/artifacts/activityDiagram.htm). You may want to try drawing an activity diagram of one of your existing systems, to get into the mindset of thinking about systems over time.
 
Time or sequence based diagrams allow people to see more clearly which parts of a system work together to deliver a user story or scenario. Even a class or object diagram which only show the entities involved in a story fails to deliver the visceral understanding that activity or sequence diagrams give.
 
(I'm organising some architecture training at work, and I needed to give a few tips to get people thinking.)

No comments: