Projects each have a lifecycle based around the needs of the project and its desired outcomes. Selecting the right lifecycle for a project is critical and helps sets up the project for success right from the start. Projects usually fall into three possible broad lifecycles – predictive, agile or a hybrid mix. Typical project lifecycles for predictive projects include Initiation, Planning, Execution, Monitoring & Controlling, & Closing. Typical project lifecycles for agile projects include Envisioning, Speculating, Exploring, Adapting, & Closing.
Sometimes the problem with having a rigid plan for getting from one point to another is that you don’t know what obstacles and changes – like rough terrain or unexpected storms – may arise along the way. Unlike more traditional approaches, agile project management assumes that things will change and that you’ll learn and make adjustments along the way.
The adjective “agile” describes something that can change quickly and easily, in a resourceful, efficient manner. Similarly, agile project management focuses on enabling you to respond quickly and effectively to change, which is inevitable in the modern business environment. The aims of this type of management are to use resources more effectively as requirements, technology, and know-how develop; foster strong ties with customers; create customer solutions based on iterative and incremental methods; and increase your capacity to create business value.
Agile project management has several key characteristics. It relies on cross-functional teams that work in short iterations, and uses an incremental approach to development. It also focuses on business priorities and customer value, and strives for continuous improvement. These characteristics differ substantially to those of more traditional project management approaches.
Cross-functional Teams
Cross-functional teams consist of team members from different functional areas, with different areas and levels of expertise. Agile project management relies on the use of cross-functional teams, in which the members can draw on one another’s strengths and support one another throughout the life of a project.
In traditional project management, a project manager typically passes decisions down to team members. In an agile approach, team members have the expertise to make decisions themselves – which allows for rapid responses. Because they’re involved from start to end, they have a good understanding of the project, are committed to the project, and can respond appropriately.
Short iterations
An iteration is a repeatable cycle in a process. As part of a development process, iterations allow for feedback and modification prior to system deployment. The agile systems development approach makes use of iterations. The typical duration of an iteration is two to four weeks, and projects typically go through a number of iterations before delivery of the entire set of product features. After each iteration, customers provide feedback.
Using short iterations enables agile teams to build in improvements frequently and address changes or errors soon after they’re identified. For example, a customer might review an intermediate product and request specific changes after two weeks. These can be incorporated in the next iteration.
Similar changes could be difficult or impossible to incorporate if the customer reviewed the product only after a team has already spent three months developing it.
Incremental Approach
An incremental development strategy enables a product to grow in planned stages, or increments. Parts of the product are developed at different times based on feature priority, and may be implemented in the form of releases throughout the project development cycle. In agile projects, a selection, or increment, of prioritized product features is developed in each iteration.
For example, a customer wants to update its inventory management system. The first increment of work might involve developing all functionality required for serial number tracking, and the second might involve tasks related to adding images to stock items. After each increment completes, a releasable functionality has been developed. This differs from a traditional approach, in which the customer waits until all planned work has been completed before getting a chance to review an end product. This is often associated with long development schedules, inability to change, and a high risk that the final product won’t meet customer standards.
Business Priorities and Customer Value
With agile project management, product features with the highest priorities to customers are developed first. Also, progress is measured in terms of each feature’s readiness for review and deployment by customers.
Other project management methods typically track progress based on the completion of phases, such as design or coding. The design phase may be complete, but no deliverable is ready for the customer to review. Meeting milestones on schedule, instead of developing a fully functional product feature, becomes a priority in Agile.
Continuous Improvement
Agile project management builds continuous improvement into the development process. After each iteration, the customer provides feedback, which is then integrated into the next iteration. The overall product develops over time as features are added or updated. This is useful especially in environments where requirements change often.
In traditional project management, change management is a separate stream to product development. Change takes time to manage and implement correctly. As a result, this type of management is most suitable when requirements are unlikely to change during the course of a project.
There are many Agile methodologies – one of the more popular is Scrum. Here’s an overview;