As a team leader, one of my duties is one of the toughest jobs in the software business and that is communicating where a gigantic project is status wise. There are entire books written on just how to judge where a project is as well as how to do projections and estimations. Like everyone else I struggle with guesstimating when something is going to be done. This is what forced me to change my quote for the blog recently to:
Software is ready to be scheduled for production when the last line of code is written.
While somewhat of a play on words and the truth, almost everyone has trouble communicating statuses of their projects to the business. As you move up the chain of command it gets even harder. As you move from Engineer->Team Lead->Director->CIO->CEO the less information is needed.
At work we've been working on a major redesign on one of our core systems. Not that we built it incorrectly when we built it mind you. The product has just grown and taken on more responsibility. Before we took on a huge chunk of extra responsibility we knew we were going to need to restructure a lot of things around. Things were easy when we first built it. Several years later the system has grown into a really large system with a lot of integration points and moving parts. With so many parts and integration points how do you calculate the whole project? Beyond that how do you show someone where you at without them having to read a 10 page report? I struggled with this for some time and then stepped back and thought about it for a bit.
What I came up with was a simple one page picture that I put together in PowerPoint to represent all the different pieces and the status of each of those. As each week progresses I can then easily update the PowerPoint with the new percentages of work that was accomplished. Here is what I came up with.
After a quick glance of the above image we can easily deduct that our largest body of work on this project is the Core in the services tier. Second is the user interface and then third is the data migration. It is important to communicate this to the business. The reason is it helps to set expectations. If I told someone at work, "Well we are 60% done with our Core service work." To them that might sound great. But in context it is still only about 40% of the overall work for the services tier that needs to get done and then only about 5-10% of the overall project. I sent this out to a team member who was not involved with the project but asked how things were going. The first thing they came back with was, "Wow, I didn't know the project was that big!". I think I accomplished my goals of A) showing all the moving parts of the project B) simplifying the complexity of it and C) minimal reading.
For those that may be interested in trying this approach out I am attaching the PowerPoint I created. Feel free to download and use it. Let me know how your mileage varies with it. I am still "testing" it out myself.
posted @ Friday, October 26, 2007 2:22 PM