Agile project management is an iterative, adaptive approach that helps ensure the project delivers what the customer truly needs. In the May 2019 Tech Practices column, I discussed the main differences in methodology between agile project management and waterfall project management. The next step was to describe a practical case example, but before doing that, this month I’ll first dive a little deeper into the agile methodology by answering some questions I received after the first column.
Agile works in a series of iterations and improvements known as sprints. In my view, based on my experiences working in different industries, using an agile methodology has a number of benefits. But there also are challenges—especially if someone isn’t used to using it. Let’s take a look at some of the questions I received.
How flexible is agile?
Agile is very flexible—I see it as a continuous improvement project management methodology. Agile adapts to business needs since it doesn’t have a set-in-stone scope. The scope may change, while resources and time are fixed. The methodology allows you to quickly amend plans or shift directions and focus on a different solution if the business need changes while you’re working on the project.
How important is the team in agile?
Agile focuses on the project team. The project requires collaboration and responsibility from the whole team. Success or failure of a project is attributable to the team as a whole.
Agile involves a team-centric culture. There is no project manager in agile—this role is split between the product owner and scrum master, with neither leading the team but rather focusing on the product and working with the team. The product owner focuses on ensuring that customer needs are met, while the scrum master has the responsibility of facilitating the team.
I’ve never used agile. How can I learn to use it?
Agile is a mind-set, and it takes time to change from the traditional waterfall project management to agile. The best way to learn it is by doing. Start using it and work your way through it. Find an agile coach or someone who uses agile and ask questions; that will help you learn and put theory into practice. Once you start, you’ll see the challenges and opportunities of the methodology.
How do I convince my team to use agile in data analytics?
If possible, look into a way to deliver results as soon as possible and have quick wins. Start by rolling out test phases so stakeholders can begin to see the benefits of the project and the methodology early on. This will encourage them to buy into agile, especially if they haven’t used the methodology before.
What are the challenges I can face when first starting to use agile?
The first challenge is getting used to the fact that project scope is open. In waterfall, we usually know what the end result will be. That isn’t the case with agile. We know roughly what the end product will be, but it can change dramatically due to business needs. Try not to fixate on the original scope but rather think about delivering a functioning product that the stakeholder needs based on operating in a fast-paced world.
The second challenge is that time is fixed at the start. Avoid any time creep and stick to it. You can always add phases to projects if needed.
Lastly, sprints and requirements break down. Knowing how to break down requirements and how long it will take basically comes with experience. The first project will be more challenging than the second. Just start it and get the ball rolling. We all started somewhere with no experience. Make sure to have the right team to support the effort and be a great team member, and you’ll learn quickly.
How do I create a backlog?
Each project has a backlog, which is a list of tasks that should be completed by the team. The backlog is written in the form of stories that describe the task. (It can also be keywords or sentences, but they must be comprehensive in terms of the level of details needed for the team to understand the item.) Stories are normally recorded in a backlog in a format such as: “As a [role], I want to [action] so that [reason].” For example, “As an end user, I want to be able to calculate customer profitability so that I can approve relevant discounts.”
Are there other important terms to know about as I begin to learn about agile project management?
One key term is “releases.” Releases are versions of a product. For example, if the team is working on a pricing model across regions, a first release can be testing the top 10 customers’ data, a second release can be testing the data of all customers in the United States, and a third release can be testing the data of customers worldwide. Because of agile’s iterative nature, having different releases like this ensures a smoother final product rollout as a company carries out testing at significant phases of the project.
When do you close a task on the backlog?
The team must decide on the rule or criteria for determining when a task from the backlog can be considered completed. This is known as the Definition of Done (DoD). The DoD differs from one project to another but is agreed upon by each scrum team. For example, the DoD can be when a code is written or tested or when a release is complete. Agreeing on a DoD is essential when starting a project.
I hope the answers to these questions are useful and help provide a fuller picture of the agile project methodology. Please feel free to send me additional questions. The next step will be seeing the agile methodology in action through a practical case example. Look for that column in the coming months.