Agile planning



Planning as suggested by Cohn (2005) can be defined as a road map that defines what needs to be done in a project. In addition, it also serves as a guide for planning, how product will be developed in various stages and different procedures that will be followed to develop product and also the personnel who will be involved in developing the product. However, in agile planning, emphasis is more on the processes of planning not maintaining the plan itself. According to Whitworth & Biddle (2007), agile planning promotes cohesion, collaboration as well as communication among the team through negotiation and discussion thereby reducing tension and disagreement in the process.

There are various levels of planning in agile but agile teams are more concerned with only three distinct levels. These distinct levels of planning include the release, iteration and the daily planning. Cohn (2005) shows the cohesion among these levels of planning in what is called 'The Planning onion'.
planning_onion.jpg
The Planning Onion

Initial Stage of Planning




The release planning takes place at the beginning of a project in order to make decisions on the user stories that will be included in a new release of a system. The outcome of this planning process is a release plan which will be updated at the beginning of each iteration until the project is completed. This level of planning helps agile teams to understand the requirements of the project, the financial resources that will be required as well as the risk associated with the project. Release planning also helps both the agile teams and product owner in defining the total duration of the project.

Iteration Planning



Iteration can be defined as a short time procedure that can last from one to four weeks. At the beginning of each iteration, iteration planning is carried out which involves a meeting where those involved in turning the idea into a working product are in attendance. These include the product owner, developers, analysts, programmers among others. The iteration plan consists of handwritten details of each task to be completed on a set of note cards and this is produced at the iteration planning meeting.The purpose for carrying out iteration planning is in order for a team to successfully complete a given task. In every single iteration, the team works on the iteration in a collaborative manner in order to reduce the overall risk in the project and allowing for amplified flexibility. At the end of every iteration the goal is to have a release of iteration with minimal bugs. However, it is not essential that every iteration ends in a release that will be sent out to the market.
In addition, after the each planning stage is completed, the iteration begins and the first task of the team is to estimates the quantity of work needed to complete requirement (Harvard Computing Group, 2012)


Daily Planning



In Agile practice, daily planning is also known as daily stand up meeting. This is the process where on a daily basis, team members gather around in a room, usually around the story or task board and each of them will update their status. This planning also involves each person answering three basic questions. These questions include what has been worked on so far, what do you plan to work on and what problems or obstacles stand in the way of the plan. In addition, this daily meeting usually does not last for more than 15 minutes and the progress of each team member is integrated and tested on a daily basis. A key tool for any team to review daily progress is the burndown charts. Burndown charts assist teams in making corrective actions quickly. However, like any other planning activity, daily plans need to be coordinated among the teams. In this daily planning, the following are achieved.
  • The progress of teams
  • Identification of team obstacles
  • Who is required to eradicate them

Comparison between Agile Planning and Traditional Planning



According to Kelly ( 2004), the agile approach has been criticised for lack of planning . This could be as a result of the fact that a person used to the traditional experience of planning that is the waterfall method would believe that in agile methodology, there is no planning done. In traditional methods, the concept of planning is that a plan has to be done from initiation stages of the project. However in agile planning, planning occurs throughout the life cycle of the project that is in each iteration. Again, another difference between traditional planning and agile approach is how they approach planning. The difference in their approach includes that in the traditional settings, it is the duty of the project manager to draw up a plan for the project while in agile planning it is the responsibility of the agile team to make the plans. Consequently, the main strategy of planning is to gather information concerning the requirement of the project and how this can be achieved. Therefore, it can be observed that the two methodologies perform the same purpose.
The main mode of planning in agile planning is the iteration or sprint plans. Also these plans are not a final plans they can be changed at any stage depending on the customer's requirements because of the existence of uncertainties.


See Also



http://planningpoker.com/





References


Beck, K. & Andres, C. (2004) Extreme Programming Explained: Embracing Change. 2nd edn. Boston: Addison- Wesley

Cohn, M. (2005) Agile Estimating and Planning. New Jersey: Prentice Hall.

Whitworth, E. & Biddle, R. (2007) ‘Motivation and Cohesion in Agile Teams’. Lecture Notes in Computer Science. 4536/2007 pp. 62-69.

Kelly, A. (2011) Three Plans For Agile. Available at: http://www.allankelly.net/static/writing/webonly/ThreePlansForAgile_long.pdf Accessed on [Accessed: 24 March, 2012]

Rally Software (2009). Iteration Planning Guide. [online] Available at: http://www.cs.cofc.edu/~bowring/classes/csis%20602/docs/IterationPlanningGuide.pdf [Accessed on: 23rd March, 2012]

Harvard Computing Group (2012) Agile Methodology Iteration Available at :http://www.taskmap.com/Agile%20-%20Iteration.html [Accessed: 05 May, 2012].