AGILE PROJECT FEASIBILITY
Feasibility: The big picture
In this chapter we will be discussing how feasibility fits into the overall agile lifecycle. The agile process is represented by five virtual phases. We use the term virtual because in reality you may perform feasibility, planning, development, or adapting at any point in an agile project. The work is not performed in a serial fashion.
First is the Feasibility phase. You use this phase to determine if an idea is feasible in going forward with more detailed requirements, planning, funding, and staffing. What is the reason for you in doing this project? What value will this project bring? What are the risks in pursuing this project? The Feasibility phase provides all answers to the above questions.
The Planning phase gets started by reviewing the output of the Feasibility phase and going deeper into the information provided. You use the Planning phase to break the idea into discrete pieces of functionality called features or user stories. You then prioritize the features and loosely assign them to development iterations.
The release plan provides a first pass at the work that will be created, tested, and demonstrated during the Development phase. This work is completed in iterations and queued for later deployment. Each iteration is a deliverable subset of features; these features are demonstrated where development iterations end.
When the team reviews the features that are delivered, they adapt. The team gathers feedback from the customer during the Adapt phase to ensure their needs were satisfied by the features delivered. The team also reviews their velocity (pace) to see if their capacity estimates are correct. The team uses this information to adjust the plan for the forthcoming iteration.
The last phase is Deployment, which begins after the last iteration is complete. You use this phase to deliver code to the production environment. You also use the Deployment phase to prepare all of those affected by delivery of the project: you train customers, prepare support organizations, turn on marketing plans, and complete the phase with a project retrospective.
The company management team should initially identify the project based on the selection criteria. After a project has been endorsed for feasibility analysis, you assign an individual or a team to perform the work. The work can be performed by an individual if the idea is simple, such as a slight enhancement to existing functionality. More complicated ideas should be reviewed from various perspectives, and a team is required to provide the analysis.
First, you must determine what type of team members are needed to do the feasibility work. Second, you need to review the known requirements with the feasibility team and have the members perform research in their respective areas. The feasibility guide focuses the team on the areas they should be researching during the phase.
When the team feels they’re reaching diminishing returns, or their time limit expires, they will summarize their findings and present them to an approval body. The team will make a recommendation on “go/no go” at the conclusion of the exercise, and the approval body will make the ultimate decision about whether to proceed.