This post originated from an RSS feed registered with Agile Buzz
by Jeff Sutherland.
Original Post: SCRUM: IEEE Computer Agile Issue - June 2003
Feed Title: Jeff Sutherland's SCRUM Log
Feed URL: http://jeffsutherland.com/scrum/blogger_rss.xml
Feed Description: SCRUM is an Agile Software Development Process. Jeff Sutherland was the first person to apply the concepts of Scrum to software development at Easel in 1993. Working with Ken Schwaber, he formulated Scrum into a formal process that was presented at OOPSLA'96. Jeff and Ken extended and enhanced it at many software companies and IT organizations. In 1995, Mike Beedle started Scrumming and worked with Linda Rising and others to publish the PLOP Scrum pattern in 1998.
IEEE Computer published an issue on agile development this month. Of particular interest is an article on the history of iterative development which is highly recommended for anyone interested in the background of Scrum or any other Agile method.
Iterative and incremental development dates back to the mid-1950's and prominent software-engineering though leaders from each decade supported and used IID practices. Many large projects at NASA, IBM, and elsewhere used them. The DOD standard on waterfall development was misconceived according to its author who relied mainly on textbooks and consultants. It took over a decade for a DOD committee led by Fred Books (Mythical Manmonth) to remedy the problem. Meanwhile there were at least $75B of failed DOD software projects documented.
The first published paper that Larman could find on iterative development was a 1968 report from Biran Randell and F.W. Zurcher at the IBM T.J. Watson Research Center. Interestingly, it lays out the basic development model used by the first software Scrum at Easel Corporation in 1993.
"The basic approach recognizes the futility of separating design, evaluation, and documentation processes in software-system design. The design process is structured by an expanding model seeded by a formal definition of the system, which provides a first, executable, functional model. It is tested and further expanded through a sequence of models, that develop an increasing amount of function and an increasing amount of detail as to how that function is to be executed. Ultimately, the model becomes the system."
Easel was building the first OOAD tool with round trip engineering. The goal of a Scrum was always to extend a system which had a model and code synchronized with the model. If the goal was new development, a small prototype system was created in the first week of a Scrum and this system was evolved. We demanded and were successful in using the OOAD tool to build the OOAD tool. Developers had to eat their own dog food which is a rare thing to find in the software industry.