Robust ThemeDec 09, 2019 2020-04-08 7:40
Agile 101: A Beginner Friendly Guide Agile Project Management
By Chris Daily
You've heard the term "Agile," but may be wondering exactly what it means. Maybe you are curious about how it can benefit you, your team, and your business.
You're not alone. Many people use the term Agile and Scrum interchangeably. Agile management and development are becoming more popular. But, there are still many individuals and organizations that don't know enough to benefit.
We're here to help.
We'll touch on the history behind the Agile Manifesto and cover its most basic principles. We'll also provide tips on how to best implement the agile method in your organization.
By the end of this article, you should have a clear answer to the question of, "What is agile development?" and an understanding of the basic agile practices.
The Origins of Agile
Some trace agile methodologies back to the creation of the scientific method in 1620. Others believe the framework took shape in the 1950s when Toyota developed their famous production system. Still, others look to the 1980s, when other manufacturers like Honda and Canon also adopted new methods of product development.
Agile as we know it today was born in 2001 when 17 developers met in Utah. The purpose of their meeting was to share their ideas on how to help development teams better adapt and succeed. They saw the need for improvement in the fast-paced technology and software development space. Existing project management approaches did not work in many cases. Project management, as a practice and a discipline, didn't meet the needs of development teams.
Scrum has become the dominant member of what has become a large Agile family of tools processes, and frameworks which we'll cover later in this article. While primarily focused on agile software development, Scrum can be leveraged by other parts of the organization. For now, let's focus on the main values and principles of the Agile Manifesto.
Agile Values and Principles
The software development professionals who met in Snowbird, Utah in 2001 had all been disgruntled with the way software development was being done in the past, and were looking for something different. All of them were experimenting with lightweight processes, tools, and frameworks They sought to focus on adaptiveness and rapid response to change. The group established values and principles focused on optimal efficiency in a fast-paced environment.
The agile values and agile principles became known as the Agile Manifesto. You can check out the Agile Manifesto by clicking here. If you feel so inclined, you can sign it as well.
The agile values and agile principles were created in response to the years and years of using traditional project management methods. The traditional project management method is more linear and isn't iterative. This method offers limited flexibility and makes it difficult for teams to respond to change.
The Agile Manifesto's four values focus on how team members interact with each other, with their organization, and with the product. The four values are:
- Individuals and relationships over processes and tools.
- Working software over comprehensive documentation.
- Collaboration over contract negotiation.
- Response to change over following a set plan.
The key principles focus on welcoming change requirements to please the customers. All 12 key agile principles support this goal.
Team members must deliver working software for constant evaluation and feedback from stakeholders. The business stakeholders and the developers must work together on a regular basis. The team should reflect on their work at regular intervals.
Agile's focus on constant development and iteration manifested into something called the scrum method. Scrum is a project management framework designed to help ensure transparency and responsiveness.
By creating a vision, values, and principles, the Agile Manifesto changed the way of developing software and managing software development projects.
What is Agile?
The concept of agile is confusing to many people. Agile is best thought of as a mindset that focuses on adaptability, flexibility, and value. By embracing the values and principles outlined in the agile manifesto, organizations and their people focus on the individuals and the outputs from their work, as opposed to the process. Often, when asked, people will confuse the term agile with scrum. Yet scrum is one member of a very large agile family.
The Scrum Framework and Its Role in Agile
Earlier in this article, we mentioned that Scrum is the dominant member of the Agile family. "Scrum" is a rugby term for when the team tries to go the entire distance as a unit as they pass the ball back and forth. In agile, Scrum refers to a specific project management framework. The Scrum framework is based on iterative agile software development and effective collaboration. Most organizations that practice agile also use Scrum and extreme programming (xp). Scrum has become so integral to agile, that many agile practitioners choose to get Scrum certifications. The most popular certifications are Scrum Master and Product Owner.
Agile teams that use the Scrum framework as part of their software development and delivery process focus on Empiricism which consists of transparency, inspection, and adaptation. [Definition of Empricism] The goal is for the software development team to produce a product increment at the end of each work period, called a Sprint. Scrum embraces the concept of a time box, which is the maximum amount of time that can be utilized. In Scrum, the timebox for a Sprint can vary from two to four weeks. Most agile teams use two weeks duration for each sprint. At the start of the Sprint, the Scrum Team gets together to conduct a Sprint Planning meeting to plan what it's going to do for the duration of the Sprint. The Scrum Team decides what it thinks it can get done during the Sprint, and then figures out it's plan to complete the work. The team incorporates what it thinks it can get done and the tasks to develop a product increment into the Sprint Backlog.
During the Sprint, the Development Team conducts daily meetings referred to as "Daily Scrums." These short meetings allow team members to give updates on their progress and call attention to any roadblocks or other issues. Based on the work completed and the work remaining the team can adjust work plans, which are contained in the Sprint Backlog. At the end of the Sprint, the team conducts a Sprint Review and a Sprint Retrospective. The stakeholders can review the work at the end of each sprint. They can request extra adaptations or approve the work and move the project forward. As an iterative approach, the Scrum cycle starts again.
A key artifact of Scrum is the Product Backlog. The Product Backlog is a to-do lists of tasks tied to a project's success. In Scrum, the backlog is always ordered by the product owner in priority order. Team members and stakeholders don't need to argue over whose task comes first. Nor do they need to look any further than the Product Owner for who is responsible.
Backlog management is such a vital part of Scrum that it is often the most revered aspect of the agile method. In a Forbes article on the importance of backlogs, Atlassian's Principal Solutions Engineer talks about the benefits. He is quoted as saying, "Where there was once competing priorities from multiple masters, there is now a single of priorities in the backlog."
The concept of an ordered backlog is prevalent throughout a number of agile practices, methodologies, and tools. Some other popular practices include test-driven development, Kanban, continuous integration, user stories, user story mapping, Dynamic Systems Development Method, feature driven development, extreme programming (XP) and other agile methodologies. While we could write thousands of pages if we tried to cover all the members of the agile family, for the purpose of this overview we'll include another one of the popular agile methods called Kanban.
The Kanban Methodology
Kanban is also an agile development method used to carry out projects according to the agile methodology. While the scrum method is based largely on timed work periods (sprints), Kanban doesn't use specific time boxes.
An agile team that use Kanban organizes work into management chunks and then uses a Kanban board to visualize the progression of that work. The purpose of Kanban is to better organize workflow for improved efficiency. Areas where work gets stuck are easily visible on the Kanban board. The Kanban method is iterative. But, unlike scrum, the Kanban workflow is regulated early to keep the progress steady and efficient throughout.
Whether an agile team uses the Kanban, the scrum framework, or another agile method, agile requires certain deliverables, roles, and processes. While most of these do better align with scrum, a Kanban team can easily follow these standards as well.
What Makes Agile Work
There are a few things that can contribute to the success of an organization who adopts an agile mindset. The 1st is an understanding that agile is a mindset and not a process is critical. Each organization, individual, and situation are unique, often requiring a different approach to solve a problem or a situation. To be an agilist, being a lifelong learner is critical. Technology and business continue to evolve. Different approaches and agile methods to solve those problems evolve as a reaction creating a unique solution.
The 2nd contributor to the success of a shift to the agile mindset are the concepts of continuous improvement and feedback loops. With its roots reaching back into the early days of Toyota and Honda, continuous improvement is a tenant to most agile frameworks. By continuously improving, organizations will eliminate impediments and bad practices over time, which has the effect of reducing waste, improving quality, and increasing efficiencies. Regardless of where an organization starts its agile journey, embracing and sustaining a continuous improvement approach will enable an organization to learn what works, and to eliminate what doesn't work over time.
Using Your Agile 101 Knowledge to Implement the Framework at Your Organization
Are you ready to implement the agile methodology at your organization? Do you want to make the mindset shift but feel skeptical about whether it can work for your team?
Agile's origins are in manufacturing, with it being successfully applied to software development as well. Still, many other industries have come to benefit from the philosophy, too. Organizations such as Bosch, USAA, and Saab, Sweden's defense firm, have all adopted an agile approach to business.
With the right guidance, you can successfully introduce agile software development methods to your company, too. Many organizations benefit from working with agile consulting and management firms. These firms specialize in helping organizations put in place the agile framework and adopt the agile culture.
We hope this Agile 101 was helpful. Want to learn more about Agile? Check out our On-demand Agile Fundamentals course.
Explore our blog for additional guidance on all things agile. Are you ready to implement the agile methodology at your organization? Do you like the philosophy and benefits it can offer but feel skeptical about whether it can work for your team?
Learn more about us at AgileMeridian.com.