Meyer Agile!
2014
ISBN: 978-3-319-05155-0
Verlag: Springer International Publishing
Format: PDF
Kopierschutz: 1 - PDF Watermark
The Good, the Hype and the Ugly
E-Book, Englisch, 170 Seiten, eBook
ISBN: 978-3-319-05155-0
Verlag: Springer International Publishing
Format: PDF
Kopierschutz: 1 - PDF Watermark
Are you attracted by the promises of agile methods but put off by the fanaticism of many agile texts? Would you like to know which agile techniques work, which ones do not matter much, and which ones will harm your projects? Then you need Agile!: the first exhaustive, objective review of agile principles, techniques and tools.
Agile methods are one of the most important developments in software over the past decades, but also a surprising mix of the best and the worst. Until now every project and developer had to sort out the good ideas from the bad by themselves. This book spares you the pain. It offers both a thorough descriptive presentation of agile techniques and a perceptive analysis of their benefits and limitations.
Agile! serves first as a primer on agile development: one chapter each introduces agile principles, roles, managerial practices, technical practices and artifacts. A separate chapter analyzes the four major agile methods: Extreme Programming, Lean Software, Scrum and Crystal.
The accompanying critical analysis explains what you should retain and discard from agile ideas. It is based on Meyer’s thorough understanding of software engineering, and his extensive personal experience of programming and project management. He highlights the limitations of agile methods as well as their truly brilliant contributions — even those to which their own authors do not do full justice.
Three important chapters precede the core discussion of agile ideas: an overview, serving as a concentrate of the entire book; a dissection of the intellectual devices used by agile authors; and a review of classical software engineering techniques, such as requirements analysis and lifecycle models, which agile methods criticize.
The final chapters describe the precautions that a company should take during a transition to agile development and present an overall assessment of agile ideas.
This is the first book to discuss agile methods, beyond the brouhaha, in the general context of modern software engineering. It is a key resource for projects that want to combine the best of established results and agile innovations.
Zielgruppe
Professional/practitioner
Autoren/Hrsg.
Weitere Infos & Material
1;Preface;6
2;Contents;14
3;1 Overview;19
3.1;1.1 VALUES;20
3.2;1.2 PRINCIPLES;22
3.2.1;1.2.1 Organizational principles;23
3.2.2;1.2.2 Technical principles;24
3.3;1.3 ROLES;25
3.4;1.4 PRACTICES;26
3.4.1;1.4.1 Organizational practices;26
3.4.2;1.4.2 Technical practices;27
3.5;1.5 ARTIFACTS;28
3.5.1;1.5.1 Virtual artifacts;28
3.5.2;1.5.2 Material artifacts;29
3.6;1.6 A FIRST ASSESSMENT;30
3.6.1;1.6.1 Not new and not good;30
3.6.2;1.6.2 New and not good;31
3.6.3;1.6.3 Not new but good;32
3.6.4;1.6.4 New and good!;32
4;2 Deconstructing agile texts;34
4.1;2.1 THE PLIGHT OF THE TRAVELING SEMINARIST;34
4.1.1;2.1.1 Proof by anecdote;35
4.1.2;2.1.2 When writing beats speaking;36
4.1.3;2.1.3 Discovering the gems;37
4.1.4;2.1.4 Agile texts: reader beware!;38
4.2;2.2 THE TOP SEVEN RHETORICAL TRAPS;39
4.2.1;2.2.1 Proof by anecdote;39
4.2.2;2.2.2 Slander by association;40
4.2.3;2.2.3 Intimidation;40
4.2.4;2.2.4 Catastrophism;43
4.2.5;2.2.5 All-or-nothing;44
4.2.6;2.2.6 Cover-your-behind;44
4.2.7;2.2.7 Unverifiable claims;45
5;3 The enemy: Big Upfront Anything;48
5.1;3.1 PREDICTIVE IS NOT WATERFALL;48
5.2;3.2 REQUIREMENTS ENGINEERING;49
5.2.1;3.2.1 Requirements engineering techniques;49
5.2.2;3.2.2 Agile criticism of upfront requirements;49
5.2.3;3.2.3 The waste criticism;50
5.2.4;3.2.4 The change criticism;52
5.2.5;3.2.5 The domain and the machine;53
5.3;3.3 ARCHITECTURE AND DESIGN;54
5.3.1;3.3.1 Is design separate from implementation?;54
5.3.2;3.3.2 Agile methods and design;56
5.4;3.4 LIFECYCLE MODELS;58
5.5;3.5 RATIONAL UNIFIED PROCESS;59
5.6;3.6 MATURITY MODELS;60
5.6.1;3.6.1 CMMI in plain English;61
5.6.2;3.6.2 The Personal Software Process;63
5.6.3;3.6.3 CMMI/PSP and agile methods;63
5.6.4;3.6.4 An agile maturity scale;64
6;4 Agile principles;65
6.1;4.1 WHAT IS A PRINCIPLE?;65
6.2;4.2 THE OFFICIAL PRINCIPLES;66
6.3;4.3 A USABLE LIST;67
6.4;4.4 ORGANIZATIONAL PRINCIPLES;67
6.4.1;4.4.1 Put the customer at the center;67
6.4.2;4.4.2 Let the team self-organize;69
6.4.3;4.4.3 Work at a sustainable pace;72
6.4.4;4.4.4 Develop minimal software;74
6.4.5;4.4.5 Accept change;84
6.5;4.5 TECHNICAL PRINCIPLES;86
6.5.1;4.5.1 Develop iteratively;86
6.5.2;4.5.2 Treat tests as a key resource;91
6.5.3;4.5.3 Do not start any new development until all tests pass;92
6.5.4;4.5.4 Test first;93
6.5.5;4.5.5 Express requirements through scenarios;93
7;5 Agile roles;95
7.1;5.1 MANAGER;95
7.2;5.2 PRODUCT OWNER;96
7.3;5.3 TEAM;96
7.3.1;5.3.1 Self-organizing;96
7.3.2;5.3.2 Cross-functional;97
7.4;5.4 MEMBERS AND OBSERVERS;98
7.5;5.5 CUSTOMER;98
7.6;5.6 COACH, SCRUM MASTER;100
7.7;5.7 SEPARATING ROLES;102
8;6 Agile practices: managerial;104
8.1;6.1 SPRINT;104
8.1.1;6.1.1 Sprint basics;104
8.1.2;6.1.2 The closed-window rule;105
8.1.3;6.1.3 Sprint: an assessment;106
8.2;6.2 DAILY MEETING;106
8.3;6.3 PLANNING GAME;108
8.4;6.4 PLANNING POKER;109
8.5;6.5 ONSITE CUSTOMER;111
8.6;6.6 OPEN SPACE;111
8.7;6.7 PROCESS MINIATURE;112
8.8;6.8 ITERATION PLANNING;113
8.9;6.9 REVIEW MEETING;114
8.10;6.10 RETROSPECTIVE;114
8.11;6.11 SCRUM OF SCRUMS;114
8.12;6.12 COLLECTIVE CODE OWNERSHIP;115
8.12.1;6.12.1 The code ownership debate;115
8.12.2;6.12.2 Collective ownership and cross-functionality;117
9;7 Agile practices: technical;118
9.1;7.1 DAILY BUILD AND CONTINUOUS INTEGRATION;118
9.2;7.2 PAIR PROGRAMMING;120
9.2.1;7.2.1 Pair programming concepts;121
9.2.2;7.2.2 Pair programming versus mentoring;122
9.2.3;7.2.3 Mob programming;122
9.2.4;7.2.4 Pair programming: an assessment;122
9.3;7.3 CODING STANDARDS;124
9.4;7.4 REFACTORING;124
9.4.1;7.4.1 The refactoring concept;124
9.4.2;7.4.2 Benefits and limits of refactoring;125
9.4.3;7.4.3 Incidental and essential changes;127
9.4.4;7.4.4 Combining a priori and a posteriori approaches;128
9.5;7.5 TEST-FIRST AND TEST-DRIVEN DEVELOPMENT;128
9.5.1;7.5.1 The TDD method of software development;128
9.5.2;7.5.2 An assessment of TFD and TDD;130
10;8 Agile artifacts;131
10.1;8.1 CODE;131
10.2;8.2 TESTS;131
10.3;8.3 USER STORIES;133
10.4;8.4 STORY POINTS;135
10.5;8.5 VELOCITY;137
10.6;8.6 DEFINITION OF DONE;139
10.7;8.7 WORKING SPACE;139
10.8;8.8 PRODUCT BACKLOG, ITERATION BACKLOG;140
10.9;8.9 STORY CARD, TASK CARD;141
10.10;8.10 TASK AND STORY BOARDS;141
10.11;8.11 BURNDOWN AND BURNUP CHARTS;142
10.12;8.12 IMPEDIMENT;143
10.13;8.13 WASTE, TECHNICAL DEBT, DEPENDENCY, DEPENDENCY CHARTS;143
11;9 Agile methods;146
11.1;9.1 METHODS AND METHODOLOGY;146
11.1.1;9.1.1 Terminology;146
11.1.2;9.1.2 The fox and the hedgehog;146
11.2;9.2 LEAN SOFTWARE AND KANBAN;147
11.2.1;9.2.1 Lean Software’s Big Idea;147
11.2.2;9.2.2 Lean Software’s principles;147
11.2.3;9.2.3 Lean Software: an assessment;148
11.2.4;9.2.4 Kanban;149
11.3;9.3 EXTREME PROGRAMMING;150
11.3.1;9.3.1 XP’s Big Idea;150
11.3.2;9.3.2 XP: the unadulterated source;150
11.3.3;9.3.3 Key XP techniques;151
11.3.4;9.3.4 Extreme Programming: an assessment;152
11.4;9.4 SCRUM;152
11.4.1;9.4.1 Scrum’s Big Idea;152
11.4.2;9.4.2 Key Scrum practices;153
11.4.3;9.4.3 Scrum: an assessment;153
11.5;9.5 CRYSTAL;154
11.5.1;9.5.1 Crystal’s Big Idea;154
11.5.2;9.5.2 Crystal principles;154
11.5.3;9.5.3 Crystal: an assessment;155
12;10 Dealing with agile teams;157
12.1;10.1 GRAVITY STILL HOLDS;157
12.2;10.2 THE EITHER-WHAT-OR-WHEN FALLACY;158
13;11 The Ugly, the Hype and the Good: an assessment of the agile approach;160
13.1;11.1 THE BAD AND THE UGLY;160
13.1.1;11.1.1 Deprecation of upfront tasks;160
13.1.2;11.1.2 User stories as a basis for requirements;161
13.1.3;11.1.3 Feature-based development and ignorance of dependencies;161
13.1.4;11.1.4 Rejection of dependency tracking tools;161
13.1.5;11.1.5 Rejection of traditional manager tasks;161
13.1.6;11.1.6 Rejection of upfront generalization;162
13.1.7;11.1.7 Embedded customer;162
13.1.8;11.1.8 Coach as a separate role;162
13.1.9;11.1.9 Test-driven development;162
13.1.10;11.1.10 Deprecation of documents;162
13.2;11.2 THE HYPED;163
13.3;11.3 THE GOOD;164
13.4;11.4 THE BRILLIANT;165
14;Bibliography;166
15;Index;174




