Friday, October 17, 2003

Scrum: Another way to think about scaling a project

It is hard for people to realize how radical SCRUM is because it is such a simple process, anyone can do it. Here is an example to expand your thinking about SCRUM.

Below is data from Jones, Capers. Applied Software Measurement, Second Edition. McGraw Hill, 1997 on industry averages combined with data on one of the key papers that influenced the first SCRUM. Coplien's paper was part of an ATT Bell Labs study that investigated many large projects and analysed the development process, environment, and implementation.

James Coplien. Borland Software Craftsmanship: A New Look at Process, Quality, and Productivity. Proceedings of the 5th Annual Borland International Conference, Orlando, 1994.

Borland Quattro for Windows (BWP) Project - SCRUM-like implementation

1,000,000 lines of C++ code..........BWP..........Industry standard
Time in months.............................31..............>50
Staff..............................................8...............>100
Function points per staff month.....77...............2

So in the extreme case for large projects, it is possible to scale to a 500 developer effort with only 40 developers on staff and deliver the project in almost half the time with SCRUM. This is essentially what happened on the SirsiDynix distributed/outsourced project developing a library system with over 1,000,000 lines of new Java code. See also the IEEE Digital Library paper on SirsiDynix.

This is the goal of SCRUM and was the target when it was invented. Even if your team only gets 10% of the way towards the goal, you will smoke your competition.