In the world of business, leaders must maximize efficiency, eliminate waste, even out roadblocks, and keep production flowing in accordance with demand.
Once a business venture takes flight, however, a lot of different people get involved, each with their own knowledge, talent, and ways of getting things accomplished. In order to ensure flow and consistency from party to party, different methods must be in a place that keep production moving along.
The following article discusses and compares some of the most widespread methods and frameworks used in the world of development and manufacturing in the 21st century. Read along to explore the different Agile methodologies and discover which one is right for your project.
- Extreme Programming (XP)
- Feature-Driven Development
- Crystal Methodology
- Lean (Is it Agile?)
Let’s clarify this, Agile is not a methodology. It is a set of values and principles recorded in a namesake manifesto, which advanced ideas that were developed to counter the more convoluted methods that pervaded the software development world despite being notoriously inefficient and counterproductive. Promoting similar values to Lean, Agile methods and techniques mostly focus on the following key principles:
- Satisfying customers is of foremost importance
- Develop projects with inspired contributors
- Interactions are best when done in person
- Software that works is a measure of progress
- Reflect and adapt on an ongoing basis
Additionally, the four core values of Agile are as follows:
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
So every method, framework, or behavior that follows these values can be named Agile. Regardless of which Agile method/methodology a team adopts, the benefits cannot be fully realized without the commitment of everyone involved. So, here are some examples of the most popular Agile methodologies.
Scrum is a highly prescriptive Agile methodology/framework that consists of a more complex set of development principles. They focus on the management aspects of projects. Under this strict Agile methodology, the owner of a given product will collaborate with information technology teams and businesses to collectively isolate and harness the functions of a system in what is known as a product backlog. Assorted team members will then distribute a software program in increments — this is called a sprint, and the typical duration ranges from two weeks to one month. Upon delivery, an analysis is made of the product backlog, and priorities are shifted if necessary with each repetition of the cycle.
Scrum benefits and disadvantages
Implementing SCRUM offers a mix of benefits and disadvantages. On one hand, this Agile framework enables management teams to spot problems at the development stage — modern Scrum tools also promote transparency among colleagues. However, Scrum can also result in slapdash programming (to complete the time-box of the sprint) and leave scant records for handover. As such, the method is most appropriate for information technology businesses that focus on products, features, and delivery in partnership with management teams. Good practice from SCRUM is the daily stand-up meetings – a timeboxed daily event where all team members discuss work progress and possible obstacles.
Scrum is one of the Agile frameworks that revolutionized the software development industry. It became popular because of its fast iterations and active collaboration between teams, customers, and stakeholders. For the sake of better collaboration, there are predefined team roles:
- Product Owner. The PO is responsible for understanding the business and market requirements. After this, she/he needs to prioritize work, build a product backlog and make sure that everyone understands the work items.
- Scrum Master. The SM educates the team, the product owner, and the business on Scrum processes. It’s her/his responsibility to manage the workflow of the team and to schedule all resources needed for the completion of each task.
- Development Team. The team usually consists of people with different skills, such as developers, automation engineers, and testers. All team members have to support each other to be successful. Most efficient scrum teams are usually co-located and with a size of 5 to 8 members.
2. Extreme Programming (XP)
One of the foremost Agile methodologies/frameworks is called Extreme Programming (XP), which involves a high degree of participation between two parties in the software exchange: customers and developers. The former inspires further development by emphasizing the most useful features of a given software product through testimonials. The developers, in turn, base each successive set of software upgrades on this feedback while continuing to test new innovations every few weeks.
XP benefits and disadvantages
XP has its share of pros and cons. On the upside, this Agile methodology involves a high level of collaboration and a minimum of up-front documentation. It’s an efficient and persistent delivery model. However, the methodology also requires a great level of discipline, as well as plenty of involvement from people beyond the world of information technology. Furthermore, in order for the best results, advanced XP proficiency is vital on the part of every team member.
Essentially, XP works best among small teams in a software setting comprised of experienced developers with a proven track record in communication and management.
3. Feature-Driven Development (FDD)
Centered on the developer, the FDD Agile methodology involves turning models into builds at fortnightly iterations. In contrast to XP and SCRUM, FDD centers on strict operations that involve the walkthrough of domains, as well as design, code, and inspection.
The model is then built up along with a list of features. For every feature, a development and design plan are implemented. Following a series of inspections, a unit test is performed to see whether it’s ready for the build stage.
FDD benefits and disadvantages
FDD advocates a strict organization of the building process, which results in viable software that can be produced on a consistent basis. On the plus side, FDD facilitates top-quality documentation and design/code assessment. However, this Agile method demands an advanced level of design skill and planning foresight — early imperfections can lead to prolonged corrections. FDD is best suited for big business developers in the banking and financial sectors, where process maturity and quality control are obligatory.
You may be wondering — what is the best Agile project management methodology: XP, SCRUM, or FDD? People who’ve witnessed the most applications of each will say that none triumphs overall because different Agile methods suit different environments.
Any selection that you might make should ultimately depend on the demands and processes that factor into your business culture. While a certain Agile methodology might work, it’s hard to fathom the changes that can occur in the world of information technology. However, the adaption of one of the methods of the Agile approach to project management can generate new levels of flexibility and productivity among development teams.
4. Crystal Methodology
The Crystal methodology is actually a family of smaller agile methodologies such as Crystal clear, Crystal yellow, Crystal red and etc. This set of different Agile methodologies is introduced by Alistair Cockburn who actually participated in writing the Agile manifesto for software development.
There are 3 main factors that will determine the characteristics of different projects: team size, system criticality, and project priorities. Projects are categorized depending on the system criticality as there are four levels of criticality: Comfort (C), Discretionary Money (D), Essential Money (E), and Life (L).
The maximum number of people that need to be involved in a project depends on the size of the project. Bigger projects mean more people. The number of team roles also depends on the project’s size. If the project is huge there are many different roles and vice versa. Additionally, these Agile methodologies are focused on:
Like most of the other techniques and methodologies for implementing Agile, Crystal preaches early delivery of working software, frequency, less bureaucracy, and high involvement of users. The Crystal family suggests that each project is unique and requires the application of different processes, practices, and policies. This is why it is perceived as one of the most lightweight approaches to Agile project management.
5. Kanban Method (Agile or Lean)
Kanban is a workflow method developed by Toyota engineer Taiichi Ohno for Lean production. Initially designed as a system for scheduling, Kanban facilitates production and inventory control. Acclaimed for its ability to yield vast quantities of product, Kanban is one of the foremost methodologies through which work teams can accomplish just-in-time (JIT) production.
The roots of Kanban date back to the late 1940s, when Toyota was brainstorming ways to mimic the shelf-stocking methodologies of supermarkets in a factory setting. When a customer goes to a supply store, for instance, that customer will acquire the items that are needed.
Today, we have adapted Kanban as a complete flow management solution designed to help us visualize our work, maximize efficiency, and be agile.
In contrast to other frameworks such as XP and Scrum, Kanban focuses on continuous flow rather than iterations. This means that teams are encouraged to ship product components as soon as they are ready which makes Kanban a very tailor-made approach.
The best way to visualize our work is by creating and using a Kanban board. The simplest one may consist of three columns – “Requested”, “In Progress,” and “Done”. The board serves as a real-time information repository, highlighting bottlenecks within the system and anything else which might get in the way of smooth working practices.
Kanban is focused on ensuring stable flow efficiency and getting things done continuously instead of starting new work all the time. The foundations of the method can be broken down into two sets of principles and six practices.
Kanban Change Management and Service Delivery Principles
|Change Management Principles||Service Delivery Principles|
|Start With What You Do Now||Focus on Customer’s Needs and Expectations|
|Agree to Pursue Incremental, Evolutionary Change||Manage the Work, Not the Workers|
|Encourage Acts of Leadership at All Levels||Regularly Review the Network of Services|
The 6 Practices of Kanban:
- Visualize the Workflow;
- Limit Work in Progress;
- Manage Flow;
- Make Process Policies Explicit;
- Implement Feedback Loops;
- Improve Collaboratively (using models & the scientific method).
Visualizing workflow, setting WIP limits, managing flow, ensuring explicit policies and collaborative improvement will take your process far beyond you could think. Remember to organize regular feedback loops/cadences and all these pieces together will reveal the true power of Kanban.
If you want to learn in-depth how to use and implement these principles and practices, read our detailed guide on what is Kanban.
6. Lean (Is it Agile?)
People often mistake Agile with Lean and vice versa. Both are very similar, but not the same thing.
Lean is short for Lean Manufacturing, which is a set of managerial principles that the Japanese developed in the middle of 20th century in order to ensure value and efficiency in production, while the Agile Manifesto was created in 2001. The original five principles of Lean management are as follows:
- Identify Value
- Value Stream Mapping
- Create Continuous Workflow
- Create a Pull System
- Continuous Improvement
The premise was later assimilated by Agile software developers Mary and Tom Poppendieck, to create what is today known as Lean Software Development. The concept was broken down into the following principles:
- Eliminate waste
- Build quality in
- Create knowledge
- Defer commitment
- Deliver fast
- Respect for people
- Optimize the whole
According to Tom Poppendieck, the Agile software has always focused on delivering value, whatever that is. However, it hasn’t thought much at all about what it takes to deliver value in terms of understanding capacity, in terms of developing capabilities, in terms of invoking the passion. All things that the Lean concept covers.
Lean thinking encourages businesses to dispense with all practices that hinder progress and instead maximize the strategies that work best for a given plan.
In order to eradicate waste, a company cuts out useless documents, unproductive tasks, and time-consuming meetings that don’t forward the productivity of an initiative. Similarly, Lean entails focusing on things that need to be done here and now and discourages preoccupations with anything that might be useful at a future point in time.
Another thing that Lean also stresses on is the manner by which teams collectively function, which is referred to in Lean parlance as “the system.” According to this, respect for workers is paramount, because each individual within a team of workers will best know his or her role within that team. Therefore, it’s most productive to trust each worker’s performance, while at the same time ensuring that the necessary agile tools are provided to make it all possible.
Scrum vs. Kanban
A lot of people see significant value in the concepts advanced by Scrum, such as team organization and ongoing feedback. However, people in the know are now switching over to Kanban, a method that many say takes agility to a whole new realm and that truly harnesses the insights gained from Lean.
First, we need to point out that Scrum is an Agile software development methodology. Or at least it is widely used by developers. In all fairness, Scrum still has plenty of benefits. It offers a direct outline of what must be done amongst a team, it keeps things directed on an end goal and it helps teams decide the most efficient ways for getting things accomplished. Scrum even offers a namesake master, who ensures that teams have the necessary tools to carry out a project and eliminate all possible roadblocks.
Furthermore, one of the most loved features of Scrum lies within the feedback loops, which team members can use to ensure that things stay on track. Overall, the method offers an Agile framework that helps users pinpoint where software has gone wrong so they can gain new knowledge and adjust as needed.
One complaint that is oft-raised about Scrum is its strictly defined sprints which sometimes don’t allow the flexibility to deliver continuously. In other words, those predefined sprints, which should not be changed once “in-flight”, can cause teams to drag their feet when responding to the needs of customers.
The set lengths of the Scrum sprints were designed to provide incremental delivery and offer consistency however they could turn out to be less useful in a world where technological innovations move at a faster rate than before. As innovations hit the market more frequently, people’s preferences are evolving with greater speed.
See also Kanban vs Scrum Infographic
So, in order to remain on top of the market, developers must stay on top of this accelerated pace. Developers only stand to lose when the length of a sprint prevents tasks from ending in a timely manner.
Kanban tackles the problems raised by Scrum with a different approach to the work in an Agile environment. Instead of operating with time-boxed sprints, Kanban restricts the number of things that a collective can focus on during any particular time span.
Once a feature has been finished, Kanban offers two possibilities:
- The feature is ready to be green-lighted for mass assembly (if those responsible opt to proceed).
- The team is able to move to the task, feature, or project of second-most importance, which might be discovered that very same day.
Kanban: The Visual Appeal
On a standard Kanban board, there will be at least three columns with the following labels: To Do, Doing, and Done. Under each column is a limited set of colored notes that signify the tasks assigned to the given column. As studies have noted, 80 percent of information is gathered visually, which makes the Kanban board a powerful tool for noticing and remembering the things that must be done.
The columns can also be given alternate names if doing so better suits the team — the number of columns can even be extended beyond three, though it’s generally not advised to add too many because that could bog down the overall process. Although there are Kanban board examples for different occasions, the main objective is to slice the workload into several different, strictly defined stages.
The key benefits of the method are as follows:
- Kanban helps teams stipulate varying task limits for different stages of a project.
- Kanban offers an image-based timetable for the productivity of a team, which helps everyone involved collectively optimize and steer clear of any roadblocks that might appear.
The outcome of Kanban is twofold: You get more response from the marketplace, and you’re able to adjust to the demands of that input with greater agility.
While Scrum does contain vital benefits — like ongoing feedback and the ability for teams to organize independently — these benefits are effectively usurped by the arrangement features of Kanban. Kanban marks the latest stage in Agile evolution — it’s a methodology that gathers the best practices from its predecessors for the challenges of tomorrow.
We hope that we brought clarity with this article, so now you can pick the method that best suits your work environment.