CodeBetter.Com
CodeBetter.Com
RSS 2.0 via Feedburner
           Do you Twitter? Follow us @CodeBetter

Steve Hebert's Development Blog

Steve's Blog - From .Net to dotMath and everything in between.

Lean Thought: Microsoft Project and UML

Here's a thought I just had - Microsoft Project is to Software Project Management as UML is to Code

UML is not architecture nor is it code design.  UML is a static picture that describes intent at a given point in time. These diagrams may have significant value at certain points in time and zero value at other points.  The final code rarely looks like the intended UML because UML is not an implementation tool.  Just like inventory, the longer a UML diagram sits, the more useless and irrelevant it becomes.

- To that point -

Microsoft Project describes a plan's intent.  The final project steps rarely look like the actual steps over the course of a sizable software project. 

So why do teams create designs with UML and plan with Project?  Because there is use in showing intent at different phases of a project plan.  However, mandating, measuring or driving to either during the life of a project usually leads to unnecessary and costly work stoppages.


Published Aug 08 2005, 06:48 PM by shebert
Filed under:

Comments

Pedro Silva said:

Unfortunately, what you say is true. Having used Project in the past to track development projects was more trouble than it was worth. Hopefully, a good project tracking tool will come along.
# August 8, 2005 6:19 PM

Maruis Marais said:

I agree, with UML it would be great to have a UML editor as part of the Development IDE, where the diagram is updated as the object or project progresses. Anyways, we can all dream...
# August 8, 2005 10:41 PM

Darrell said:

Why? Because the act of planning makes the software developer / PM more informed about what's going on, even if they then stop updating the *document*, the planning has achieved its desired benefit.

Now UML diagrams and project plans that stay in sync with what's being worked on, such as the class designer and Team System project plan auto-generated via work items, is very useful. Need the up-to-date picture? Just open it up. Whammy!
# August 8, 2005 11:05 PM

shebert said:

Project is a fish out of water when it comes to driving a project plan. Given how Team System tracks issues and allows for monitoring of progress, it is far more suited to driving a development plan. The gating design of Project is useful to understand what can be done in parallel and what must be done serially - I wonder if TS is capable of changing the work items in project to tasks? I just haven't had enough experience with TS along these lines to understand how it implements these types of plans.

Reverse engineered UML diagrams are extremely useful and when using TDD, they are a great mechanism to understand what is going on. But the focus on reverse engineered UML diagrams is fundamentally different than UML diagrams used in design. A lot of "Architects" fill up their days drawing UML diagrams that don't add value to the process. I personally think that 95% of the time, UML is worthless in design because the detail of intent isn't necessary in most cases. In the few cases where it is needed, it is invaluable.

# August 9, 2005 9:20 AM

Tech Guru said:

# August 10, 2005 11:00 PM
Check out Devlicio.us!