Viewing Agile Concepts From a Phase Perspective
The Agile phases
The 5 phases we will discuss are feasibility, planning, development, adapting, and deployment:
- The feasibility phase is used to determine if an idea has enough merit to proceed to planning. An individual or small group will scrutinize the idea for customer value, company value, and risk.
- If an idea is viable it will proceed to planning. The project team will be assembled at this time and the team will work together to identify features. Features will be examined for value and risk and eventually estimated so they can be assigned to an iteration plan.
- Development iterations convert the iteration plan into working code. Features are built, tested, and demonstrated to the customer and stakeholders at the end of each iteration.
- The team adapts between development iterations. Customer feedback is used to adjust the plan for the forthcoming iteration. The team also uses this window to evaluate their velocity (pace) and they adjust iteration capacity accordingly.
- When all iterations are complete the team deploys the working code into a production environment.
Now let's examine the feasibility phase in detail.
Feasibility—defining and validating your vision
Why am I here? Why are we doing this project? What is the value of this request? The feasibility phase pursues the answer to these questions and also evaluates the risk in pursuing an idea. The question that summarizes it all is, "Is this request or idea viable?"
Let's look at figure 2 to get a better understanding.
Figure 2 Many companies initialize a project without truly quantifying the value and goals. The Feasibility phase eliminates this issue by measuring the value before making a major investment in the project. Costs and benefits are compared at the end of the phase and the team makes a go/no go decision.
The feasibility phase begins with an idea or request. The idea can come from within the team, a customer, or practically any source. The person who collects or provides the idea bounces it off of a supervisor or a management group that vets ideas. If the idea is given approval for further investigation of feasibility, the idea is assigned to a group or person for further research. It could be given back to the person who presented the idea.
The person assigned to the request then makes a decision on whether they can do the research on their own, or if they will need team members for help. To see it in practice, let's look at an idea within Acme Media.
Wes Hunter, a business analyst, has suggested that Acme start providing news alerts to cell phones. He bounced the idea off of Peggy Romani, the Product Manager for the News website and received a green light to go further on feasibility and research. Wes could see the business value of the feature and explain the value from a perspective of audience share and competitive advantage, but he had no idea how wireless technology worked or the architecture that would be required to support it. Wes requested the assistance of the lead architect, Keith Gastaneau, to help him work through the high level technical implications of pursuing the idea. In this instance the feasibility team will be Wes and Keith.
Once the team or person has been identified they continue the feasibility work. This additional work could include:
- Talking to customers
- Performing a cost/benefit analysis
- Looking at what competitors are doing in related areas
- Researching whitepapers on the subject from industry experts
- Check compatibility with the current platform
- Researching technology needs
- Create use cases to better understand the idea
- Usability testing
The Agile/Lean concept of just enough applies here. We want just enough information to see if this idea is worth the effort needed to create a plan for it. Once the work is complete it is presented to the Product Manager or approving body for discussion. The feasibility investigator will present high level requirements, a guess at project costs (funds and resources needed), risks identified during the research, a list of benefits, and a ballpark project timeline. The meeting is concluded with a go/no-go decision.
This decision only provides approval to continue the investigation and planning for the idea. It is not an endorsement to take the idea all the way through to delivery. Show stoppers can still be identified during planning and development, so an idea can be cancelled at any time.
The last step in the feasibility phase is the assignment of a planning team. If one person has been investigating an idea they will need a team to plan the idea after approval. Resources can be assigned informally or officially by a manager or management group. Team members can come from all areas of the project team, but you need to have representatives who have experience with the product. These team members will help estimate features at the end of the phase.
The team also needs the customer or a customer advocate to provide their input during the prioritization that occurs throughout the phase. It is desirable to have the planning team follow the idea all the way through to deployment.
Page 2 of 4