The Agile Post-Project phase is not really concerned about the project that preceded it, but is instead concerned about the product that resulted. It is a good idea, but in my experience uncommon, to check that the product meets the business need for which it was created. Often this can only be done some time after the project ends, say 3-6 months. The Product Owner is responsible for organising the review and accountable for the results.
Agile Project Planning
No battle plan survives contact with the enemy
Plans are nothing, but planning is everything
Field Marshal Helmuth Graf von Moltke
I believe that Agile Project Management provides certainty of delivery. Planning is what lets us answer the question “When will you be finished?”. Planning is, however, just the start of the process. As Moltke pointed out planning is more important that the plan because once you start the project you’ll find the plan is wrong and you have to adapt. All plans need revisiting and you will have to use Agile Project Control, Agile Change Management, and Agile Risk Management to get the promised certainty of delivery.
Continue reading
Agile Pre-project
There are some important questions to be addressed before the start of any project like “Why are we doing this project?” and “Should we do this project?” Project Initiation is the phase where these questions are answered but some work has usually been done before.
Find/Write Project Brief
Projects don’t happen in isolation. The key question during project initiation is “Should we invest more?”, i.e. is the project worth going ahead with? There must be a reason for the project. The first step during Agile Project Initiation is to find this reason. Often with software development there are just too many choices for what the team could do. A Project Brief can help remove this confusion by pointing the general direction in which the team is meant to head.
The format of a Project Brief document might be a Project Vision, in part of a Product Road Map or a Project Mission Statement but the key thing is knowing why we’re spending this money on this activity.
Marty Cagan of the Silicon Valley Product Group suggests we provide good answers to nine questions to know if we are pursing a good opportunity. The nine questions of the Opportunity Assessment are:
- Exactly what problem will this solve? (value proposition)
- For whom do we solve that problem? (target market)
- How will we measure success? (business metrics)
- What alternatives are out there? (competitive landscape)
- Why we are best suited to pursue this? (our differentiator)
- Why now? (market window)
- How will we deploy this? (gentle deployment strategy)
- What is the preliminary estimated cost? (small/medium/large)
- What factors are critical to success? (solution requirements)
I encourage Product Owners to answer these questions before launching the project proper.
High Fidelity Prototype
The Silicon Valley Product Group recommend a a High Fidelity Prototype rather than using documents to describe the target system. If the Project Brief gets the go ahead then invest some time in putting together a click through prototype of the system.
References
Agile Project Scope
According to Wikipedia: Project Management project scope is:
The overall definition of what the project is supposed to accomplish, and a specific description of what the end result should be or accomplish.
We can talk about what is “in-scope”, i.e. what the project is meant to delivery, and what is “out-of-scope”, i.e. what won’t be delivered.
Typically the project scope is a subset of the scope of the product under development.
Continue reading
Agile Project Management
Traditional project managers are often uncomfortable with the apparently unstructured nature of agile software development. This article gives a definition of project management, and then goes on to cover traditional project management, why software development is different, how agile project management is different, and the role of an agile project manager.
Definition of Project Management
According to Wikipedia: Project Management
Project Management is the discipline of planning, organizing, and managing resources to bring about the successful completion of specific project goals and objectives.
Unlike operational activities, which are on-going, a project is finite with a beginning and end. Each project is trying to achieve a clear objective and bring about change. Not surprisingly in the software development world that typically means building software. Project management has to balance scope, quality, time and budget to achieve the given objective.
Continue reading
Agile Gotchas
I did a big Agile roll out and the team came up with a list of the things which might upset the Agile process – Agile gotchas. When I have sometime I will add suggestions for how to deal with them.
Continue reading
Agile Project Initiation
One company I worked with called the start of the project the “Blueprint” as it is about roughly shaping the project and product. “Inception” is another common term for this phase in agile projects. This article outlines traditional project initiation then delves into more detail on Agile Project Initiation.
Continue reading
Agile Lifecycle / Agile Heartbeat
All software development methods, including the Agile ones, have some sort of underlying project lifecycle. System Development Lifecycle (SDLC) is the common name for a software development process, but in the Agile world I prefer calling it a “heartbeat” reflecting the organic nature of an Agile project. Some of the big Agile methods don’t make a big deal of the heartbeat and others do. Some have such abstract lifecycles that it is actually hard to know what activities to schedule. And they all use different terms for the same thing. I have pulled out the common activities to create a generic agile lifecycle.
Continue reading
Evidence for Agile
Although “everyone is doing it” is a reason to consider Agile it isn’t necessarily a reason to go Agile. I’ve thought it useful to outline reasons for going Agile and where possible provides research data to back up the argument. The data can be used to form the basis of a Business Case for Agile.
Continue reading
Agile Terminology Comparison
All the major Agile methods have different terminology. I try to use traditional terms rather than the term used in any of the Agile methods. I’ve put together a table that gives a rough comparison of the different terms.
Continue reading