CodeBetter.Com
CodeBetter.Com
RSS 2.0 via Feedburner
           Do you Twitter? Follow us @CodeBetter

Darrell Norton's Blog [MVP]

Fill in description here...

Review of Agile and Iterative Development by Craig Larman

Agile and Iterative Development, by Craig Larman

A lot of people are looking for proof of the effectiveness of agile software development methods.  Managers are looking for hard facts and data with balanced discussion on the pros and cons of agile.  Developers are looking for supporting material to convince their managers to use agile.  Customers are wondering if agile methods really benefit them and why there are so many changes to the current way of doing things.

About the Book

Craig Larman, author of the critically acclaimed Applying UML and Patterns book, seeks to fill that void with Agile and Iterative Development.  It is primarily a manager’s guide, so developers familiar with the various agile methods covered won’t find anything new.  Larman first works on iterative and evolutionary development, covering the benefits of timeboxing and incremental delivery.  This is pretty basic stuff for most educated managers, but if someone has not had exposure to it in the past it is important to review.  Then Larman moves on to agile methods and classifies them based on ceremony, which is the required and/or suggested amount and type of documentation, and cycle time, which is the length of an iteration.

The most important section is the Evidence chapter.  There are statistics, example case studies, and thought leader commentary.  These facts cover a range of project size in developers and function points, time frames, agile methods, and technologies.  The evidence helps sell agile methods with a one-two combination punch of supporting agile methods and refuting common project management wisdom embodied in the form of waterfall processes.

Although the reviews of the agile methods may not shed any new light on the practices themselves, Larman does include an interesting section on how to fail with each method.  This very effectively emphasizes the common misconceptions that non-agile managers have.  He also shows which way the method gurus envision implementing it (new test project, crashing project, etc.), and analyzes some of the method's strengths and “other” qualities.  The book is capped off with a good section on implementation tips, practices, and a FAQ.

Bottom Line

If you are a developer and your manager does not see the value in agile methods, or does not want to implement them 100 percent, buy this book and give it to them.  If they do embrace agile, first thank your lucky stars and then thank your managers with this book.  If you want to be able to cite facts and statistics supporting agile, buy this book.  But do not, under any circumstance, buy it thinking you will get something out of it development-wise.  That is not what this book is for.



Comments

Isaac Gouy said:

"The most important section is the Evidence chapter. There are statistics, example case studies, and thought leader commentary. These facts cover a range of project size in developers and function points, time frames, agile methods, and technologies."

Have you checked "these facts" against the cited source information?
# February 1, 2005 3:51 PM

Darrell said:

No I haven't checked all of them. Are you suggesting that Craig Larman misrepresented and/or falsified them?
# February 1, 2005 7:32 PM

Isaac Gouy said:

"Are you suggesting that Craig Larman misrepresented and/or falsified them?"

Certainly not!
Errare humanum est.

Citations are presented so we can examine the evidence ourselves. Choose something that is particularly interesting to you, and see what you think of the evidence.

I was impressed by the suggestion that "Timeboxing by itself has been shown to have a productivity effect." page 77

Today I read through the information on DuPont's use of timeboxing in Robert Martin's 1991 "Rapid Application Development". The 15-25FP vs 80FP productivity improvement is presented on page 225.

However, the comparison was between 'traditional' methodology using COBOL,PL/1,FOCUS, NATURAL; and 'timebox' methodology using the Cortex CASE tool.

http://sysdev.ucdavis.edu/WEBADM/document/radmanage-studies.htm

In a different study (page 132 in "Rapid Application Development") the Cortex CASE tool was reported to improve productivity over COBOL between 2 and 45 times (on average 13x improvement).

Personally I wouldn't interpret that as "Timeboxing by itself has been shown to have a productivity effect." (The other projects weren't using a CASE tool.)


Were there particular studies in "Agile and Iterative Development" that you found compelling?
# February 1, 2005 10:51 PM

Darrell said:

Ah ok, I understand where you are coming from. It's been a while, so let me look over the book again back home and I'll let you know!
# February 2, 2005 6:06 AM

Isaac Gouy said:

Have a look at pages 66-68 in the book; make some notes on what you understand from those pages.

Then have a look at the IEEE Software paper; make some notes on what you understand from the paper. (The material in the book was based on a 'working draft' so we should expect some differences.)

http://www.cc.gatech.edu/classes/AY2005/cs6300_fall/papers/maccormack.pdf

Then compare your notes.
# February 4, 2005 7:21 AM

Isaac Gouy said:

What did you find out?

There a few more examples in the comments at http://www.hacknot.info/hacknot/action/showEntry?eid=63
# February 18, 2005 11:16 AM

Darrell said:

Isaac - you've certainly done your homework! I can't say that I've been able to do any research myself since your other comment on Feb. 4.
# February 19, 2005 9:35 AM

Isaac Gouy said:

Fair enough.

Does leave me wondering about the "If you want to be able to cite facts and statistics supporting agile, buy this book."
# February 20, 2005 2:18 AM
Check out Devlicio.us!