Thursday, May 29, 2008

The Agile Enterprise: Real World Experience in Creating Agile Companies

Agile Project Management with Scrum (Microsoft Professional)Jeff Sutherland discussed some real world scrum successes at Agile 2007. He starts by defining some of the characteristics of real scum as companies having agile as a strategic imperative, institutionalizing scrum and xp and not only in development, passing the Nokia test, and having senior management and developers totally involved.

He defines the Nokia iteration test as having timeboxed iterations of less than 6 weeks with tested and working software at the end of the iteration (unit and functional testing). Also, the iteration must start before the specification is complete.

Then there is the Nokia Scrum test which mean you know who the product owner is, the product backlog is prioritized by business value, the estimates are created by the team, they generate the burndown charts and know their velocity, and there are no project managers disrupting their work.

Next, Jeff gives several real world examples of companies he consulted with that are doing real scrum and are producing incredible results.

One company only hired an experienced scrum product owner and managed to cut their product cycle from 18 months to 2 months.

Another was too hyper productive that management ask developers to slow down. Sales could not keep up with the products. They needed a way to get the whole company agile.

Another company was distributed with 567 developers in many locations:

Jeff discussed outsourcing and gives an example of a 2 million project that would cost around 1.6M if outsourced (usually outsourcing save about 20%). Instead, the project was implemented with a local scrum that increased productivity by 240% (can probably even get up to 400%). The local cost was 0.83million without the risk associated with outsourcing such as inability to stadd the project on time, inability to keep staff on project once it starts (turn over running between 35% to 50%), and poor communication due to distance, time zones, lack of formal process, and language barrier.

Jeff gave another example of a company that created a team in Russia doubling the development team size and as a result doubled productivity. The company used distributed agile with teams split between US and Russia. At the end of the project, the company cut the Russian team, but was able to retain knowledge because the US team members remained. This was an example of a distributed, outsourced hyper productive team that resulted in linear scale when using Scrum. By doubling the work force, productivity doubled. On the other hand, in the waterfall model, it is well known that increasing team size when project is late will decrease productivity and make the project even later.

Next Jeff gives an example of Scrum and CMM. Companies that are CMM 1 have no consistenet process. 50% of what they do is waste and rework. In CMM 2 it is down to 25%. CMM 3, processes are institutionalized and it is down to 15%. CMM 4 is a data driven company and it’s down to 10%. In CMM 5 metrics start to drive process improvement and waste is down to 7%.

A CMM 5 company took their project management process and replaced processes dealing with planning and estimating with a scrum product back log. They cut 80% of planning cost and productivity doubled. They are highly metric driven. Example, if a build contains a bug, it needs to fixed in under 2 hours. They spent 7 years from going from CMM 1 to 5, cut rework by 80%, cut cost by 35%, were better at providing estimates, added 9% overhead for process team, but real work did not change. 6 months after implementing scrum, there was a 40% reduction in defects, 80% reduction in planning and documentation costs, 50% reduction in rework, 100% increase in productivity and they maintained CMM level 5 characteristics. They had fewer bugs, higher customer satisfaction and developers were having fun. They setup their contracts based on Scrum or Waterfall and told their clients if they wished to used Scrum their cost would be 50% less.

Jeff finished by discussing Type C Scrum, or all at once Scrum. This is where the management team is scrumming along the same way the development team is. Management is completely on board and has a meta scrum with the CEO present. They are aggressively removing any impediments and are helping the product owner frame the execution of plan to release a portfolio of products.

This presentation is available on InfoQ at