By George Rist – Management Consultant
I’m George Rist, a Monmouth-based management consultant. I’ve spent years honing his project management practices. Here’s my guide to Agile project management and how Agile methods can completely change your project management game.
Agile methods are, by now, firmly embedded into working practices in certain sectors. Software development teams, for example, often utilise these development methods thanks to Agile’s iterative, flexible approach making it ideal for wide-ranging projects with uncertain deliverables, changeable deadlines and a high degree of complexity.
But this evolutionary project management methodology isn’t just for developing software. It’s also commonly used in other sectors, such as finance, business management and sustainable development projects.
How To Understand Agile Methodologies: Its Evolution
Understanding how and why Agile project management evolved from traditional, linear (and slow!) project management frameworks is key to implementing it effectively.
Speed is the watchword for project development teams. New features and products need to hit as quickly and efficiently as possible. and over the past decade or so, development teams have focused on solving this problem.
And the reason that so many achieve targets much faster than ten or 15 years ago is largely down to Agile. The traditional software development process (and comparable processes in other fields) is sequential and linear. While this can and still does work in stable environments, the rigidity and lack of flexibility towards changing goals hampers progress.
The need to develop alternatives led to the evolution of Agile.
Cutting The Wait; From Waterfall To Agile
Just a couple of short decades ago, waiting months or even years for projects to reach their goals was the norm. Back then, development teams across all kinds of sectors, specifically manufacturing, aerospace and defence and software, used development methods such as Waterfall.
The Waterfall development methodology follows a set path starting with setting the project scope, designing the product or feature based on these pre-determined, fixed requirements, building it to the same requirements, testing, fixing and then launching.
With no leeway to make changes along the way, teams were hampered by the initial scope of work. This led to delays and long waiting times for the project to be completed. For the customer or client, this means that as new problems evolved, there was no way to react to them in any tangible way. Furthermore, by the time the project reached completion, it was more than likely that the initial problem had evolved into a different need.
Clearly, a more flexible and dynamic systems development method was needed, which is exactly where Agile came in. Recognition of the need for a more adaptive project framework in complex and fast-changing environments led to the development of Agile.
This is why Agile methodologies include traditional workflow management along with innovative approaches, creating a structured yet flexible hybrid approach to project management. Agile methodologies compare favorably with traditional methods, thanks to its flexibility and support for iteration, allowing development teams to continuously refine and improve their work.
At each iteration, testing can be implemented. This allows for fine tuning as the project continues, rather than a lengthy wait for completion before any change can be implemented. This incremental approach is the backbone of Agile; an adaptive project framework that sets it firmly apart from the rigidity of traditional methods.
The Early Days Of Agile
During the 1990s, software development teams worked to change their entire approach to developing and delivering projects. This introduced other methodologies, such as Scrum, Extreme Programming, Feature-Driven Development (FDD) and Pragmatic Programming.
Each of these varies, but there is a commonality among them. They all offer lightweight development methods that are far more flexible than traditional methods, such as Waterfall. In the early 2000s, a core group of seventeen software developers met to talk about exactly how they could vastly speed up development.
This meeting formed a key step towards the Agile project management framework we use today.
What Are The Core Values Of Agile Methodologies?
The second meeting of the cross functional team of developers was held a year after the first. The outcome of this meeting was the “Manifesto for Agile Software Development” – now commonly referred to as the “Agile Manifesto”.
The manifesto covers four core values that underscore, support and guide all Agile processes and practices. These prioritise the following:
- Individuals and interactions come before processes and tools
- Working software comes before comprehensive documentation
- Customer collaboration comes before contract negotiation
- Responding to change comes before following a plan
These are key to agile management as they clearly place emphasis on flexibility, adaptability and deliverability. All of this sets team members up for success and creative approaches to evolving problems and changes to the scope of the project.
Anyone who wants to adopt the Agile mindset must thoroughly absorb the importance of these values – this is the very framework that allows for continuous improvement and client satisfaction. Let’s look at each value to understand their significance within Agile projects.
- Individuals and interactions over processes and tools
A significant breakthrough for the entire methodology, the emphasis on individuals and interactions over processes and tools forms the cornerstone of the Agile Manifesto.
Communication and collaboration among team members is vital to the Agile approach. In other words, tools and processes used throughout an Agile project should support (rather than totally replace) useful and effective collaboration.
Face-to-face interactions should be prioritised over working in silos. This human-centric approach allows team members to collaborate and use their collective expertise to solve even the most complex and unexpected problems that may arise. Above all, Agile recognises that emotional intelligence and critical thinking are necessary to manage projects effectively.
- Working Software Over Comprehensive Documentation
For Agile software development, the delivery of working software is the main goal – it’s far more important than extensive documentation. Traditional methodology faces all kinds of challenges to timeframes precisely because of the requirements for endless documentation, leading to slow or missed deliveries.
Agile is all about prioritising working software; this is what measures progress and makes sure that development teams retain their focus on delivering real results. However, software isn’t just a deliverable. It’s also the benchmark for progress and success, an approach that is similar to other methodologies, such as XP, FDD and adaptive software development.
All of these prioritise continuous improvement and frequent releases. Agile methodologies in particular underscore the importance of teams adapting quickly and concisely to feedback along the way. They are supported to change requirements, which means they can deliver a final product that works and is fully aligned with the client’s expectations.
- Customer Collaboration Over Contract
By working directly with the customer/client to create a collaborative approach to understanding project goals, Agile eschews the traditional way of negotiating contracts. This value is about inviting continuous feedback from the client in order to promote effective teamwork every step of the way.
Agile allows for meaningful feedback in a continuous loop so that the client not only understands where the project stands at every stage, but is far more likely to be happy with the final outcome.
- Responding To Change Over Following A Plan
Rather than the traditional model of creating a fixed plan and then following it, Agile offers an adaptive approach that responds to change. This allows team members to flex and change their workflows and strategies as needed based on the evolution of the project.
Without the need for extensive revisions of documentation, Agile methods focus on responding and adapting in a dynamic way. Therefore, no matter how changeable or uncertain the environment, Agile teams will be able to respond in a meaningful way.
Whether it’s collaboration over contract negotiation or software over comprehensive documentation, these core values demonstrate just how much Agile differs from more traditional project management frameworks.
Key Methodologies Within Agile Processes
There are a number of widely used methodologies within Agile project management, such as Scrum and Kanban. Each one works for different project environments and needs. Think of them as subsets of the overarching Agile philosophy.
What is Scrum?
A lightweight process framework, Scrum is one of the most widely adopted Agile methodologies. The ‘process framework’ refers to a specific set of practices that must be followed within the framework. For example, Scrum uses development cycles known as ‘Sprints’. ‘Lightweight’ refers to ensuring that the oversight process is kept as small as possible so that the team can get the actual work finished.
A Scrum process is divided into three categories:
- Role
- Artifact
- Time Box.
These dividers set it apart from other Agile methodologies, and Scrum is most commonly used to manage complicated and diverse product and software development. Its incremental and iterative practices increase productivity and reduce the time it takes to reach each milestone.
Rapidly changing requirements can be accommodated and rapidly adjusted for, in order to ensure that the project is finished on time and in budget. The client benefits from high quality deliverables, flexibility, reduced costs and better control of the schedule.
Ideal for small teams working on specific sprints, the Scrum process is managed by particular roles, including the ‘Product Owner’, ‘Scrum Master’ and ‘Development Team’. Each contributes towards the end goal, with the former representing the business and ensuring deliverables are prioritised and the Scrum Master taking responsibility for dealing with any challenges to the process being followed as well as planning and daily standups with the team.
The short timeframe for each Sprint means that changes can be absorbed along the way without knocking the whole project off course.
What is Extreme Programming (XP)?
Extreme Programming (XP) is another subset of the Agile philosophy that focuses on developing software in a cost-effective and rapid way. XP encompasses five core phases to manage the development process. These are:
- Planning
- Analysis
- Design
- Coding
- Testing
XP is all about ensuring technical excellence through continuous integration, focusing all the time on speed and delivery. Typically, an XP agile project will deliver working software frequently (usually every one to three weeks). XP allows for high levels of technical excellence, flexibility and rapid adaptation.
What is Kanban?
‘Kanban’ is the Japanese word for ‘signboard’, so it’s logical that Kanban is a popular visual framework that is commonly used to implement Agile development. Kanban relies on high levels of transparency and communication, with each work item and deliverable represented on a board, so that it can be seen by every team member.
The idea is that this visual approach to tasks, deliverables and goals allows for greater transparency and team work. It’s an extremely simple yet effective way to manage a project, as it allows the project manager to see any bottlenecks or challenges ahead. This makes it easier to track and manage workflow and optimise efficiency.
What is Lean Software Development (LSD)?
Another Agile framework, Lean software development (LSD) aims to optimise development resources and time, get rid of waste and deliver only what is necessary for the project.
Also referred to as the Minimum Viable Product (MVP) strategy, the Lean approach borrows its philosophy from mid-20th century manufacturing processes that aimed to slash waste on assembly lines.
It was first applied to software development in 2003 and today helps Agile teams to streamline processes and focus on what matters most. Lean eliminates any unnecessary work and can therefore reduce costs, with its streamlined approach allowing for more functionality to be delivered in fewer hours.
Lean requires tight teamwork and isn’t particularly scalable so is best for specific projects, rather than across the board.
Dynamic Systems Development Method (DSDM)
DSDM focuses on the entirety of the full project lifecycle. This Agile framework was developed as Dynamic System Development Method in 1994, when project managers began seeking a more iterative way of working.
It’s all about clearly defined strategy and goals and a strong focus on early delivery. This philosophy is supported by eight principles that guide teams to maintain focus. DSDM is a very structured approach and is proven to successfully deliver in budget and on time and is also eminently scalable so can be used for all kinds of projects across different sectors.
Eight Principles of Dynamic Systems Development Method
- Focus only on the need of the business
- Deliver on time and ensure continuous delivery
- Collaborate
- Do not compromise on quality
- Build from firm foundations in an incremental way
- Develop iteratively
- Communicate clearly and continuously
- Demonstrate control
Feature-Driven Development (FDD)
FDD is another one of the Agile software development methods commonly used to develop software. Structured around features, FDD emphasises delivering tangible results efficiently and often. Iterative and customer-focused, it encourages status reporting at every level, which helps to efficiently track results and progress.
First used back in 1997 for a bank in Singapore, FDD was refined for use in software development and works well for long-term complex projects that need a cohesive and simple methodology. While it is related to Scrum, it’s more feature focused (rather than delivery focused). This means it favours documentation more than XP and Scrum, with team members typically communicating via documentation rather than daily meetings
Most often used for large-scale projects, FDD relies on five basic activities:
- Development of the overall model
- Building the feature list
- Planning by feature
- Designing by feature
- Building by feature
What Are The Benefits Of Agile Methodologies?
The primary goal for any team using Agile software development methods is to satisfy the client as quickly and efficiently as possible. And since the Agile Manifesto was created more than 20 years ago, teams across many sectors around the world have absorbed the Agile philosophy into their project management frameworks.
Organisations of all kinds are continuing to recognise the value of Agile, although the first to explore its use were software development teams. And we’re now living through yet another age of technological advancement that is demanding ever more from Agile.
As the 17th State of Agile annual report says: “Agile is being asked to do a lot, from managing distributed workforces to incorporating AI, powering VSM, driving business value and enabling digital transformation.”
These are big goals, but it’s clear that Agile brings many benefits to those who choose to adopt its methodologies into their project management. Organisations that fully embrace Agile report significantly higher revenue and profit growth, demonstrating its positive impact on overall business performance.
Agile methodologies focus on flexibility, collaboration, teamwork, communication and swift deliverables. Here’s a rundown of just some of the benefits of Agile.
- Satisfied Customers
Agile methodologies involve customers directly in the process, which enhances communication and the relationship all the way through the project. Stakeholders are able to be involved, give real-time feedback and be confident that the final product will be what they want. All of this goes a long way to improving the user experience and increases customer retention.
- Flexibility And Adaptability
The main theme of Agile methodologies is flexibility and adaptability. Teams using Agile can respond to changes quickly, even at the very last minute and make the necessary changes with minimum disruption. As deliverables are not set in stone, teams can easily adjust as they go.
- Improved Quality
The iterative approach used by Agile means processes are incrementally improved every time an interval is repeated. This helps to create superior quality products.
- Improved Collaboration And Teamwork
Effective collaboration is a hallmark of Agile project management, with face-to-face communication generally prioritised over documented communication as it facilitates clear understanding of issues. Team workers are often placed together in a central location, which further boosts communication and allows a strong team bond to grow. This collaborative environment means better critical thinking and problem solving.
- Predictable Delivery
As Agile teams tend to work in short time periods – often referred to as ‘Sprints,’ it’s easier for project managers to measure progress and assign resources as and when they’re required. This, in turn, makes it easier to predict short-term costs and therefore the whole estimation process.
Are There Any Challenges In Adopting Agile?
There are always challenges associated with changing project management methodologies. For example, some organisations may find it difficult to integrate Agile into existing processes and workflow.
Agile requires a shift in thinking from a traditional hierarchical structure towards collaborative, self-organising teamwork. Depending on the sector and organisation, this can present its own challenges. Sufficient training, coaching and funding must in place to ensure the transition works as it should.
Any organisation or project manager considering embedding the Agile development process should first ascertain the level of buy-in, potential resistance, need for training and support and leadership needs. Taking the time to discuss lightweight development methods, exactly what Agile is, its core principles and overarching ethos will help to make this transition successful, without dropping levels of customer satisfaction.
How To Choose The Right Agile Methodology
When deciding to start a transformation to Agile, the first step is to make the correct choice of Agile framework. This is absolutely key to future success and should take into account a number of factors. Establishing what’s needed directly with the team is a good start, allowing a firm foundation for the changes ahead.
Consider the type of work involved and all potential stakeholders – this is what should form the decision surrounding which framework is best. The choice is important as it will influence the team involved, set the ground for collaboration and team work and will impact the customer.
Use data from historical projects as well as upcoming plans to work out how many tasks relate directly to business objectives, and how many tasks could need rapid responses to ad hoc requests. This will help to ascertain which framework is best.
Other factors to consider are the scope of the project, its scalability needs, the team culture and the complexity of the project. Every Agile framework can be customised to specific needs, which also helps to ensure that the approach remains effective.
Tools To Support Agile Methodologies
There are loads of tools designed to support Agile methodologies and that are essential to ensure disciplined Agile delivery. Here are a few designed to boost Agile values.
- Jira
Jira was designed specifically for software developers who tend to rely on Agile. It’s a Sprint planning tool that refines product backlogs, generates ideas, prioritises ideas, documents tasks and defines tasks in order to achieve successful delivery.
It can also be used to co-ordinate projects that involve more than one team because it can be synchronised across a organisation.
- Confluence
Confluence is a centralised knowledge management platform that works well for Sprint retrospectives, which are one of the most important tools for continuous improvement in an Agile team. Everyone in the team can share what worked and what didn’t and come up with ideas for improvement. Successful teams work well by keeping on top of trends that are wider than a single Sprint and Confluence helps to do this.
- Zoom
Scrum stand-up meetings that can’t take place in the same location due to a dispersed team can benefit from Zoom video hosting. It’s a way of bringing the whole team together every day and its screen sharing ability means the team can capture decisions and discussions.
- Loom
Loom allows project managers to turn information and announcements on the project into videos so the Agile team can watch them in their own time. It helps to speed up the process and ensures no time is lost to interruptions.
Agile methodologies offer a transformative approach to project management, characterised by flexibility, collaboration, and continuous improvement. The software development industry were the first to utilise Agile principles and the first to benefit from accessing scaled Agile framework tools.
Today, most software development projects use Agile practices as standard through which they enhance project outcomes and boost customer satisfaction. Agile practices have since spread to many different sectors, given their flexibility, scalability and adaptability.
Understanding the development and evolution of Agile methodologies is important before embracing the mindset. By following best practices, using the appropriate tools and absorbing its core values, Agile methodologies can transform the way you work.
What Is Agile Project Management?
Agile project management is an iterative approach that emphasises flexibility, collaboration, and continuous improvement in managing projects, particularly in software development. Agile methodologies overcome certain limitations linked with traditional methods, such as Waterfall. This methodology enables teams to adapt quickly to changes and deliver value more effectively.
What Are The Core Values Of Agile Methodologies?
The core values of Agile methodologies include prioritising individuals and interactions, delivering working software, fostering customer collaboration, and being responsive to change. These values emphasise flexibility and collaboration in software development.
How Do Agile Methodologies Improve Collaboration?
Agile methodologies enhance collaboration by emphasising face-to-face communication and team co-location, which fosters emotional intelligence and creative problem-solving. This approach creates a supportive environment that ultimately leads to more effective teamwork.
What Are Some Common Challenges In Adopting Agile Methodologies?
Common challenges in adopting Agile include integrating it with existing processes and cultures, insufficient support from sponsors, and difficulties transitioning from traditional methodologies. These obstacles can hinder successful implementation if not addressed effectively.
Can Agile Methodologies Be Applied Beyond Software Development?
Agile methodologies can absolutely be applied beyond software development. They have proven effective in fields as disparate as household management to financial services and marketing. The flexibility and adaptability of Agile methodologies mean that productivity and customer/client satisfaction can be enhanced.
About George Rist
George Rist is a Monmouth-based Management Consultant, dedicated to helping organisations achieve transformative change through strategic, sustainable and measurable solutions. With expertise in digital transformation, project management, and operational excellence, he is passionate about making a positive impact across industries.