What is Agile methodology?
Agile methodology breaks the developmental process into iterative steps and encourages flexibility, testing, and change throughout the life cycle of a project.
As a project manager, you’re aware that your company needs to keep up with a constantly changing landscape, and traditional methods of project management aren’t always enough. Many companies stay ahead by using leaner, faster, and more experimental ways of driving production.
Enter: the Agile methodology.
There is no one definition of agile methodology. Rather, Agile methodology is a mindset or way of approaching a project. Instead of planning and moving towards a delivery or launch date, the Agile methodology breaks the developmental process into iterative steps, allowing for flexibility, testing, and change throughout the lifecycle of the project.
Learn more about what Agile methodology is and how you can apply these principles on your team.
What is Agile methodology?
Agile methodology rejects sequential phases and relies on simultaneous, incremental work across various departments. Teams complete work in sprints, which are typically broken out into two-week chunks of time. Various checkpoints throughout the project allow the team to change direction as needed. By continually taking the temperature of the project throughout the process, you can deliver a better final product.
Why choose Agile as opposed to the traditional Waterfall method or other management styles?
As Scott Sehlhorst, product management and strategy consultant, explains:
"There are three contexts in which being agile provide significant value—and key benefits in each context. Team members get feedback on their work and an understanding of how what they created had an impact, providing intrinsic benefit as individuals. Engineering organizations collectively become not only more efficient in their operations but also more effective in their delivery of value. Companies as a whole become more adaptive to changes in their markets and therefore more competitive—leveraging both the increased effectiveness and their newfound responsiveness."
How does Agile work?
Putting Agile methodology into action is very simple, and you may already use a form of this method, even if you don’t realize it. Everyone is familiar with making to-do lists, prioritizing items, and then putting their nose to the grindstone to cross things off. The Agile method is just a more detailed and organized to-do list.
Step One: Make a list of features or must-have items. This step requires sitting down with the client and/or major stakeholders to identify the features of the project and an order of priority. In the example of software development, many groups use the MoSCoW rule to decide what items and features to include in the first phase of development:
- Must have
- Should have
- Could have
- Won’t have time now, but later
Step Two: Estimate how long each feature or item will take to complete. During this step, the team also sets priorities so that the most important items are completed first.
Step Three: Set a schedule to determine which features to work on first, when products can be released for testing, and the timeline for incorporating feedback into the iterations. As work continues, the team adjusts the plan and decides if the pace and cadence of the project is comfortable for all participants or needs to be increased or decreased.
Main values of Agile
While there are many types of Agile methodology frameworks, a few mainstay principles exist throughout all types. First of all, there are 12 principles from the Agile Manifesto:
- Customer satisfaction through early and continuous software delivery
- Accommodate changing requirements throughout the development process
- Frequent delivery of working software
- Collaboration between the business stakeholders and developers throughout the project
- Support, trust, and motivate the people involved
- Enable face-to-face interactions
- Working software is the primary measure of progress
- Agile processes to support a consistent development pace
- Attention to technical detail and design enhances agility
- Self-organizing teams encourage great architectures, requirements, and designs
- Regular reflections on how to become more effective
These 12 principles are informed by four main values in Agile.
Individuals and interactions over processes and tools
The various implementations of the Agile method all rely on the ability of small teams to work independently and together to complete a project. In this setting, the team values face-to-face interactions over more passive means of communication, and individual participants are empowered to make decisions throughout the process instead of relying on top-down instruction or guidance.
Working software over comprehensive documentation
All the research, fact-finding missions, and studies in the world can’t compete with an actual working product. By focusing on developing and releasing multiple iterations of a product, and continuously testing those iterations, the team is able to respond to issues in real time and make corrections that ultimately result in a more refined final version.
Responding to change over following a plan
Nearly every project starts with a scope of work: an agreed-upon set of deliverables. The scope of work provides context and a reference point throughout the project, but it shouldn’t limit the conversation between stakeholders. An open dialogue and willingness to adjust as needed throughout the development process is the hallmark of Agile methodology and leads to a better finished product.
Customer collaboration over contract negotiation
As feedback and challenges arise, the Agile methodology gives you the ability to adjust course. Instead of waiting until after a launch date to address bugs, teams are constantly releasing versions of their product, testing with real users, and fixing issues as they are identified.
Types of Agile methods
There are many types of Agile frameworks to choose from for development and project management. Here is a high-level view of the various types of frameworks using Agile methodology.
The Scrum methodology relies heavily on constant feedback, self-management, small teams, and work broken out into sprints, or two-week periods of focused work.
The sprint starts with a planning meeting to decide what tasks the team will accomplish during the two weeks. Teams typically hold a quick daily meeting to determine whether their goals are on track, and then they hold a retrospective meeting after the sprint to see what they accomplished and what they can improve next time.
Originally introduced as a Japanese manufacturing method to communicate project directives, the Kanban method is a strategy that shows work items in context of each other so the team can see which items take priority and can avoid committing to too many tasks at once.
Extreme programming (XP) method
Known as XP method, this Agile framework stresses customer satisfaction—you deliver features to customers as they need them instead of delivering all updates on some date far out in the future. To support this goal, XP method also emphasizes:
- Constant communication with customers and team members
- Frequent releases in short cycles
- Checkpoints for customer testing and feedback
- Simple software design
Crystal is a scalable Agile method based on team size and project priorities. The basic Crystal method flow includes three main phases, each with its own smaller tasks:
- Chartering: Form a development team, determine how feasible the project is, and solidify your development method.
- Cyclic delivery: At this stage, you would build updates and release plan, integrate test iterations, and deliver the product to users.
- Wrap up: Deploy, perform a post-development review, and reflect.
Dynamic Software Development Method (DSDM)
DSDM is user driven and requires active participation throughout, with frequent delivery of product and decision-making power given to the teams. The DSDM method consists of these phases:
- Feasibility study
- Business study
- Functional model iteration
- Design and build iteration
Feature Driven Development Method (FDD)
The FDD method identifies short, specific phases of work and is focused on building and designing features. The FDD method is broken out into steps:
- Domain object modeling
- Development by feature
- Component/class ownership
- Feature teams
- Configuration management
- Regular builds
- Visibility of progress and results
Learn the differences between Agile, Waterfall, Kanban, and Scrum methodologies. Template examples included.
Adopting an Agile framework in operations or any of your project planning can make a world of difference in the efficiency and flexibility of your team. When you embrace chance, incorporate customer feedback throughout your project life cycle, and empower individual contributors to act, the result is a nimble set of processes that will ultimately drive innovation.
Learn more about each stage of the Agile development life cycle.