Agile is no new word, and neither is the application of agile methods in project management. But the hype does not seem to fade. So, what is the "magic" behind agile working? Why do so many organizations and projects want to use it?
The fascination around Agile stems from the success of Software and App Development. Teams in this field have adopted a completely new way of dealing with complexity and focusing on the user requirements. But Agile is not limited to software development projects but can be applied in various industries to varying degrees.
The deciding factor for agile methods in project management is the degree of plannability, certainity and complexity of projects. The project manager needs to choose a fitting lifecycle of the project according to these factors. Subsequently, the lifecycle will also determine which methods to use.
Predictive life cycle: Suggest a more traditional approach, the bulk of planning occurs upfront. The project team deals with low uncertainty because similar project may have been done before. The project is then executed in a single pass, mainly following a sequential process.
Iterative life cycle: Suggest an approach that allows feedback for unfinished work, this helps to improve and modify that work until it meets the requirements. This approach is suitable when dealing with uncertainty from the client side, checking the fit during the progress minimizes the risk of intensive rework at the end.
Incremental life cycle: An approach that provides finished deliverables that the customer may be able to use immediately. These deliverables are also known as releases, starting with a minimum viable product (MVP)
Agile life cycle: Combines the two approaches, iterative and incremental, to refine work items and deliver frequently. Let us explain further how these two approaches work together. An iteration is defined in length to achieve sub-goals, iterative loops are repeated until the requirements and goals are met. Once the iterations have ended, and a goal has been achieved, it should add to the project progress and becomes one increment of the whole. Many iterations therefore make up an increment, and many increments make up the project.
Key Take-away: Agile is not useful for all projects. If projects are definable or predictive, then traditional approaches are suitable. If the work is exploratory like design, development, or problem-solving nature, an agile approach is a good choice. But since predictable work is increasingly automated, project teams are often called to work on unpredictable projects, explaining the popularity of agile methods. Agile methods are designed to explore the project's feasibility in short cycles and allow the plan to be adapt based on evaluation and feedback.
Before a project can start with agile work, it is important to have a disciplined and focused team. Ideally the team should only be tasked with one project at a time, and be located in close proximity to allow easy communication. With the rising popularity and necessity of working from home, teams must also work together virtually. The agile teams follow the philosophy of self-manged work, here the project manager must support the team to be effective in their method, rather than defining scope, tasks, and timelines. Naturally, the question is now asked, what about large and international projects, can agile be used here? Certainly yes, but typically only some work packages and subtasks would be organized this way. Such a construct would then be known as hybrid project management. In the long run, implementing the "Scaled Agile Framework", in short SAFe, would be a great opportunity to enable the whole organization of agile working.
But for agile to be agile, one must understand where it comes from. Agile is a subset of lean methods. Lean means that one focuses on value, works efficiently with small batch sizes, and eliminates waste. These values also define agile and are manifested through many different practices and methods.
No matter what method is applied, the agile principles should guide the actions. Therefore, keep in mind that your project should deliver value, respect people in the process, minimize waste, is transparent, adapts to change and that it continues to improve. There are many methods, used within the agile practice, which ensure this is upkept:
Scrum: The development focuses on user defined requirements which may be changing, which pose such a complexity that work is broken down into timeboxed iterations called sprints.
Kanban: Is a task tracking and task distribution method that derived from lean manufacturing principles. The idea is that each team member is taking tasks from the backlog and work on the issue until they are done. The idea is that the task allocation happens decentralized and on initiative.
Design Thinking: Is a method to define and design a solution with a clear focus on the user experience, solving a certain need. It is just one tool to define the desired outcome. It encompasses the steps of context analysis, problem finding and definition, ideation, and the solution generation through prototyping and testing.
Scaled Agile Framework: Is a set of methods, processes and workflow patterns which allows the scaling of agile methods to circumvent larger teams. The SAFe mainly promotes alignment between teams, encourages collaboration and delivery across many agile teams within an organization or project.
PRINCE 2 Agile: A management framework that combines traditional methods with agile work and delivery methods of projects. While PRINCE 2 focuses on the strategic aspects, Agile is the operational component. This method's core philosophy is to keep projects responsive and adaptive, without forgetting deadlines and budgets.
Dynamic System Development Method (DSDM): Is a management framework similar to PRINCE 2 Agile, which uses an iterative and incremental approach while embracing philosophies like continuous user and customer involvement. DSDM fixes cost, quality, and time at the beginning of the project, to ensure goals have been met. However, the scope is adjusted depending on the musts, should, could, and will not haves, to meet the stated constraints.
Other agile approaches such as Extreme Programming or the Agile Unified Process remain in the software development and have not been translated to other applications. Luckily, the described agile methods and principles cover most applications and benefit your unpredictable projects.
Our disciplined agile project managers are ready to help you implement your first agile project, or scale agile methods in your organisation.