Table Of ContentTHE BUSINESS
VALUE OF AgILE
SOFTWARE METHODS
M ROi J - -t P
axiMizing with ust in iMe ROcesses
d
and OcuMentatiOn
J. Ross Publishing; All Rights Reserved
J. Ross Publishing; All Rights Reserved
THE BUSINESS
VALUE OF AgILE
SOFTWARE METHODS
M ROi J - -t P
axiMizing with ust in iMe ROcesses
d
and OcuMentatiOn
Dr. David F. Rico
Dr. Hasan H. Sayani
Dr. Saya Sone
Foreword by Dr. Jeffrey V. Sutherland
J. Ross Publishing; All Rights Reserved
Copyright 2009 by J. Ross Publishing
ISBN: 978-1-60427-031-0
Printed and bound in the U.S.A. Printed on acid-free paper
10 9 8 7 6 5 4 3 2 1
Library of Congress Cataloging-in-Publication Data
Rico, David F., 1964–
The business value of agile software methods: maximizing ROI
with just-in-time processes and documentation / by David F. Rico,
Hasan H. Sayani, and Saya Sone.
p. cm.
Includes bibliographical references and index.
ISBN 978-1-60427-031-0 (hardcover : alk. paper)
1. Agile software development. 2. Computer software—Development—
Costs.
I. Sayani, Hasan H., 1938- II. Sone, Saya, 1963- III. Title.
QA76.76.D47R558 2009
005.1—dc22
2009032545
This publication contains information obtained from authentic and highly regarded
sources. Reprinted material is used with permission, and sources are indicated.
Reasonable effort has been made to publish reliable data and information, but the author
and the publisher cannot assume responsibility for the validity of all materials or for the
consequences of their use.
All rights reserved. Neither this publication nor any part thereof may be reproduced,
stored in a retrieval system, or transmitted in any form or by any means, electronic,
mechanical, photocopying, recording or otherwise, without the prior written permission
of the publisher.
The copyright owner’s consent does not extend to copying for general distribution
for promotion, for creating new works, or for resale. Specific permission must be obtained
from J. Ross Publishing for such purposes.
Direct all inquiries to J. Ross Publishing, Inc., 5765 N. Andrews Way, Fort Lauderdale,
FL 33309.
Phone: (954) 727-9333
Fax: (561) 892-0700
Web: www.jrosspub.com
J. Ross Publishing; All Rights Reserved
Dedication
Dr. David F. Rico
This book is dedicated to my wife, Celia, and our four children, David, Serena,
Faith, and Christian. May we fi nd the rest and peace we so eagerly desire. This book
is also dedicated to my parents, who created a sense of purpose in their children, a
relentless desire for learning, and a foundation to pursue our dreams.
Dr. Hasan H. Sayani
This book is dedicated to my students. Their curiosity and thirst for knowledge
is truly inspiring! Especially the students at the University of Maryland University
College, who, while working full-time and participating in rich family lives, fi nd the
time to dedicate to the advancement of their skills and knowledge.
Dr. Saya Sone
This book is dedicated to my children, Sanshiro and Sid, who have sacrifi ced
so many of their formative years to support their mother in this journey. They have
inspired their mother to seek a better way of life for her family and have been an im-
mense source of pride, energy, joy, and happiness.
v
J. Ross Publishing; All Rights Reserved
0000__FFMM__0000ii--000000__ppgg__RRiiccoo..iinndddd vv 99//44//0099 1100::3322::5577 AAMM
J. Ross Publishing; All Rights Reserved
0000__FFMM__0000ii--000000__ppgg__RRiiccoo..iinndddd vvii 99//44//0099 1100::3322::5577 AAMM
Contents
Acknowledgments .............................................................................................xiii
About the Authors .............................................................................................xv
Foreword .........................................................................................................xvii
Preface .............................................................................................................xix
Web Added ValueTM .........................................................................................xxi
Chapter 1— Introduction to Agile Methods ...........................................1
1.1 What Are Agile Methods? ..........................................................................1
1.2 Why Agile Methods Emerged ....................................................................2
1.3 How Agile Methods Emerged ....................................................................3
1.4 First Agile Methods ...................................................................................3
1.5 Agile Methods Explosion ...........................................................................4
1.6 Summary ...................................................................................................5
1.7 Further Readings .......................................................................................5
Chapter 2— Values of Agile Methods ....................................................7
2.1 Major Values of Agile Methods ..................................................................7
2.2 Customer Collaboration ............................................................................8
2.3 Individuals and Interactions .......................................................................9
2.4 Working Software ......................................................................................9
2.5 Responding to Change .............................................................................10
2.6 Summary .................................................................................................10
2.7 Further Readings .....................................................................................11
Chapter 3— History of Agile Methods .................................................13
3.1 Project Management ................................................................................13
3.2 Software Methods ...................................................................................14
3.3 Software Standards ..................................................................................15
3.4 Process Improvement ..............................................................................15
3.5 Agile Methods .........................................................................................16
3.6 Summary .................................................................................................17
3.7 Further Readings .....................................................................................17
vii
J. Ross Publishing; All Rights Reserved
0000__FFMM__0000ii--000000__ppgg__RRiiccoo..iinndddd vviiii 99//44//0099 1100::3322::5577 AAMM
viii Contents
Chapter 4— Antecedents of Agile Methods .........................................19
4.1 New Product Development .....................................................................20
4.2 Systems Engineering ................................................................................20
4.3 Software Project Management .................................................................21
4.4 Software Engineering ...............................................................................21
4.5 Lean Thinking .........................................................................................22
4.6 Summary .................................................................................................23
4.7 Further Readings .....................................................................................23
Chapter 5— Types of Agile Methods....................................................25
5.1 Scrum ......................................................................................................25
5.2 Extreme Programming .............................................................................27
5.3 Dynamic Systems Development ..............................................................27
5.4 Feature Driven Development ..................................................................30
5.5 Crystal Methods ......................................................................................31
5.6 Summary .................................................................................................32
5.7 Further Readings .....................................................................................33
Chapter 6— Practices of Agile Methods ...............................................35
6.1 Onsite Customers ....................................................................................35
6.2 Pair Programming ....................................................................................37
6.3 Test-Driven Development .......................................................................38
6.4 Refactoring ..............................................................................................39
6.5 Release Planning ......................................................................................40
6.6 Summary .................................................................................................41
6.7 Further Readings .....................................................................................41
Chapter 7— Agile Project Management ...............................................43
7.1 Initiating Process Group ..........................................................................44
7.2 Planning Process Group ...........................................................................44
7.3 Executing Process Group.........................................................................45
7.4 Monitoring Process Group .......................................................................45
7.5 Closing Process Group ............................................................................46
7.6 Summary .................................................................................................47
7.7 Further Readings .....................................................................................47
Chapter 8— Agile Software Engineering ..............................................49
8.1 Requirements ..........................................................................................50
8.2 Architecture ............................................................................................50
8.3 Design .....................................................................................................51
8.4 Construction ...........................................................................................51
8.5 Testing .....................................................................................................52
8.6 Summary .................................................................................................53
8.7 Further Readings .....................................................................................53
J. Ross Publishing; All Rights Reserved
0000__FFMM__0000ii--000000__ppgg__RRiiccoo..iinndddd vviiiiii 99//44//0099 1100::3322::5577 AAMM
Contents ix
Chapter 9— Agile Support Processes ...................................................55
9.1 Documentation .....................................................................................55
9.2 Confi guration Management ...................................................................56
9.3 Quality Assurance ..................................................................................57
9.4 Verifi cation and Validation .....................................................................57
9.5 Maintenance ..........................................................................................58
9.6 Summary ...............................................................................................59
9.7 Further Readings....................................................................................59
Chapter 10— Agile Tools and Technologies .........................................61
10.1 Workfl ow Tools ......................................................................................62
10.2 Collaboration Tools................................................................................62
10.3 Development Tools................................................................................63
10.4 Support Tools ........................................................................................63
10.5 Technologies ..........................................................................................64
10.6 Summary ...............................................................................................65
10.7 Further Readings ...................................................................................65
Chapter 11— Comparison of Agile Methods .......................................67
11.1 Practices ................................................................................................67
11.2 Pros and Cons ........................................................................................68
11.3 Flexibility ..............................................................................................70
11.4 Risks ......................................................................................................71
11.5 Usage .....................................................................................................72
11.6 Summary ...............................................................................................73
11.7 Further Readings ...................................................................................73
Chapter 12— Agile Metrics and Models ..............................................75
12.1 Traditional Measures ..............................................................................75
12.2 Customer Collaboration ........................................................................76
12.3 Individuals and Interactions ...................................................................77
12.4 Working Software ..................................................................................78
12.5 Responding to Change ...........................................................................79
12.6 Summary ...............................................................................................80
12.7 Further Readings ...................................................................................81
Chapter 13— Surveys of Agile Methods ...............................................83
13.1 Microsoft ...............................................................................................84
13.2 UMUC ..................................................................................................85
13.3 AmbySoft ..............................................................................................86
13.4 IT Agile ................................................................................................87
13.5 Version One...........................................................................................88
J. Ross Publishing; All Rights Reserved
0000__FFMM__0000ii--000000__ppgg__RRiiccoo..iinndddd iixx 99//44//0099 1100::3322::5588 AAMM
Description:The Business Value of Agile Software Methods offers a comprehensive methodology for quantifying the costs and benefits of using agile methods to create innovative software products and shows a complete business value comparison between traditional and agile methods. It provides a roadmap for linking