Agile project management is usually associated with adjusting projects to customers requirements and continuous improvement. Agilists value responding to change more than following a plan. That said, Agile also involves planning – especially high-level planning. Initiating a new project is an important and time-consuming stage of the project. This phase of software development is also one of the most misunderstood aspects of project management.
Initiating a new project
Initiating a new project is a significant and time-consuming stage of a software development project. Initiating agile software development is also one of the most questioned aspects of project phases. The importance of this phase is very often underappreciated, since stakeholders simply want to start the most interesting phase – the actual development.
Pre-project phase doesn’t mean no time spent on initiation
Agilists define the pre-project phase as a phase during which they ensure that only the right projects are started. Additionally, this phase aims at defining the objectives clearly and setting up project correctly.
Feasibility phase: the next planning aspect of Agile
The next planning phase defined by Agilists is the feasibility phase which involves the analysis of the potential project from the perspective of technical and cost feasibilities. During this phase stakeholders take into consideration the technical aspects and the budget in order to define whether the further game is worth the candle.
Foundations phase: move to the next level
Another step in project planning is the Foundations phase. During this phase, a high-level understanding of the business rationale of the project and the general management plan for development delivery of the solution is presented. This phase can take a few weeks but should not take too long. On an Agile project, there are hours or days of modeling, short documentation and reviews to get through. For small projects, this phase may be merged with the Feasibility phase. It is a crucial phase, during which the scope of work is understood and the way of delivery is defined.
Agile Math = Multiple levels of planning
Projects start from a simple mathematical rule: time, cost and scope. Agilists define the terms as follows:
Time is an amount of time required for finishing the project, it is perceived in the context of any deadlines.
Cost is the budget that the team receives for the project.
Finally, the scope is the part of the project that includes the work that needs to be done in order to deliver the project.
Planning development in Agile is an undervalued task.
Setting and revising goals is a crucial part of the project. Agilists are able to achieve this by planning at various scopes: project, release, iteration and daily planning.
Project planning is the initial plan for the whole project and includes the product vision statement
Release planning determines the scope, schedule and resources of the project. This type of planning occurs at the beginning of the project and it should be updated throughout the whole project.
Iteration planning occurs at the beginning of every iteration. This plan is based on the tasks accomplished during the previous iteration. The team prioritise the tasks and schedule the plan for the next iteration. Iteration planning also includes previous iteration review.
Daily planning is used in order to coordinate work. During daily stand-up meetings teams assess their tasks and revise their plans, focusing mainly on discussing the present tasks. Daily planning focuses on coordinating individual activities of team members.
Clarifying the relationship between “completed tasks” and “condition of satisfaction”
The project is initiated with a particular set of objectives. It is crucial to clarify and understand the relationship between the team’s definition of COMPLETED tasks and the client’s conditions of satisfaction for every single task in the backlog. Conditions of satisfaction are the criteria according to which the project’s success is assessed. Tasks done must fulfil a special set of conditions of client’s satisfaction that should be added to every task in the backlog task. Conditions of satisfaction must always be verified at the very start of the project and then subsequently monitored.
Agile also means planning
Contrary to popular belief, Agile does involve planning – the planning stages are indeed crucial in this methodology, especially high-level planning. The planning stages always consume large amounts of time and energy. It is all for a reason, because the initial phase of a project can significantly influence its ultimate success. At Netguru, we value planning very highly and we think that its importance should never be underestimated.