I have been following the various discussions on this subject with some interest.
I was wondering if anyone had solved the problem around the original business case? Senior management want to be confident that the project being started will return a net benefit to the organisation, hence they want to know the cost and benefits for the project up front.
It is my understanding that with Agile it is much harder to estimate costs due to the iterative nature of the development. So what techniques are used to estimate the costs?
I am still not convinced that there is "Agile project management" rather there are the challenges of managing Agile system development projects.
Saving Changes...
I just wanted to list the various project life cycle models and when they are used,
a) Waterfall - Requirements are clearly defined.
b) Iterative - Requirements are not clear and complete. Remaining requirements will be learnt during the course of project. But the goal is known.
c) Extreme - Goal and requirements are not clearly known. The project is an R&D project.
For outsourcing projects, client has to define the requirements clearly, so those projects can follow waterfall model!
For fixed cost projects, the goal is known, so the supplier has to create the requirements and will follow Iterative development model. The supplier has to deploy the best resources for successful completion of this kind of project. (R&D outsourcing will also fall under this category)
For new product development, biggies follow Extreme model for product development.
From the above it is very clear that the project constrain vary according to the project goals. Accordingly a PM should manage the constrain for those specific type of project.
Best Regards,
Vivekanandan M Saving Changes...
Douglas BrownBusiness Advisor| Decision Integration LLCAlexandria, Va, United States
Agile is the means of building the capability, and is a partial project management solution. In my experience, Agilists often avoid this topic because you have to concede the existence of an external wrapper of structure that makes the internal flexibility possible. Program management is the discipline that decides what the outcome of the agile effort is supposed to achieve and provides the resource constraints and infrastructure within which it operates. Saving Changes...
Douglas BrownBusiness Advisor| Decision Integration LLCAlexandria, Va, United States
Sorry, I forgot to answer the base question: you still have to have some overall metrics in order to estimate what it is going to cost to put a solution in place. Otherwise you have no money or no people to be agile with. Again, the role of a program office. One can use function points or even more high-level metrics and the PGMO needs to refine those models to match the organzation's actual productivity experience. Saving Changes...
Andrew MakarProgram Manager| AMAKAR LLCOakland Township, Mi, United States
Great question...and ofcourse there isn't an easy answer.
I had the chance to develop an Enterprise process model for organizations to adopt Agile SDLC but still live in a real-world enterprise organization.
The business case question is the same for Agile or Waterfall projects.
Often, the cost is not known so an estimated budget is allocated. Once the costs are know, money is appropriated from the budget and allocated to the project. I've worked in both types of organizations implementing waterfall and agile processes.
The business case becomes the initial sales pitch to do the project with a guesstimated or well calculated ROI. For a waterfall project, the management team will fund a Discovery and Analysis phase. In Agile, you're looking for the management team to fund the initial project initiation and release planning phase.
At the end of the day, you're asking for a chunk of money over a period of time. After release planning, you'll be in a good position to demonstrate results with iterative delivery vs. vaporware but a lot of documentation.
Vivekanandan is on target with his comments on lifecycles and projects. Different projects require predictive or adaptive lifecycles. I've also had the chance to apply iterations to ASP implementations which blended both disciplines.
I definitely recommend taking action and trying it so you can learn from the experiences.