Over the past two decades, Agile has transformed the way products are conceptualized, developed, and released. As opposed to a traditional approach, Agile’s innovative methods and practices are proven to greatly enhance chances of success in projects across diverse industries. Agile frameworks follow new values, principles, and practices, offering a revolutionary alternative to the top-down command-and-control-style of traditional project management processes such as waterfall.
While Agile is essentially a framework of principles to follow, its basic premise is that there is no ‘one size fits all’ formula. Ultimately, every business and each scenario is unique, and the benefits of Agile can be maximized only when it is customized to fit your organizational needs.
In this blog, we’ll introduce you to the three most popular Agile frameworks: Scrum, Crystal and XP.
Traditional project management methodologies were found to be inherently rigid and complex, often getting caught up in processes, rules and documentation and losing sight of the big picture: which was to meet expectations and ensure customer delight. As opposed to these legacy ways of working, Agile project management philosophy was introduced in 2001 as a lightweight, simple and flexible alternative to hierarchical waterfall methods.
‘Agile is the ability to create and respond to change. It is a way of dealing with, and ultimately succeeding in, an uncertain and turbulent environment.’ – Agile Alliance
As conceptualized by the founders of Agile, this approach emphasizes adaptiveness and the ability to quickly respond to change at its core. As the project unfolds, Agile teams' factor in changing requirements and can easily course-correct at every stage.
Agile cycles are smaller and allow for frequent inspection and adaptation, with customers giving their feedback at regular intervals. Developers will take this feedback to heart and continually improve the product, fine-tuning it in line with customer expectations and thus enhancing quality and maximizing value.
There are a number of different frameworks that come under the Agile umbrella, with Scrum, Crystal, Kanban and Extreme Programming among the most popular ones in use. If you’re planning to take the Agile route, you’ll first need to have a confident understanding of these Agile frameworks, gauge which is the best fit for your organization, and learn to apply the practices that are relevant to your business correctly.
The underlying practices that all agile frameworks follow include
Let’s take a look at the three most popular frameworks: Scrum, Extreme Programming (XP) and Crystal.
Scrum is a process framework used to manage product development and other knowledge work. – Agile Alliance
The most popular Agile framework that is closely followed by 66% of Agile teams (as per the 15th State of Agile Report ), Scrum is a team-centric framework with its focus on projects led by self-managing teams. This framework lays out clearly defined team roles and responsibilities to implement an adaptive and collaborative style of Agile project management.
Scrum is based on 5 Scrum Values that guide all practices and processes. They are:
Scrum defines three leading roles, which are: -
The Product Owner is the voice of the customer, and acts as the bridge between the stakeholders and the team. The Product Owner defines the product features, adds them to the backlog, and periodically re-sets the priorities during backlog grooming sessions.
The core responsibilities of a Product Owner include the following: -
Developers (Scrum Team)
A Scrum Team is a group of developers who work together in a multidisciplinary and cross-functional manner to deliver the requested products. They work on the prioritized items from the Product Backlog that can be delivered & committed to, in short cycles called sprints. The Scrum Team is responsible for the work done toward delivering the product to the customer. They have all the competencies needed to accomplish the tasks without interference from, or dependence on, non-team members.
The core responsibilities of the Developers include the following: -
A Scrum Master helps the team perform to their highest potential. The Scrum Master protects the team from both internal and external distractions, removes impediments to progress and facilitates Scrum events.
The core responsibilities of a Scrum Master include the following: -
The Scrum Guide defines three artifacts to help manage the work. They are: -
A core artifact, the product backlog is an ordered list of every task or feature that is required to be completed in a product. It is a dynamic document and keeps evolving as new requirements are added or priorities are changed.
A subset of the product backlog, the sprint backlog is a list of everything that the team has agreed to complete in each sprint. This is a document that is created at the start of the sprint and is frozen till the end of the sprint.
In case the developers feel that an item on the sprint backlog cannot be completed, they must negotiate it with the Product Owner. Currently, the Scrum Master works with the development team and Product Owner to arrive at ways to create a smaller increment of the item, instead of dropping it altogether.
Potentially Releasable Product Increment
At the end of every sprint, which is typically two weeks to a month in duration, the team must complete a product increment that meets the Definition of Done and is potentially releasable. This increment is fully tested and approved for release.
There are four Events or Ceremonies that are defined in Scrum. These are: -
The sprint planning event happens at the start of each sprint. The entire Scrum team puts their heads together and collaborates on the high-priority work to be completed during the sprint. These items will comprise the sprint backlog. They will then define and freeze the sprint goal.
A 15 minute timeboxed duration is set aside each day for the Daily Scrum, when the development team to discuss progress toward the sprint goal. Each person talks about how their own work is going, requests help when needed, and aligns themselves toward the achievement of the sprint goal.
A sprint review happens at the end of the sprint, when the potentially shippable product increment created during the sprint is demoed to the stakeholders and the team. Feedback is solicited, and the product backlog is then adapted and re-prioritized as needed based on this feedback.
The sprint retrospective is the last event and is the time when the team reflects on the process. They discuss what went right during the just-completed sprint, and consider areas for improvement in the next sprint. This event is a critical one that allows for fine-tuning the quality of work, and sets the tone for continuous improvements in process, tools and relationships.
The main advantages of Scrum are listed below:
Extreme Programming (XP) is an agile software development framework that aims to produce higher quality software, and higher quality of life for the development team. - Agile Alliance
XP or Extreme Programming is a very popular agile framework, mostly used in the software development sector, and works well for projects where continuous delivery of value is a high priority.
Extreme Programming is based on five Values that guide all practices and processes. They are:
There are some specific roles and responsibilities that are defined in XP. They are:-
The customers drive the XP project, and collaborate with the project manager on all important business decisions, including features, budget and priorities. In case the customers are not available, a senior programmer can take on this role.
The developers do the actual work on the tasks set by the customer. Each developer is usually armed with one unique set of skills and they all contribute to move the project forward. The developers can be further divided into programmers and testers.
Trackers are those who monitor and track metrics such as velocity, burndown charts and so on, and identify where teams can improve themselves.
The coaches support the team, ensuring that XP practices are correctly implemented and fixing any problems that may arise along the way.
There are a few phases that make up an XP project. Broadly speaking, these phases are as follows:
The main advantages of XP are listed below:
Crystal is an agile framework focusing on individuals and their interactions, as opposed to processes and tools.- ProductPlan
Crystal is one of the most lightweight approaches to software creation, that focuses on smaller project teams, and values their ability to make key decisions. There is minimal documentation and less micro-management, with each person owning their part in the creation of the product.
Crystal, in fact, comprises a family of methodologies such as Clear, Crystal Yellow, Crystal Orange and so on, and follows the premise that the method that is most suitable to the project at hand must be used. The different methods used are based on the size of the teams involved in the project.
The Crystal method lays out a number of essential properties, which are self-explanatory: -
The understanding is that teams will continually streamline processes and increase their own efficiency and will tailor the methods and strategies according to the needs of the project.
Crystal lays deep emphasis on people and their interactions, the community, the skills and talents of the team, and the clear communication between all team members and stakeholders.
Based on the project needs, size and complexity, there could be many roles on a Crystal project. These include: -
There are a number of practices that are followed and applied during the process of software development. They include the following: -
The main advantages of Crystal are listed below: -
|Usage||Can be applied to any project that will work well with an iterative and incremental product development cycle||Used in software programming projects||Can be applied to any project, but is usually used in software|
|Tailoring||Cannot be tailored and all practices must be followed||Can be tailored to suit the needs of the project||Can be tailored based on the type of project being implemented|
|Iterations||2 to 4 weeks in length||1 to 2 weeks in length||1 week to 4 months|
|Changes||Once an iteration is completed, changes cannot easily be made||Changes are allowed during and even after the sprint is ordered||Once the process and budget are finalized, changes are difficult|
|Task prioritization||Prioritization can be decided on by the team based on customer requirements||The customer decides the priority of tasks and not the team||Priorities are fixed as per criticality of tasks|
|Engineering practices||No set engineering methods.||Software engineering practices like pair programming, ten-minute build, test first programming etc are emphasized||No set engineering methods. It combines several Agile methodologies.|
|Owner of the product||The Product Owner||The customer||The user|
|Meetings||Scrum meetings are facilitated by the Scrum Master||The customer drives XP meetings||The project manager or coordinator facilitates and coordinates meetings|
More than two decades after its inception, companies that have adopted Agile continue to lead the pack. In a world that is increasingly volatile and uncertain, Agile helps to ensure consistent quality and faster releases, and Agile practices are more relevant today than ever before.
In the end, learning how to be flexible and tailoring Agile as needed will take you much further than simply following a script. As each requirement arises, you should consider which Agile framework can be best deployed to fast-track the project and help put your company ahead of others in the market. Learn to think out of the box, innovate and disrupt, and leverage the opportunities in the industry to accelerate growth.