BN.com Gift Guide

Agile and Iterative Development (Agile Software Development Series): A Manager's Guide

Paperback (Print)
Buy Used
Buy Used from BN.com
$32.35
Used and New from Other Sellers
Used and New from Other Sellers
from $1.99
Usually ships in 1-2 business days
(Save 96%)
Other sellers (Paperback)
  • All (21) from $1.99   
  • New (7) from $35.81   
  • Used (14) from $1.99   

Overview

Agile/iterative methods: From business case to successful implementation

This is the definitive guide for managers and students to agile and iterative development methods: what they are, how they work, how to implement them—and why you should.

Using statistically significant research and large-scale case studies, noted methods expert Craig Larman presents the most convincing case ever made for iterative development. Larman offers a concise, information-packed summary of the key ideas that drive all agile and iterative processes, with the details of four noteworthy iterative methods: Scrum, XP, RUP, and Evo. Coverage includes:

  • Compelling evidence that iterative methods reduce project risk
  • Frequently asked questions
  • Agile and iterative values and practices
  • Dozens of useful iterative and agile practice tips
  • New management skills for agile/iterative project leaders
  • Key practices of Scrum, XP, RUP, and Evo

Whether you're an IT executive, project manager, student of software engineering, or developer, Craig Larman will help you understand the promise of agile/iterative development, sell it throughout your organizationaeand transform the promise into reality.

Read More Show Less

Product Details

  • ISBN-13: 9780131111554
  • Publisher: Addison-Wesley
  • Publication date: 8/11/2003
  • Series: Agile Software Development Series
  • Edition description: New Edition
  • Pages: 342
  • Sales rank: 833,819
  • Product dimensions: 7.00 (w) x 8.92 (h) x 0.89 (d)

Meet the Author

CRAIG LARMAN is known throughout the international software community as an expert and passionate advocate for object-oriented technologies and development, and iterative and agile development methods. He serves as Chief Scientist at Valtech, a global consulting and skills transfer company, where he has led the adoption of iterative and agile methods. Larman also authored Applying UML and Patterns, the world's best-selling text on object-oriented analysis and design, and iterative development.

Read More Show Less

Read an Excerpt

IntroductionOverview


  • What's in this book?
  • Predictable versus new product development.

What value will you get from studying this book, an introduction to iterative and agile methods?

First, you will know the key practices of four noteworthy methods, Scrum, Extreme Programming (XP), the Unified Process (UP), and Evo (one of the original iterative methods). This is a "Cliffs Notes" summary, each chapter has something useful to you as a manager, developer, or student of development methods.

Second, your learning curve will be shortened, as this is a distilled learning aid. The four method chapters have the same structure, to speed comprehension and compare-contrast. There's a FAQ chapter, a "tips" chapter of common practices, and plenty of margin pointers to related pages—paper hyperlinks.

Third, you will know motivation and evidence. Some organizations accept the value of iterative development, but others are still reluctant. If you need to make a case for an iterative project experiment, you will find in this book the key reasons, research, examples of large projects, standards-body acceptance, a business case, and promotion by well-known thought leaders through the decades. The research and history sections are also of value to students of software engineering methods.

Note that agile methods are a subset of iterative methods; this book covers both types.

The chapters may be read in any order; the big picture is this:

1. Introduction, and predictable vs. inventive development.

2. Basic iterative and evolutionary method practices.

3. Summary ofagile principles and methods.4. An agile project story to pull some ideas together.

5-6. Motivation and evidence chapters for iterative and agile methods; useful for some.

7-10. Four method summaries on Scrum, XP, UP, and Evo. Note: practices can be mixed.

11. A tips chapter that expands on some of the method practices, plus others.

12. A frequently asked questions (FAQ) chapter.

Finally, people trump process. Every process book should probably include this standard disclaimer:

Process is only a second-order effect. The unique people, their feelings, qualities, and communication are more influential.Some problems are just hard, some people are just difficult. These methods are not salvation.
Software Is New Product Development

Consider building mobile phones on an assembly line: It is possible to unambiguously define the specifications and construction steps. After building some phones and measuring things, it is possible to reliably estimate and schedule the building of future phones.

A different problem: Build a custom house. The owner wants to use new environmentally friendly materials and methods, but isn't exactly sure what they want, and is going to change or clarify their decisions as they see the house, costs, and weeks unfold.

At one end of the spectrum, such as manufacturing phones, there are problems with low degrees of novelty or change, and high rates of repeated identical or near-identical creation—mass manufacturing or predictable manufacturing.

At the other end, there are problems with high degrees of novelty, creativity, and change, and no previous identical cases from which to derive estimates or schedules. This is the realm of new product development or inventive projects.

The development process, management values, planning and estimation models appropriately associated with these two domains are different (Table 1.1).

Of course, the point is,

Most software is not a predictable or mass manufacturing problem. Software development is new product development.

Plus, many projects use new and buggy technologies that exacerbate the degree of novelty and unpredictability. Note also it is a new product for the inexperienced even if it has been done before.

Since predictable manufacturing is the wrong paradigm for software, practices and values rooted in it are not helpful.

This mismatch lies at the heart of many of the challenges associated with traditional approaches to running a software project.A "waterfall" lifecycle, big up-front specifications, estimates, and speculative plans applicable to predictable manufacturing have been misapplied to software projects, a domain of inventive, high-change, high-novelty work.

Factors CP86 preventing reliable up-front specifications include:

  • The clients or users are not sure what they want.
  • They have difficulty stating all they want and know.
  • Many details of what they want will only be revealed during development.
  • The details are overwhelmingly complex for people.
  • As they see the product develop, they change their minds.
  • External forces (such as a competitor's product or service) lead to changes or enhancements in requests.

This deep appreciation—that building software is complex, new product development with high change rates, and not predictable manufacturing—is at the heart of the motivation for agile and iterative methods.

Certainly, another driving force is the desire to compete and win. Iterative and agile methods foster flexibility and maneuverability—a competitive advantage. In Agile Competitors and Virtual Organizations GNP97 the authors examine the limitations of the mass manufacturing model and the need for agility:

Agility ... is about succeeding and about winning: about succeeding in emerging competitive arenas, and about winning profits, market share, and customers in the very center of the competitive storms many companies now fear.
What's Next?

The next two chapters summarize basic practices and ideas of iterative, evolutionary, and agile methods. After that, a story chapter illustrates these practices with a concrete scenario.Web Resources

Related book or journal article suggestions are given in their respective chapters. Web resource suggestions include:Broad Link or Article Sites

www.agilealliance.com — Collects many articles specifically related to agile methods, plus links.

www.cetus-links.org — The Cetus Links site has specialized for years in object technology (OT). Under "OO Project Management—OOA/D Methods" it has many links to iterative and agile methods, even though they are not directly related to OT.

www.bradapp.net — Brad Appleton maintains a large collection of links on software engineering, including iterative methods.

www.iturls.com — The Chinese front page links to an English version, with a search engine referencing iterative and agile articles. More Specific Sites

c2.com/cgi/wiki?FindPage — This important, vast Wiki site was the home ground where many of the agile leaders (and design pattern leaders) held their original discussions on XP and other agile methods.

www.extremeprogramming.org — Don Wells' (an early XP leader) introduction to XP.

www.xprogramming.com — Ron Jeffries' (an early XP leader) introduction to XP.

www.agilemodeling.com — Scott Ambler's site contains many articles related to agile modeling practices.

sunset.usc.edu — Associated with the work of Dr. Barry Boehm, a long-time researcher into iterative (e.g., Spiral) methods. Articles related to iterative methods.

www.cutter.com — Cutter's site has an Agile Project Management specialty area.

www.martinfowler.com — Martin Fowler is an early agile methods thought leader (XP method). Articles and links.

www.jimhighsmith.com — Jim Highsmith is an early agile methods thought leader (Adaptive Software Development method). Articles and links.

alistair.cockburn.us — Alistair Cockburn is an early agile methods thought leader (Crystal methods). Articles and links.

www.controlchaos.com — Ken Schwaber is an early agile methods thought leader (Scrum method). Articles and links.

jeffsutherland.com — Jeff Sutherland is an early agile methods thought leader (Scrum method). Articles and links.

www.gilb.com — Tom Gilb is one of the very earliest iterative and evolutionary thought leaders (Evo method). Articles and links.

www.craiglarman.com — My site. Articles and links.

www.objectmentor.com — Company led by Robert C. Martin, an early agile thought leader (XP related). Articles and links.

www.nebulon.com — Company led by Jeff De Luca, an early agile thought leader (Feature-Driven Development method). Articles and links.

www.dsdm.org — Official site for the DSDM method.

www.rational.com — Official site for the Rational Unified Process (RUP) iterative method.name.case.unibz.it — Network for Agile Methodologies Experience (NAME). A European site that describes research into agile methods, and with links to other sites.

Read More Show Less

Table of Contents

1 Introduction 1
2 Iterative & Evolutionary 9
3 Agile 25
4 Story 41
5 Motivation 49
6 Evidence 63
7 Scrum 109
8 Extreme Programming 137
9 Unified Process 173
10 Evo 211
11 Practice Tips 247
12 Frequently Asked Questions 297
13 Bibliography 329
Read More Show Less

Preface

Introduction Overview

  • What's in this book?
  • Predictable versus new product development.

What value will you get from studying this book, an introduction to iterative and agile methods?

First, you will know the key practices of four noteworthy methods, Scrum, Extreme Programming (XP), the Unified Process (UP), and Evo (one of the original iterative methods). This is a "Cliffs Notes" summary, each chapter has something useful to you as a manager, developer, or student of development methods.

Second, your learning curve will be shortened, as this is a distilled learning aid. The four method chapters have the same structure, to speed comprehension and compare-contrast. There's a FAQ chapter, a "tips" chapter of common practices, and plenty of margin pointers to related pages—paper hyperlinks.

Third, you will know motivation and evidence. Some organizations accept the value of iterative development, but others are still reluctant. If you need to make a case for an iterative project experiment, you will find in this book the key reasons, research, examples of large projects, standards-body acceptance, a business case, and promotion by well-known thought leaders through the decades. The research and history sections are also of value to students of software engineering methods.

Note that agile methods are a subset of iterative methods; this book covers both types.

The chapters may be read in any order; the big picture is this:

1. Introduction, and predictable vs. inventive development.

2. Basic iterative and evolutionary method practices.

3. Summary of agile principles and methods.

4. An agile project story to pull some ideas together.

5-6. Motivation and evidence chapters for iterative and agile methods; useful for some.

7-10. Four method summaries on Scrum, XP, UP, and Evo. Note: practices can be mixed.

11. A tips chapter that expands on some of the method practices, plus others.

12. A frequently asked questions (FAQ) chapter.

Finally, people trump process. Every process book should probably include this standard disclaimer:

Process is only a second-order effect. The unique people, their feelings, qualities, and communication are more influential.Some problems are just hard, some people are just difficult. These methods are not salvation.
Software Is New Product Development

Consider building mobile phones on an assembly line: It is possible to unambiguously define the specifications and construction steps. After building some phones and measuring things, it is possible to reliably estimate and schedule the building of future phones.

A different problem: Build a custom house. The owner wants to use new environmentally friendly materials and methods, but isn't exactly sure what they want, and is going to change or clarify their decisions as they see the house, costs, and weeks unfold.

At one end of the spectrum, such as manufacturing phones, there are problems with low degrees of novelty or change, and high rates of repeated identical or near-identical creation—mass manufacturing or predictable manufacturing.

At the other end, there are problems with high degrees of novelty, creativity, and change, and no previous identical cases from which to derive estimates or schedules. This is the realm of new product development or inventive projects.

The development process, management values, planning and estimation models appropriately associated with these two domains are different (Table 1.1).

Of course, the point is,

Most software is not a predictable or mass manufacturing problem. Software development is new product development.

Plus, many projects use new and buggy technologies that exacerbate the degree of novelty and unpredictability. Note also it is a new product for the inexperienced even if it has been done before.

Since predictable manufacturing is the wrong paradigm for software, practices and values rooted in it are not helpful.

This mismatch lies at the heart of many of the challenges associated with traditional approaches to running a software project.A "waterfall" lifecycle, big up-front specifications, estimates, and speculative plans applicable to predictable manufacturing have been misapplied to software projects, a domain of inventive, high-change, high-novelty work.

Factors CP86 preventing reliable up-front specifications include:

  • The clients or users are not sure what they want.
  • They have difficulty stating all they want and know.
  • Many details of what they want will only be revealed during development.
  • The details are overwhelmingly complex for people.
  • As they see the product develop, they change their minds.
  • External forces (such as a competitor's product or service) lead to changes or enhancements in requests.

This deep appreciation—that building software is complex, new product development with high change rates, and not predictable manufacturing—is at the heart of the motivation for agile and iterative methods.

Certainly, another driving force is the desire to compete and win. Iterative and agile methods foster flexibility and maneuverability—a competitive advantage. In Agile Competitors and Virtual Organizations GNP97 the authors examine the limitations of the mass manufacturing model and the need for agility:

Agility ... is about succeeding and about winning: about succeeding in emerging competitive arenas, and about winning profits, market share, and customers in the very center of the competitive storms many companies now fear.
What's Next?

The next two chapters summarize basic practices and ideas of iterative, evolutionary, and agile methods. After that, a story chapter illustrates these practices with a concrete scenario.

Web Resources

Related book or journal article suggestions are given in their respective chapters. Web resource suggestions include:

Broad Link or Article Sites

www.agilealliance.com — Collects many articles specifically related to agile methods, plus links.

www.cetus-links.org — The Cetus Links site has specialized for years in object technology (OT). Under "OO Project Management—OOA/D Methods" it has many links to iterative and agile methods, even though they are not directly related to OT.

www.bradapp.net — Brad Appleton maintains a large collection of links on software engineering, including iterative methods.

www.iturls.com — The Chinese front page links to an English version, with a search engine referencing iterative and agile articles.

More Specific Sites

c2.com/cgi/wiki?FindPage — This important, vast Wiki site was the home ground where many of the agile leaders (and design pattern leaders) held their original discussions on XP and other agile methods.

www.extremeprogramming.org — Don Wells' (an early XP leader) introduction to XP.

www.xprogramming.com — Ron Jeffries' (an early XP leader) introduction to XP.

www.agilemodeling.com — Scott Ambler's site contains many articles related to agile modeling practices.

sunset.usc.edu — Associated with the work of Dr. Barry Boehm, a long-time researcher into iterative (e.g., Spiral) methods. Articles related to iterative methods.

www.cutter.com — Cutter's site has an Agile Project Management specialty area.

www.martinfowler.com — Martin Fowler is an early agile methods thought leader (XP method). Articles and links.

www.jimhighsmith.com — Jim Highsmith is an early agile methods thought leader (Adaptive Software Development method). Articles and links.

alistair.cockburn.us — Alistair Cockburn is an early agile methods thought leader (Crystal methods). Articles and links.

www.controlchaos.com — Ken Schwaber is an early agile methods thought leader (Scrum method). Articles and links.

jeffsutherland.com — Jeff Sutherland is an early agile methods thought leader (Scrum method). Articles and links.

www.gilb.com — Tom Gilb is one of the very earliest iterative and evolutionary thought leaders (Evo method). Articles and links.

www.craiglarman.com — My site. Articles and links.

www.objectmentor.com — Company led by Robert C. Martin, an early agile thought leader (XP related). Articles and links.

www.nebulon.com — Company led by Jeff De Luca, an early agile thought leader (Feature-Driven Development method). Articles and links.

www.dsdm.org — Official site for the DSDM method.

www.rational.com — Official site for the Rational Unified Process (RUP) iterative method.

name.case.unibz.it — Network for Agile Methodologies Experience (NAME). A European site that describes research into agile methods, and with links to other sites.

Read More Show Less

Customer Reviews

Be the first to write a review
( 0 )
Rating Distribution

5 Star

(0)

4 Star

(0)

3 Star

(0)

2 Star

(0)

1 Star

(0)

Your Rating:

Your Name: Create a Pen Name or

Barnes & Noble.com Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & Noble.com that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & Noble.com does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at BN.com or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation

Reminder:

  • - By submitting a review, you grant to Barnes & Noble.com and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Noble.com Terms of Use.
  • - Barnes & Noble.com reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & Noble.com also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on BN.com. It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

 
Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously
Sort by: Showing 1 Customer Reviews
  • Posted January 16, 2009

    more from this reviewer

    Good book on agile and iterative development

    Working on IBM Rational Team Concert, a web 2.0 based agile development tool, made me to pursue this book. This book gives a very good insight into agile and iterative development processes. Four key agile processes - Scrum, XP, UP and Evo are covered. Key topics covered in this book are:<BR/><BR/>- Summary of agile principles and methods<BR/>- How iterative development reduces project risk<BR/>- Iterative and agile development tips<BR/>- FAQs on agile development at the end of the book<BR/><BR/>I strongly recommend this book if you want to know what agile and iterative development is and what are key agile processes and how they work.

    Was this review helpful? Yes  No   Report this review
Sort by: Showing 1 Customer Reviews

If you find inappropriate content, please report it to Barnes & Noble
Why is this product inappropriate?
Comments (optional)