How To Apply Agile Project Management
Agile project management relies on interative methodologies to plan and steer (or guide) projects. Inspired by agile software development, agile projects complete their work in many small pieces spread over a given period of time. These are called iterations. Iterations happen in a predictable, cyclic pattern with defined start and end dates (usually two weeks). In agile software development, an iteration implies a software development lifecycle whereby the result is presented to stakeholders and project team members in order to receive feedback on the use and application of the functionality. The outcome of the iteration is critiqued and its feedback is acquired to determine the next steps in the path of realising the big picture. Validating the iteration’s result is absolutely critical in agile software development in order to confirm, or debunk initial assumptions of the developed software.
Agile project management strongly benefits from early insights acquired during the feedback process, and also issues during the course of the project. Simply put, responding to change could mean the life and death of projects: how will the recently acquired insights affect resources and the budget? When is the expected timeline for the project’s realisation? Can we really do the project with the insights we’ve acquired since the previous iteration?
Learn how to be a successful visionary Agile Leader.
Agile Project Management vs. Waterfall
Before explaining what agile project management is, let’s talk about what it isn’t. There are variable project management life cycle process models such as linear, incremental, iterative, adaptive, and extreme (Wysocki, 2014) and the conditions of the project typically determine what process model makes sense. The traditional waterfall project management style applies the linear process model of project management. Waterfall project management styles depend on a plan-driven approach and are resistant to change—they come with heavy documentation and expectations, rigid mockups, requirements that have been so thoroughly (or not) reviewed and plans so strictly organised that changing even the smallest aspect of it can cause a cascading effect of unpredictability. Incremental project management process models are quite similar and to the linear models: the only difference being that requirements and project scope are delivered incrementally rather than all together before the start of the project.
Agile project management uses a change-driven approach. Change is fundamental and encouraged in agile project management approaches—after all, it would be nice to know early if changes in the work will result in unexpected consequences. A business wouldn’t want to continue with everything as planned and not leave room for the unexpected and unplanned. This ongoing collaboration and open communication is encouraged, from those who create the product to stakeholders who have a stake in the direction of the product—there is a vested interest throughout the entire agile project management lifecycle process model. Agile project management improves upon the waterfall (linear) model by incorporating planning as part of the incremental activity, and resolves those plans iteratively.
The greater the project’s uncertainty, the more space for change is required. Adaptive and extreme project management process models encourage uncertainty but it may be difficult navigate the terrain with an uncertain perspective. Thus, agile project management has been favoured in most organisations, small to large scale agile project implementations.
What is Agile Project Management?
Agile project methodologies partition projects into smaller pieces which are completed in periodic intervals from the design phases, testing, and quality insurance. These intervals are called sprints, a popular term for an iteration used by one of the most popular agile development methodologies called Scrum.
Sprints are typically short bursts of intense productivity that begins and ends in intervals of two to maximum four weeks. Agile methodologies rely on specialised teams to release functionality as soon as they are completed (and tested). This continuous release cycles allow teams to see the effect of their deployments and if unexpected consequences arise (not found in testing), allows teams to fix those issues quickly and redeploy.
Agile project methodologies empower companies to reduce large-scale failures and to quickly react to uncertain conditions throughout the project’s lifecycle.
How does Agile Project Management work?
Throughout the course of an iteration, agile teams adopt an assortment of best practises (quality assurance, software craftsmanship) as well as continuous adaptation.
Agile teams incorporate and develop an environment that promotes automation, error-free deployments, and early detection of errors in product development to speed up the release deployments and testing procedures. They adopt DevOps best practises (and mentalities) to synthesise an environment that is capable of continuous deployment, continuous integration, and continuous improvement.
Agile project management requires that agile teams iteratively evaluate their time and efforts as they continue throughout the course of their work. Metrics such as velocity, burndown and burnup charts allow agile teams to measure their work. Here, agile teams acquire a baseline potentiality of the ability of their team (not all teams have the same metrics).
Agile project management does not require a project manager, because the work of the PM is distributed among agile teams (the teams know best how to deliver their work, and what effort is required. From this, teams are able to synchronise their work in a timely way). In project-delivery focused waterfall methods, a project manager was essential because the company was developing projects and not products. This difference is essential.
Dedicated Product Owners are those who set the goals of the project, in a timely way, with agile team for which their work is dedicated. Together with the product owner, agile teams handle scheduling, report project progress, and measure the quality of their work. Some agile approaches like Scrum deploy an agent dubbed the Scrum Master whose role is a facilitate the relationship between the Product Owner and the agile team, by removing impediments and facilitating workflows, processes, and simplifying communication to shepherd the project to its completion.
Agile project management, in some cases, may still make use of the project manager, except not in the same role as that person once had in the traditional waterfall process. Rather, the project manager is a coordinator and facilitator, relaying information and supporting the project’s development in a more tertiary capacity rather than administering teams. Rather than the previously held taskmaster role in the linear process model, the project manager is transformed into a visionary leader.
Since agile teams no longer need a project manager to tell them how to do their work, the priorities and evaluate risks for them, agile project management demands a lot more from agile teams. Agile teams know how to do their work, what is important, and when those things can be done and so, organisations place a lot of trust in agile teams to steer and determine their work. Companies that adopt agile project management have to empower teams to take the appropriate actions and to maintain the delivery pipeline at all times. Agile teams must also be able to communicate with stakeholders, product owners, and with other teams—social competence is fundamental.
History of Agile Project Management
Continuous development, continuous deployment, and continuous integration is not new to today’s vernacular. It has been around since the mid 20th century and it has been practised in various forms throughout the decades, championed by visionaries in software engineering and software craftsmanship. While waterfall project management techniques were gaining ground in the 1990s, James Martin’s 1991 publication introducing Rapid Iterative Production Prototyping (RIPP) became the foundations of what is now practised in Rapid Application Development (RAD).
In recent years, the agile methodology known as Scrum has gained significant momentum. Scrum is an agile methodology that has three roles: Product Owner, Development Team, and Scrum Master. The product owner works with a development team to create a product backlog, which is them prioritised in according to business value in order to deliver features, fixes and the overall software to production. The team delivers this in rapid increments.
With the increasingly dense, and sophisticated world of software engineering, technological innovations, and connected systems, the 21st century demanded an evolved way of navigating the growing complexity. Rapid response is not only a expected, but desired.
Sources:
Wysocki, R. K. (2014). Effective project management: traditional, agile, extreme. Indianapolis, Indiana: Wiley.
Dein Kontakt
Sufi Mohamed
Email: info@spf-consulting.ch
Kontakt: https://www.spf-consulting.ch/kontakt/
«Dediziert den Wert Ihrer Teams aufdecken.»
Die Erfahrung von Sufi im agilen Beruf hat ihm geholfen Prozesse, Ziele und den Wert von Teams zu identifizieren. Mit Know-how im Agile Requirements Engineering und verschiedenen agilen Methoden (Scrum, SAFe, LeSS, Kanban, ScrumBan, etc….) engagiert sich Sufi dafür, die Qualität Ihrer Teams und deren Affinität zu agiler Mentalität aufzuzeigen.