Extensis decided the best way to get their entire organization on board and up to speed on the strategic shift was to hire an agile trainer and coach to establish a framework for the transition, educate the workforce and get company-wide buy-in, according to Martin. Then, Extensis began the transition by having a single development team start with the new methodology with the intention of eventually transitioning their other two development teams.
Once that team was up to speed and comfortable, Martin says, there was room for experimentation and adapting agile to better fit the unique needs of Extensis. "We felt like, we're making this huge shift, so at first we wanted to start small and follow the directions of the coach and the trainer to the letter. Then, once we had the agile mindset, the processes, the tools and the language down, we could look at how to tweak that for our own individual teams. That's the great thing about agile -- it makes you nimble, but in and of itself it's also very flexible and you have many different variations to fit your business," Martin says.
Break it down
Another crucial part of scaling agile is demonstrating how individual projects impact the larger business strategy, and breaking down each project into the same sprints the agile teams are using.
"It works best if you can draw correlations between the business' financial and business goals and the work your teams are doing daily. Start with an annual plan and then break that down, piece by piece -- you want to increase revenue by X? You want to reduce overhead costs by Y? You want to, say, boost the number of hosted users by a factor of 2? Here's how the product drives that goal. Here's each step in that process, which becomes your agile roadmap," says Jaffe, "Once that's in place, you can designate what goals are set and achieved each quarter, each month, each two-week sprint."
"Agile lets you retain the larger context in which all the other work resides. All the executives upstream and all the developers downstream are looking at the exact same map, so it all lines up with what each group is dealing with. That way you can say, 'OK, this is step 1 of our 70-step plan to increase revenue by X! We're on our way!" Jaffe says. To do that effectively across an entire organization requires a shared architecture and extensive communication and collaboration, which isn't without its issues.
Communicate a shared architecture
"Agile teams are often dispersed and isolated; they typically don't collaborate with others unless they are in a scrum environment. These individual teams often experiment and develop technical guidelines as they go, but for large-scale development environments and for larger enterprises, agile teams need to share an architecture with the group to foster cohesion and compatibility so that all the pieces come together," says Jaffe.
Sign up for CIO Asia eNewsletters.