By now you understand Agile and its merry friends, and have an inkling of how much more your current organization could accomplish by implementing Agile methodologies. Next up, is how to convince management that Agile is the right way to get work done.
Culture is a key component of a successful Agile campaign; you’ll need to buy-in from the top down in order to follow the steps and be successful. Agile can mean many things to many people, so it’s important to understand and commit to the same type of Agile as a team. Pick a flavor of Agile to start with (you can always pivot later) and follow that system to the letter so that you can practice the methodology. Think of Agile as a team sport: the contributions of every team member are important, and the focus isn’t just on the rock stars or the mythical 10x engineers. You’ll need cross-trained, cross-functional, and full-stack developers who are committed to communication, critique, and pivots.
With that, let’s dive into five ways that using Agile impacts an organization:
Agile puts accountability at the forefront and forces the organization (or team) to acknowledge reality and the impact of decision making. It requires you to look at the time, cost, and scope together and understand how changing one affects the others.
- Going faster means less scope or more cost
- Saving money means reducing scope or going slower
- Increasing scope means more money or more time
Accountability also plays a role in the “stop the line” mentality. Any member of your team who is on the production line should have the power and communication tools to raise their (virtual hand) and say “hold up, I see a problem here” without fear of criticism, dismissal, or retribution. Having a team that you trust is critical to everyone being accountable and engaged in the process.
Agile requires a certain comfort with flexibility, and the willingness to pivot as each project moves along its path towards completion. The original vision for a project will never match the end result, as Agile forces you to improve your product at every step of the journey. Following the “Build, Measure, Learn” mentality, you can’t lock the scope of a project or even an iteration as there are dynamic forces at work. The scope will be discovered and priorities will change, and you need to account for that. The important part is understanding the impact those changes have on time, cost, and scope.
Flexibility is also crucial for developing your Minimum Viable Product (MVP). You can use prioritization to build only what you need and eliminate any features that may just be “nice to have.” In no way does this prevent additional features from being added later, but it does curtail scope creep and keep your product priorities at the forefront.
With Agile, scalability isn’t about the application but about the team. If you add a new team member, can you get them up and running in an hour? Can they begin making meaningful contributions on their first day? Both of these are important; you can’t scale up your team if an excess of time is being spent on onboarding new people.
Implementing Agile at your organization means you need to be ready to scale up your team BEFORE it’s needed. Think about the minimum tools a new team member needs to get started (think of these as the MVP for onboarding) and have a checklist/procedure for getting these set up as quickly as possible. Taking the time to do this ahead of time sets you up for success, as every team member can join a project (or even join the company) and start making an impact right away.
The two most important questions for any product is:
- When will it be done?
- How much will it cost?
Agile’s interrelated trio of time-cost-scope can give you the answers to these questions. By using complexity-based estimates you can get a far more accurate representation of time to completion than hours based estimates. It also helps to use historical performance to predict future progress. If you know that completing a story that has a complexity of two takes one engineer a full day of work, you now know how fast the project will move along given the number of engineers you have working on that project. This is the VELOCITY in Velocity Based Agile. The motto here is don’t guess, know!
Since you can see the history of a project’s performance and can predict future progress, you can create an insightful road map that will provide transparency into your release planning. Everyone on the team can see the same information about when a release can happen, based on the numbers and that data-not on a guess, a wish, a hope, or a prayer!
Effective progress is driven by a sustainable intensity. Volatility is the enemy of any project management methodology and “crunch time” is a recipe for failure.
You want your team to be happy, healthy, and productive with the work; overtime and unreasonable pressure is the enemy of productivity and actually reduces velocity. You want your team to be cross-trained and cross-functional so that the loss of a team member (either temporarily or permanently) doesn’t create a clog in your production pipeline. With Agile, the next person up takes the next story in the queue since more than one person has the skills to complete each task. This keeps the production line moving forward at all times in a sustainable fashion.
“If you have problems that require constant over time, you have problems that can’t be fixed with more overtime.” ~Kent Beck, creator of eXtreme Programming
If you DO need to go faster (decrease time) you’ll need to add horsepower (increase cost) and/or do less (decrease scope). The idea of crunch time, with employees working crazy hours should be saved for a TRUE emergency, not to combat poor planning. Essentially you have one, and only one, opportunity per project to raise the alarm and actually increase productivity, so use it wisely…or not at all.
Remember that the goal of Agile is success! Have clear, tangible, measures of success that you can point to at the end of an iteration, phase or project and say, “Did we accomplish these things to the prescribed level? Yes? Then this is a success.” Approach every day, every project, and every team member with the goal of winning the game. Use agile to achieve the goals that you set for your company or product. This will keep your task moving forward with enough flexibility to adjust as needed.
“Hello? You play to win the game!” ~Herm Edwards, former Kansas City Chiefs & New York Jets Head Coach