08/07/2019
Have you ever had a great idea, but someone beat you to it? Software development can sometimes feel that way. The traditional approach to building a new system is waterfall methodology, which leverages compartmentalized teams (think “Build Teams” and “Test Teams”) and long-term phases owned by each team. The waterfall methodology can take a while for the customer to see the results – and they aren’t always what they expect.
Agile is an approach, widely used for software development, that shifts this mindset to use smaller cross-functional teams that work together with the customer iteratively to deliver a product. Companies are switching to Agile to see quicker results and more informed solutions.
Here are some of my recommendations for how to set yourself up for success while implementing Agile:
Start Small
It’s tempting to hit the ground running and implement Agile across the board, but I recommend starting with a small number of projects or selected teams that are set up for success. You likely have other processes in place, like contracting, that are centered around waterfall methodology. Once you start, you’ll be able to identify these and adjust on a small scale while determining long-term updates required.
Also, rather than starting with a big, new application, pick an enhancement team. With a working application, it’s easier to continuously deliver smaller updates and allows time to switch from focusing on the processes and tools to the individuals and interactions.
Enable Your Teams
Success is dependent on your core team, which should include a Product Owner, Senior Developer, and Scrum Master.
- The Product Owner should know the application and be enabled to make decisions on functional requirements. For Agile Ceremonies, like Backlog Grooming, to be successful, this person will need to be informed and empowered to make choices on the spot to limit rework.
- A Senior Developer is key to support the Product Owner and ensure the final product is sound from a technical perspective. With Agile, there’s an emphasis on individuals estimating complexity of items and picking tasks they will own. You’ll need this person in place to make sure the newest team member is not signing up for the most complicated build.
- An experienced Scrum Master is then essential to keep the team on track. This person is responsible for understanding the Agile methodology and running effective Ceremonies rather than knowing the application. They will coordinate Ceremonies and hold individuals accountable to their tasks. With these people in place, the rest of the team just needs to be open to the framework and willing to work together.
Adapt
After you’ve completed a few Sprints, reflect on what is working and what is not and adjust accordingly. It’s important to accept that you don’t need to be 100 percent Agile to realize benefits. In your first few Sprints, I would try all of the Ceremonies. As you move on, some parts may not fit and that is fine. Listen to your teams and incorporate these changes iteratively.
Once you have a few successes in place, you can start rolling Agile out more widely, still making sure that each team has key individuals in place and that you continue to adapt to what is working and what is not. If you’re interested in learning more on why to switch, check out our video that covers 3 Reasons Why Agile Works.