subscribe to the RSS Feed

Sunday, August 1, 2010

Project Manager, Developer, or Both?

Posted by Mike on April 5, 2010

I have been learning the hard way what it means to have multiple roles in your job. I am working to get back into software development while continuing to be a project manager. I have found that software project management is greatly aided when the project manager has some development responsibilities. Last Friday, I was caught off-guard by a problem with my role on a particular project.

My role, as I understood it, on the project that “got me” was as the project manager only. Because of this, I was reading the requirements through my project manager eyes. My developers were reading the requirements through their platform-specific eyes.  The result? We completely overlooked an area of development that was sprinkled throughout the requirements.

It happened to be a platform on which I am doing development on for other projects, so I can easily see how it was missed. The assumption was that I would take care of that piece, only I didn’t make the same assumption. The problem showed up in a reported defect, so now I am scrambling to catch up. I must be certain to analyze the requirements more carefully so that as the project manager, I make sure that all the developer skills we need are on the team, whether the developer is me or someone else.

You might think that this problem was obvious and could have been avoided.  I can tell you that it wasn’t obvious to all who were involved because it was missed in two sprint planning sessions. Yes, it wasn’t obvious, but I should have caught it.

Beyond Functional Requirements

Posted by Mike on September 19, 2008

Dr. Dobb’s Journal has an article called Beyond Functional Requirements On Agile Projects in its October 2008 issue. I think that it is not only worth reading for the subject matter contained in the title, but also for the view you will get of agile software development.
Figure 1, in the article, shows the full system lifecycle when using agile software development. I especially appreciated the mention of Iteration -1 and Iteration 0. These two iterations are completed before starting the Construction Lifecycle. They include pre-project activities (Iteration -1) and the Inception Phase (Iteration 0). The Inception Phase includes the work required to get the project started, including initial modeling and planning.
The article makes mention of disciplined agile. This implies that you can also have undisciplined agile. It’s all about mastering your craft and this is important enough that the article concludes with a strategy of Developer Education.
There is more to the article and it is well worth the read.