Learn everything you need to know about Agile Project Management: its cornerstones, pros and cons, and how to implement it.
- What is Agile Project Management?
- The Agile Manifesto
- Pros and Cons to Agile Project Management
- Scrum: what it is and how it works
- The Scrum Development Process
- How to implement Agile Project Management
Over the last few decades, we’ve witnessed how the world has changed and adapted to new technologies. Automation and IT development have gradually become a part of this new world. They’ve allowed us to be more productive by assigning tasks to computers and machines that do it for us. This transition has affected our production processes in many ways, making many of them obsolete – too inefficient.
One of these industries is software development. In the 90s, the software industry realized that traditional management didn’t optimize their productivity nor help them meet customer needs. This drove them to reimagine how project management should be conducted. They created what we know today as Agile Project Management: a value-driven methodology meant to increase performance.
What is Agile Project Management?
Agile project management is an iterative and collaborative approach to managing projects. It focuses on continuously releasing new iterations throughout its development process. During the project’s life cycle, developers introduce customer feedback and respond to change.
Agile is a methodology based on continuous short work cycles (called “sprints”). On each sprint, the team tackles the most important issues regarding the project. It allows them to shape the product to the customer’s needs and react to changes during the process. Traditionally, you’d plan every step of the project’s development, making it that much more rigid and unsusceptible to change. Instead, you create a product that you release to the customer every so often. Meanwhile, you modify and test the product, solve issues that appear, and refine it to the client’s needs. This means high flexibility and customer satisfaction.
Agile management promotes velocity and adaptability since you can benefit from adjusting every iteration while maintaining a working product. It also increases collaboration, internal and external communication, fostering the ability to respond to market trends better. Although it started as a software development methodology, its nature makes it especially attractive to activities that need to stay up-to-date in fast-paced markets.
To sum up, we’ll go over the key characteristics and how it solves the flaws of classic standard methods:
- On standard, you’re planning the entire project up-front, which takes huge time and effort. Agile’s driven by development cycles to create iterations of a working product. Each cycle may last 1-4 weeks and each iteration is evaluated regularly to make the decisions necessary for success.
- Classic methods aren’t prone to change. When it happens, it’s harder to adapt and still be productive. Agile is based on smaller development periods. Each iteration adds value to the product, making it effective and flexible to change.
- Traditionally, the team was a factor of production whose objective was getting their part done on time. Underestimated projects, changes in schedule and resources, are blamed on the team, creating bad group dynamics. Agile promotes collaboration and seeing team members as valuable individuals that work together to achieve common goals.
- Standard methods like “Waterfall” follow a series of planned steps in an opaque process. The customer is only involved at the beginning and the end of the project. Agile incorporates the customer’s feedback on every iteration since they can release a working product to test.
But what is all of this based on? Agile project management’s history starts in the 1990s. Software developers realized that classic project management methodologies didn’t meet their needs. They didn’t let them reach their full performance potential and didn’t help them satisfy the customers. The lack of flexibility, adaptability, and response to change did not fit in well in this industry. Change is a fundamental component of software development – stakeholder requirements pivot, testing reveals problems in the product… They needed shorter development cycles and an iterative process that allows continuous testing and incorporation of feedback.
The Agile Manifesto
It all came together in 2001: a bunch of software developers got together to discuss the core philosophy and principles behind agile project management. They composed The Manifesto for Agile Software Development: a collection of values and principles to guide software development teams around the globe.
Agile’s Core Values
According to the Manifesto, the four core values of Agile are:
- Individuals and interactions over processes and tools. Valuing people more than the processes and tools. It’s people who need to drive the development and respond to change and adapt to meet customer needs. It highlights the importance Agile gives to communication and cooperation between individuals.
- Working software over comprehensive documentation. Instead of losing time on documenting every step (interface design, technical specifications, test plans…); the main focus is to create working software and continuously upgrade it. Agile values documentation just enough to give developers the information to keep on doing their work – develop the product.
- Customer collaboration over contract negotiation. Customers’ inputs were limited to the negotiation and planning stages. This means their involvement in the development process only happens before it has even started. Agile looks to create working software, deploying it directly to the customer, and getting regular feedback from them. The clients should be engaged and collaborate with the team throughout the process.
- Responding to change over following a plan. Agile welcomes change throughout the life of any project thanks to the shortness of their development cycles and organizational flexibility. Priorities, decisions, improvements can change at any given moment. Agile integrates traditional “planning” tasks with “execution”, adopting changes to provide additional value.
Agile’s 12 Principles
There’s more to what developers worked out on the manifesto. They included 12 guiding principles for the methodologies that are under the broader title of “Agile”. These principles describe the philosophy and culture that should be present on every Agile team. They are the following:
1. Product delivery
Achieving customer satisfaction through early, continuous product delivery and regular involvement in the process is a top priority.
Change is welcomed during the project life cycle, even late in development. The goal of the process is to align customer expectations to product development. This will require flexibility and change adaptability.
3. Working product
Frequently delivering a working product is key. After every iteration or sprint, you should be able to show proof of work with regular working updates that help you see issues and adjust to change.
Collaboration between different functional duties. Having a team with aligned business and technical decisions provides better outcomes and performance in the project.
Motivate, support, and trust members of the team to do their job. Workers of all areas should be given the right environment to do their part. They can always rely on each other to tackle a problem from different perspectives to solve it.
6. Face-to-face communication
Personal, face-to-face communication is the most efficient way to transmit information inside the team. Every member is at the same level. They can discuss issues and get information directly from the source (another benefit to cross-functional teams).
7. Working software
Working software is the primary source of measuring progress. Documentation falls behind as real success becomes having a working product that is continuously under improvement.
8. Consistent development
Agile processes support a sustainable, consistent development pace. Teams should be able to maintain a certain speed to the continuous upgrades that they deploy after every iteration.
9. Technical excellence
Attention to technical excellence and design enhances agility. Every member of the team must strive for excellence in their technical work or designer duties. Team members need the right skills to maintain constant improvement.
Simplicity is essential. “Maximize the amount of work not done”. In other words, eliminate and automate everything you can. Focus on going what needs to be done now.
Self-organization makes for the best team architecture, performance, and design. Good agile teams, with motivated decision-making members, figure out together what needs to be done and how to do it. Communication, skill, and trust make this possible.
12. Regular reviews
Teams should reflect regularly on how to become a better version of themselves – more effective or productive. Changes and adjustments are not only part of developing the product; they should also happen inside the team. Tuning behavior, improving skills, learning from mistakes and each other, will increase overall efficiency.
Main ideas of the Agile Manifesto
There are two main ideas we can take out of these principles:
(1) Agile is meant to create the best organizational environment for independent, skilled, and trustworthy individuals. They work together in short development cycles to deliver iterations of a flawed working product. The product is in a constant state of improvement (which is better than an inexistent “perfect” product).
(2) Agile aims to align objectives, customer needs, and constant change with everyone involved in the process to work together efficiently.
Agile project management: Pros and cons
So, now that you know what Agile’s all about, let’s quickly analyze some of its Benefits and Drawbacks. Let’s start with the former:
- More adaptability means less risk and a better product. Being able to change the course of action and adapt to change makes the project more secure and less likely to be damaged. Traditional methodologies worked on predicted conditions throughout the whole process. Changing priorities on present conditions and implementing feedback during the development process will result in a better end product.
- Greater customer satisfaction. Client collaboration during the process (one of 4 core values) ensures a better outcome and satisfaction. There’s transparency in showing a working testable product and offering information to customers during the process. It also prevents disapproval of the work done at the end of the project.
- Better working experience and happier teams. Being autonomous, granting freedom, trust and support to your team members makes for a better working environment. They benefit from having a say in the decision-making processes and organizational arrangements. Workers are better valued and motivated to work together, fostering a more efficient and creative team dynamic.
On the other hand, Agile management does come with its drawbacks, it is not for everyone nor every project:
- Projects can go off track if you’re not careful enough. Having the flexibility to break down the project and change direction after every milestone can make the team lose sight of the original purpose of the project. It’s easy to get caught off on a tangent losing time and bringing down the efficiency. Some projects are straightforward and benefit from a classic structured project management process. Agile is not the solution for every project, business, or industry.
- Agile relies heavily on the human factor. The team member’s skillset and engagement are vital requirements for an agile project to succeed. From the managerial abilities for quick decision-making to the technical skills that members need to do their job; agile’s human-centered approach and flexibility make it vulnerable to incompetence inside the team. The project can derail if bad decisions are taken or team members can’t keep up with their tasks.
We know the theory, now we’ll go over the practical use of agile project management. There are many popular subsets of Agile management. The most popular agile methodologies or frameworks are Kanban and Scrum. While Scrum is focused on fixed-length project iterations, kanban is focused on continuous releases. In any case, Scrum is undoubtedly the most used methodology for software development. Let’s learn how it works and why it’s so successful.
Scrum: what it is and how it works
Scrum obeys Agile project management’s main principles and values (iterative, responsive to change, collaborative…). However, it does so applying them in a specific way that sets it apart from the rest. The main characteristic of Scrum is the use of fixed-length iterations of work called sprints. They are usually shorter in time than development cycles used in some of the other methods (1-3 weeks).
Sprints are the basic unit of measure for development time. During this time, teams work on a series of issues and tasks that they had previously assigned to themselves. At the end of each sprint, the team releases an output that adds value to the product and prepares for their next iteration. But before we get into detail, let’s go over some agile and Scrum-specific terms you need to know.
What are the key components of Agile and Scrum project management?
We’ve already outlined what they are. Basically, a development cycle, 1 to 3 weeks long, where team members work on tasks. These are previously determined on sprint planning meetings (more on that later). The idea is, as you move forward, to repeat these sprints until your product is feature-ready. Once the sprint is over, you review the product, see what is and isn’t working, and make adjustments. After that, you’ll begin another sprint to improve the product or service.
A user story is a narrated definition for a task or work request that has to be done during sprints. It contains the basic information to outline what needs to be done (goal or achievement) and the end recipient of the added value. It also allows team members to try to estimate the effort required to complete the task. This is usually done with “Story Points”, a measurement system based on how complicated and time-consuming a task is. They serve as a guide of how much work can be done – but it’s not a perfect science.
Stories are written from a user’s perspective – what the user or “actor” wants or needs from the product and why. Typically, it follows this structure: As a [X actor], I want/must [Y action] so that [Z achievement] (e.g.: As a Netflix user, I want to know what series are coming up so that I can add them to my list). Stories can be related to one another and arranged into “Epics”, which are big chunks of work with one common objective.
User stories become tasks listed on the Backlog. During planning meetings, the team members prioritize and size (assign a number of story points) these tasks. They decide what to do depending on the urgency of the assignment, its size, and the length of their sprint. User stories are examined and can be divided into individual complementary assignments with their own story points. In Scrum, during sprint planning, the team moves stories in the product backlog into the sprint. After that, they’ll go to the scrum board to be completed.
It’s a Scrum-specific version of an agile board. A physical or virtual whiteboard that helps you keep track of the progress made in your project. The purpose of the Scrum board is to visualize the work done during the sprint. They’re a key component of transparency.
From the sprint backlog, task are assigned and added to the scrum board. The board will have multiple columns with steps to organize the tasks and visualize the workflow (like To Do, In Progress, Testing, and Done).
What are the main roles in Scrum?
- Product Owner: Their role is to manage the team’s backlog and define the goals and objectives they have to work on. They’re the closest link to the customers and stakeholders. Their job is to guide the sprints in the direction the product should take to maximize satisfaction and not lose track of their purpose.
- Scrum master: Usually team members rotate their role as Scrum masters every so often. Anyone can take on their responsibilities in the team. They’re in charge of making sure the sprint stays on track, prevent blockages and make sure team members take on the right tasks. They should remove the impediments the team may encounter. They ensure the Scrum team’s workflow is aligned with the Product Owner’s views.
- Team members: A small group of people (usually under 10) that works together to develop the product. Inside the team, there’s no hierarchy. They self-organize, once the goals are set, to take on the tasks that need to be done during the sprint. Teams are normally cross-functional, each member adds their special value and has their own set of strengths and skills.
- Stakeholders: They’re not part of the working team. However, Agile gives stakeholders a big role in deciding how the product will be delivered and developed. Their role is informational, they should be kept up to date on the product and sprint goals. They review the work and offer feedback to outline what they should do next. Their main line of communication is through the Product Owner.
As we stated before, Agile relies heavily on the human factor. It all revolves around the capabilities of the individuals and their capacity to work together and achieve synergies.
Scrum team characteristics
In this sense, knowing what to look for when hiring a team for Scrum processes seems essential. We can’t tell you exactly what you’ll need for each product. Nonetheless, there are basic characteristics a team should have to be successful:
- Competent. Team members should be knowledgeable and capable to take on their tasks. They should be able to dive deep into areas they specialize in, yet have a basic knowledge of other fields of expertise.
- Versatile. Having a diverse skill set will allow them to adapt to changes that may arise along the way. This makes them consistently efficient.
- Curious. The flexibility and cross-functionality of the process make people that look for new ways to find solutions a very valuable asset.
- Team player. Agile and Scrum depend highly on cooperation between team members, self-organization, trust, and independence (there’s no formal hierarchy). When team members value their personal glory more than the team’s success it can ruin the project. You won’t be able to align the priorities and goals of the individual with those of the project.
- Committed. Team members dedicated to producing their best work are always valuable. In Agile or Scrum this is critically important due to the freedom and independence they enjoy.
- Go-getter. Taking initiative (not waiting to be told what to do). Making decisions, adding value with your work and ideas, knowing how to handle adversities on your own… These are all important capabilities you want in an Agile team member.
You may still be thinking: “What does the process look like?”
The Scrum process
Here’s an overview of how a Scrum process works:
- It all starts with the backlog. As we mentioned earlier, in scrum there are two backlogs: the product backlog (product owner’s responsibility) and the sprint backlog. The former is a prioritized list of features (stories, tasks, etc.); while the latter is filled by the team during sprint planning. They take the top priorities of the product backlog and fill up the sprint’s backlog capacity. They estimate this using story points.
- Sprints are set to a fixed duration (usually 1-2 weeks), with specific sprint goals for that time. The team set the goals according to the items that are brought in from the product’s backlog to the sprint. To make that decision and set the sprint goals, the team goes through a Sprint Planning session (more on it later).
- During the sprints, the team has short daily meetings (Daily Standup or Daily Scrum), preferably face-to-face. They report on the progress made during the previous day and what they’ll focus on that day. Here, the team also shares the obstacles they’ve run into or risks they’ve encountered. Team members should be willing and able to help each other if needed.
- Once the Sprint ends, the team holds a meeting for a Sprint Review or Retrospective. This meeting is sprint-specific and tries to reflect on the work that has been achieved, their performance, goals, blockages, etc. The team must also assess their task size estimation and the sprint backlog’s capacity for the next Sprint Planning meeting.
As you can see, 3 Scrum-specific basic ceremonies give the method its fluency and ensure a good procedure. These are:
- Sprint Planning. Team members (one scrum master), and sometimes the product owner, come together to discuss the top priority items that will make it to the Sprint. The product owner represents the voice of the stakeholders and manages the product backlog. Issues and stories are analyzed, discussed, and size estimated, then transferred to the sprint’s backlog.
- Daily Standup. A short meeting among the team members takes place almost every day. Team members and the product owner decide depending on the specific procedure of the project and the length of their sprints. Their purpose is to catch up on what everyone has done and will do next. They’re essential for good direct communication between members of the team and helps it run smoothly.
- Retrospective. Also known as Sprint Review meetings. Here’s where the team reflects on their work, the goals they reached, the uncompleted tasks, the problems they faced organizationally… They offer feedback to themselves on how they planned the sprint compared to how it actually went for future reference.
Two other regular meetings can also take place with Scrum and add their significant value to the methodology:
- Sprint Demo: A sharing meeting where the team shows what they have released in that sprint. They aim to show the progress of the working software (or product) they’re developing.
- Backlog refinement: These are meetings between the development team and the product owner. They clear up concepts, analyze stories, rethink tasks, and prioritize work on the product’s backlog. Product owners don’t always have as good a knowledge as the developers on how some items have to be completed or their size. The meeting lets developers tweak the backlog to improve their efficiency.
There’s an outstanding amount of platforms and apps on agile project management dedicated to software development teams. However, there aren’t that many with the versatility or adaptability that Priority Matrix offers.
Priority Matrix wasn’t made to suit specific requirements other Agile project management apps focus on, and still checks the boxes of everything you need to implement it. This versatility will allow you to introduce Agile to any company or team. Many departments in businesses around the world are stuck working on traditional project management. These procedures slow them down and make them inefficient. A good manager must identify how their system works, analyze how it’s benefitting them or slowing them down, making them ineffective.
Agile completely revolutionized the software industry by reimagining how employees should organize and communicate. So, even if your product doesn’t have anything to do with software, it could help your team’s productivity. Agile potentiates the capabilities of workers in a creative yet work-demanding environment. This covers a much broader range of responsibilities than just software development.
Become Agile on Priority Matrix
Let’s go through some steps you can take to implement Agile (on a Scrum framework) using our coordination and productivity enhancement tool: Priority Matrix.
1. Project Backlog
Start by creating a new project, on whatever product you’ll be working on. Add everyone involved, give it a name and description, and set the names for each quadrant to organize the tasks according to priority (e.g.: Urgent, Top priorities, Do Later, Future Responsibilities). This will be your Project Backlog. You’ll be able to view it as a matrix or a list (like any other PM Project) for your convenience. Here, you add stories, prioritize them, and start analyzing how to achieve them as explained before. These are some of the features you can take advantage of:
- Prioritize tasks on 4 different levels.
- Add Icons and Tags to stories to add first-glance information on size or type of tasks.
- Anyone can include Notes, Resources, and Links to each task or story to add valuable information.
2. Sprint Backlog
Once your product backlog is ready, it’s time to move on to the Sprint’s Backlog. Create another project where you’ll add the tasks to be done during the team’s sprint. On this Backlog, you don’t have to include the Product Owner, just the team members. Set a deadline on the calendar for the goals you want to achieve during this sprint. Then, organize the tasks however you feel necessary. On the Sprint Planning session, you should rate tasks and start assigning them to team members. Here are a few ideas on how to make use of this:
- Link or upload all the resources you need to complete your assignment. You can also link your work and show your performance – other team members could find it helpful for their tasks.
- Let everyone know your progress and be aware of how the team’s doing at all times (as long as they’re sharing their information – we’re not the Spanish Inquisition).
- Chat and ask for help if needed! Everyone on the team can comment and add information you might find helpful for your task.
3. Scrum board
Now that the Sprint Backlog is ready, it’s time to work! Before each sprint, team members set the tasks they assigned to themselves onto their personal Agile or Scrum board. This is another matrix with 4 quadrants: To Do, In Progress, Testing, Done. After that, it’s all about taking care of your assignments during your sprint. Check out some useful tips you can take advantage of:
- Share your Scrum Board on a “read-only” mode or copy a link to it for your colleagues to see.
- Copy links to items and allow coworkers to access them if you need work from each other.
- Move your tasks around between quadrants to follow your progress. You can also put them back on the Sprint Backlog and inform of your problems to not achieve them.
- Check items completed as “Done” by just typing it on the item’s Chat on the Sprint Backlog. This is a good way to inform other workers of your progress.
At the end of each sprint, you’ll have a Sprint Backlog with items completed, others in progress, and some unfinished. Team members can add the information, resources, and documents to the incomplete tasks and check what has been done. On the Retrospective, you’ll compare what was done and what wasn’t. Maintain the tasks that you couldn’t finish on the Sprint Backlog for future evaluation. You can delete the items completed or move them to a fourth list that serves as a basic item history. There, you’ll have everything the team has done and the documentation linked to it.
- Service Innovation-Performance Alignment Matrix
- Asset Allocation Matrix
- Distribution Channel Matrix
- Audience Segmentation Matrix
- Digitalization Performance-Value Matrix
- Competency Matrix
Agile project management is an iterative process to regularly release a working product in continuous development. Though the idea was conceived for software development, its characteristics are helpful to a much broader number of teams. We live and work in an ever-changing, fast-paced environment where customer demands are essential for the success of the projects. That’s where Agile flourishes.
Study what your project needs are and where your system falls behind. Agile could solve many of the structural issues you’re dealing with now. There are many ways of implementing this organizational process, but none other will offer the versatility Priority Matrix has. Let us help your organization or team increase your productivity and discover everything Priority Matrix can give you!