So, your organization has realized that it's time to transform your development shop to Agile. Great! But your biggest question is: Where do I start?
I'm assuming that you're already aware of Scrum and how it works. If you aren't, the absolute best thing you can do is take a Certified ScrumMaster®
class, which will get you up to speed.
I worked with an organization that had transformed to Scrum several years ago but abandoned it because it resulted in chaos. It wasn't the Scrum framework that caused the chaos but how they implemented it. On the first Monday, the first Scrum team was initially trained and then launched. By the end of the week, 20 Scrum teams had been trained and launched. Once the teams were launched, they were on their own.
The "big bang" implementation clearly failed them. Teams changed Scrum as they saw fit, resulting in Scrum-But. That is, they did Scrum, but they did coding sprints, then test sprints, and didn't do any of the following:
Hold daily stand-ups
Develop user stories
Estimate the backlog
And so on. . . .
So I'm going to describe how I successfully implemented Scrum in my organization the second time around. I hope it can help you on your Agile journey.
Use the Scrum framework to launch Scrum
Launch the Scrum framework iteratively and incrementally, one team at a time. Do some planning, do your sprints, and then do your review.
A week or so before the first Agile team is scheduled to begin, train the team in Scrum, or get them training so that they have time afterward to prepare the initial backlog and complete any Sprint Zero activities.
Start with defining the Agile team of 7 (±2) cross-functional members. Dedicated, stable teams with the same team members are the most effective. You'll need to decide on a day of the week for sprint planning and review. It's best to start and end midweek on a Tuesday to Wednesday or Wednesday to Thursday to avoid ramp-up and ramp-down times due to weekends. Schedule the start date and training for the team.
After the training is complete, work one-on-one with the new product owner to train him or her on user stories. Help the product owner create the first product backlog. Remember to have appropriately sized stories with sufficient acceptance criteria.
Coach the team throughout its first sprint. Be present in the sprint planning. Let them run it, but offer both positive and constructive feedback in real time. Follow the same approach for the daily stand-ups.
Coach them through their first demo and retrospective. Make sure that in the retrospective they come up with at least one thing they want to change to improve the customer value. Let them do their second sprint on their own, but be there to answer any questions, and help them stay on track.
At this point, you will have to make a judgment call as to whether the team is ready to continue on their own, or whether they're still struggling. I've seen both situations happen. If they continue to struggle, you may need to continue your coaching, or you may bring in a more experienced ScrumMaster to mentor the team for the next couple of sprints.
Before starting your next team, hold an Agile Transformation retrospective that engages management. Discuss what worked well and what could change. I guarantee that you'll discover weak spots in your training that you can beef up to make it easier for the next team. Inspect and adapt.
Demo and review the team's efforts with your senior management. Provide them with your feedback on how the team did. Be transparent on both successes and setbacks.
Then it's back to planning for your next Agile team. Repeat the process, team by team.
After two or three teams have been launched, begin a Scrum of Scrums with representatives from each team. Have each team send a volunteer ambassador who doesn't have to be the ScrumMaster. Practically speaking, I have gained more value from twice-a-week Scrum of Scrums over daily. Try to meet on Tuesdays and Thursdays so that no more than two working days pass between meetings.
Agile center of excellence
Creating an Agile organization may involve multiple departments. You will need buy-in from management of all involved departments, or they may begin giving their team members instructions contrary to what you are coaching. The most effective method I have used to get buy-in from management is to involve them directly. I have done this by creating an Agile center of excellence (COE) with management representation from all departments. The Agile COE is responsible for the oversight of all things Agile in your organization. Through management participation, you can openly discuss issues and obstacles in your Agile transformation and jointly find ways to eliminate them, which ensures buy-in from all.
While a "big bang" implementation of Agile may have worked for some, at this organization, it had been a massive failure.
By using the Scrum framework and Agile principles, however, it's possible to transform an organization of any size.