Recently Jeff Sutherland studied Scrum in an outsourced organization at SirsiDynix. The findings were quite extraordinary: this intercontinental project achieved a productivity of five times the industry average. Here, Sutherland describes the project in his own words.
– Well, to take it from the start, Jack Blount was CEO of Dynix, and then they merged with Sirsi in the middle of the project so he became the CTO of the combined company. He had done outsourcing in many companies before – he had been CEO or CTO of many corporations, and he had been COO at Borland. So he was an extremely experienced leader who when he started this project was the CEO of the company – so he had a lot of control. He decided that he was not going to produce another outsourced implementation that actually did not improve productivity. He had to actually increase productivity by outsourcing. First of all he decided that he had to have an outsourcing company that was agile, because if he outsourced to anything that wasn’t an agile environment he wasn’t going to increase productivity enough to make it worthwhile.
– This was based on Jack Blount’s own experience with actual outsourced teams. For example, he had seen in India that it was very difficultto keep key people on a project. He had also seen that the waterfall-style approach were you simply send requirements over to the outsourced company. The combination of language issues, distance, cultural variations and a lot of communication back and forth trying to figure out what the requirements were – and then the waterfall implementation of delivering the requirements made it much slower. In some cases they actually saved some money, but in other cases they did not even save money. It was delayed so much because of this hand-off and waterfall process that it just wasn’t worth doing it.To avoid this Jack Blount first of all had to have an agile company and he found one in StarSoft Development Labs in St. Petersburg. That was a company started by people out of the USSR Academy of Sciences, who were totally dedicated to eXtreme Programming. They had a company of about 450 people who were all doing eXtreme programming. Jack had a team of 30 people in Utah that were all doing Scrum – and it was a good Scrum implementation. He then negotiated with StarSoft labs if they would join their team and they would work according to Scrum.
– The other thing that he found was the following: In previous outsourced engagements where they had had separate teams on two different continents, the teams tended to divert and not be aligned toward the same direction. He had also found it difficult to move functionality from one shore to another if one team at one place was working faster than the others. And to avoid that, he wanted complete geographical transparency. So, he decided something that is very unique and there was a lot of controversy about. He decided that every team would be half in Utah and half in St Petersburg. Mainly to optimize the project, but also he wanted to build a positive competitive dynamic between the teams where every member of every team on either shore, knew that somebody off shore could do their work tomorrow.
– As soon as I heard about this project I wanted to work with them and write up a case study because Ihad found at the IDX Systems organization which we discussed previously that I had a few teams that went into a hyperproductive state and got five to ten times of normal productivity. One of them was a team that was distributed across the United States. There were a few people in Vermont, a few people in Boston, and a few people in Seattle. And they met as a single Scrum stand-up meeting, every day. That team was more effective than almost every other team in the company. So what I heard about SirsiDynix it sounded like they were operating like that distributed team I had at IDX. And I wanted to drill down and see what were their best practices that made that really work.
– I found out that it was the same best practices that made the teams hyperproductive at both companies – but there were some differences. The thing that Jack Blount did that made his project so successful, in addition to making the teams split across continents, was to make them have one global build, and that build was done hourly. He had regular global builds of code being put in the configuration management system, so that everyone was working off the same code base.
Secondly, he implemented a tool that would display the burndown of the Scrum teams and the state of every task in the sprint backlog, that everyone could see anywhere all the time. So they had one configuration management system, one build system, always working on the same code with a project management tool that enabled visibility of every task and every team on one dashboard. The thing that they actually did – as I said in the beginning – was that they made location totally transparent. No matter where you were, you were working on the same code, you were seeing the same project metric, and you were working with people who were at all places at once. So he made the outsourced team part of his local team.
– How important are the tools in this context? Well, Scrum focuses on a minimum of tools – just as Toyota. Toyota doesn’t automate anything until the manual processes work really well, and then they do a minimum of automation. However, in Scrum transparency and visibilityare essential. And most Scrum teams will do a stand-up meeting in front of a whiteboard or in front of a board with cards on where they can visually see the state of the project. When you have many teams, every team needs to oversee the state of other teams, in particular when you have outsourced teams it’s even a bigger problem. So, you need some automated tool where all the data flows in and everybody can see it all the time.
– Another thing that´s sometimes a problem is the time difference. To do what SirsiDynix did, you need to have daily Scrum meetings. If that is impossible I would revert to what is really the recommended approach of the Scrum alliance – they view the SirsiDynix as an extreme case which requires real agility at both companies. For most projects where you have big time differences like California–India you have to have independent teams. And then you coordinate the teams by a Scrum of Scrums. Somehow the team leaders need to get together on a regular basis, and I think that they would have to do it at night. And having the team leaders at phone at midnight isn’t as hard as having the whole team.
– There is an important concept for all the Agile processes and that is you want to stay as close to the customer as possible. It is really crucial to have all the product owners, in the Scrum sense, very close to the customer. And you want the product owners close to the teams. Now, what SirsiDynix did that I haven’t discussed is that all the Scrum masters were in Utah, all the product owners were in Utah, and all the architects were in Utah. So they had very tight centralized control over the product and the product direction. And I think that’s a key component to their success and certainly contributed to their high productivity, which became one of the highest ever documented.