Recommended Reading
F Failing fast,
Fast-flexible-flow goal, 14–16, 223–227 Fault, assigning, 8–9 Fear non-Agile projects, 35 planning without, 36–37 Feathers, Michael, 91, 205 Feature-driven development, 49 Features burn-up charts, 149–150 complexity, 233
MMFs. See Minimum marketable features in release planning, 122–129 Feedback in continuous planning, 122 degree of, 120 early, 37
JIT, as basis for, 17 Kanban, 96–97 late, 34–35
Lean portfolio management, 58–59, 61
levels, 43
for risk reduction, 27, 33 Scrum, 83, 89–90
Financial model for software, 27–31 Financial services case study, 49 FIT (Framework for Integrated Test),
165
FIT For Developing Software (Mugridge),
162
Five Whys technique, 19–20, 187 Flow in software development, 2–3,
14–16, 223–227 Focus Lean, 219 product, 45 time, 15–16 Ford, Henry, 9
Foundational thinking of Lean, 238–242 Framework, Scrum as, 83–84
Framework for Integrated Test (FIT), 165
Fuller, R. Buckminster, 172 Fully determined systems, 119
G
Gamma, Erich, 81–82
Generalists on Scrum teams, 88 Goals in Agile process, 170 Growth, environment for, 183 Guidelines Lean-Agile model, 239–240 transition, 172–173 H Harmon, Kent, 228 Heintz, John, 100 Helms, Richard, 81–82
Higher-priority features in Lean portfolio management, 67 “How will I know I’ve done that?”
question, 161, 163–165 Human nature issues in Scrum-of-
Scrums, 194–195 I Identification step release planning, 126 value, 44–45 Impediment Lists, 153
Implementing Lean Software Development: From Concept to Cash (Poppendieck
and Poppendieck), 228–229 Improvements
continuous learning and improve- ment, 172, 179, 215
from quality assurance, 161–163 team efficiency for, 38–39 testing for, 36
Incremental delivery in existing systems, 60
Information radiators, 138–139 Inspect-and-adapt in Scrum, 88–89 Installation costs in release strategies,
31 Integration
Agile process, 171 technical, 57
testing, elevations for, 132–134 Interruptions
minimizing, 63 in Scrum, 86 value added by, 139
Inventories, project portfolios for, 56–57
Investment periods in development projects, 28
Isolation of management, 190 IT organizations in Agile process,
178–179 Iteration 0, 109–100
checklist, 113–114 preparing for, 110–113 Iteration backlogs
clear line of sight for, 148 Iteration 0, 114
visual controls, 142–146 Iterative development
complexity and rework, 12 Product Coordination Team in,
200–201 Scrum vs. Lean, 93 vs. Waterfall projects, 34–35 J Japanese systems, 8, 214–216 Johnson, Ralph, 81–82 Jones, Daniel T. on fast-flexible-flow goal, 15, 223
Lean Thinking: Banish Waste and Create Wealth in Your Corporation, 228–229
Just-In-Time (JIT) Design, 8, 207 benefits, 16–18
Lean Science, 217 release planning, 121 Toyota example, 215 with visual controls, 146
K
Kaizens, 184 Kanban boards, 98 Kanban Dev list, 228
Kanban software engineering, 49 advantages, 100–101 introduction, 96–97 in product companies, 174–175 vs. Scrum, 101–104 teams, 98–99 vs. XP and Lean, 103–104
Kanban: Successful Change Management for Technology Organizations
(Anderson), 229 Kennedy, Michael
Product Development for the Lean Enterprise: Why Toyota’s System Is Four Times More Productive and How You Can Implement It, 228 Ready, Set, Dominate: Implement
Toyota’s Set-based Learning for Developing Products and Nobody Can Catch You, 228
Knowledge
creating, 12–13, 33, 185–186 Lean-Agile software development
model, 240–241 stewardship, 218–219 in team coordination, 198 Knowledge-based product develop-
L
Ladas, Corey, 229
Laws in Lean-Agile model, 239
Leader’s Handbook: Making Things Happen, Getting Things Done (Scholtes), 229
Lean-Agile list, 228
Lean Development list, 228 Lean Enterprise Institute, 89 Lean portfolio management, 53
approach, 63–67 benefits, 61–63 overview, 58–61 planning cycles, 67–68
portfolio characteristics, 56–58 progress estimation and tracking,
68–69
project selection, 54–56 Lean software development
and Agile, 22 batch times, 220 benefits, xxxviii–xxxix
bodies of knowledge, 216–217 complexity and rework, 10–14 core beliefs, xxxvii–xxxviii cross-functional teams, 222–223 defined, 5–6
fast-flexible-flow goal, 14–16, 223–227 fewer projects in, 219–220
JIT benefits, 16–18
knowledge stewardship, 218–219 learning about, 227
management, 218 methods, 79
minimum releasable features, 221 model, 237–243
new learning in, 78–79 organizational levels, 6–7 practicing, 226–227
principles and professionalism, 81–82 principles overview, 7–10
priorities and work-in-process, 221–222
process, 79–81
productivity and quality, 222 project focus, 219
root cause, 220–221 science, 217–218
vs. Scrum, Kanban, and XP, 103–104 Toyota example, 214–216
user groups, 228
value stream mapping, 18–22 visual controls in, 138–139
Lean Thinking: Banish Waste and Create Wealth in Your Corporation
(Womack and Jones), 228–229 Lean thinking in Scrum, 92–94 Learning methods, 77–78
approaches, 103–105
continuous learning and improve- ment, 172, 179, 215
defining, 79
Kanban. See Kanban software engineering
learning early, 37 new ways, 78–79
principles and practices, 81–82 processes, 79–81
Scrum. See Scrum method
Learning to Fly: Practical Lessons from one of the World’s Leading Knowledge Companies (Collison and Parcell),
229
Levels, organizational, 6–7 Lewin, Kurt, xxxv
Line of sight
in Lean portfolio management, 62–63 visual controls for, 148–150
Little’s law, 217
Local perspective in Scrum-of-Scrums, 194–195
Look ahead stories, 151
Loopbacks in value stream mapping, 18–19
M
Macroscopically predictable variables, 119 Management, 7, 181–182 balanced approach, 184–185 environment, 183 importance, 187–188 improving, 190–191 Kanban, 98–99 knowledge creation, 185–186 Lean, 218 overview, 48–49, 182–183
root cause determination, 186–187 in Scrum, 86
Scrum vs. Lean, 93 in software design, 208 for success, 189–190
Managing the Design Factory
(Reinertsen), 229, 243
Managing to Learn: Using the A3 Manage- ment Process to Solve Problems, Gain Agreement, Mentor, and Lead
(Shook), 229
Managing Transitions: Making the Most of Change (Bridges), 229
Mann, David, 229
Mapping, value stream, 18–22 Market position, Agile benefits for, 27 Maximizing business value, Product
Coordination Team for, 200 Meetings in Scrum methods, 153, 188,
194
Members for Product Coordination Team, 199–200
Mentoring frameworks, Product Coor- dination Team for, 202
Methods, defining, 79
Metrics in Agile transition, 173 Micromanagement, 79, 190–191 Microscopically predictable variables,
119–120
Minimum marketable features (MMFs) defined, 31 in IT organizations, 179 in Lean, 219 in product companies, 175 in release planning, 125–127, 130–131
Minimum releasable features, 221 Minnock, Ed, 228
Model of Lean-Agile software develop- ment, 237 foundational thinking, 238–242 future developments, 242–243 Moore, Geoffrey, 140 Motivation Scrum-of-Scrums, 194–195 teams, 37 Mugridge, Rick, 162 Multiple teams requirements involving, 196–197 visual controls for, 146–148
N
New learning in Lean-Agile, 78–79 Nondeterministic processes, 118–119
O
Obstacles in Agile process, 170–171 Ohno, Taiichi, 215
Optimizing whole production process, 14, 239 Organization inadequacies, 189 levels, 6–7 in Scrum vs. Lean, 93 Over-design, 204–206 P
Pain points in Agile transition, 173 Paradigms
evaluating, xxxvi Parcell, Geoff, 229 Pareto rule
Lean portfolio management, 67 vs. Parkinson’s Law, 135 for value, 29
Parkinson’s Law, 135 Payback periods, 28
PDCA (Plan-Do-Check-Act) cycle, 81 Perfection, testing for, 36
Permanent members on Product Coor- dination Teams, 199
Perspectives
Lean-Agile model, 238 quality assurance, 167 Scrum-of-Scrums, 194–195 Plan-Do-Check-Act (PDCA) cycle, 81 Planning cycles
Agile process, 171
Lean portfolio management, 67–68 Planning members on Product Coordi-
nation Team, 200 Plans and planning
without fear, 36–37
release. See Releases and release planning
in Scrum, 85, 90
short horizons in, 35–36 Platforms, elevations in, 134
Poppendieck, Mary and Poppendieck, Tom
Implementing Lean Software Development: From Concept to Cash, 228–229
Lean-Agile principles, 6, 239–240 Lean list, 228
on product focus, 45
Portfolio management. See Lean portfo- lio management
Powell, Colin, 109 Pragmatism, xxxiv–xxxvi
Predictability, degree of, 119–120
Principles and practices, xxxiii–xxxiv, 79–82, 238–242
Principles of Product Development Flow: Second Generation Lean Product Development (Reinertsen), 229,
242 Priorities
Agile process requirements, 171 Lean, 221–222
Lean portfolio management, 67 in release planning, 126–127 Process control case study, 105 Process(es)
building quality into, 14 critiquing, xxxiv–xxxv defined, 56
defining, 79–81
definition, degree of, 118–119 improvement, testing for, 36 in release planning, 118–120 Product backlogs
clear line of sight for, 148 Iteration 0, 113
with visual controls, 141–142 Product champions
defined, 55
in release planning, 121 Scrum, 88
Product Coordination Team (PCT) case study, 199
guidelines, 200–201 membership, 199–200
for mentoring framework, 202 overview, 198–199
Product Development for the Lean Enter- prise: Why Toyota’s System Is Four Times More Productive and How You Can Implement It (Kennedy), 228
Product direction in Scrum vs. Lean, 93 Product focus, 45
Product organizations Agile for, 38, 174–177 defined, 54–55
Product setup in Iteration 0, 110–111 Product vision, visual controls for,
140–141
Productivity in Lean, 222
Professionalism in Lean-Agile, 81–82 Profit margins, Agile benefits for, 27 Progress
estimating and tracking, 68–69 across teams, 196
Project charters in release planning, 122 Projects Agile, 34–37 defined, 56 Lean, 219 selecting, 54–56 Pull management, 217 Q
Quality and quality assurance, 157 ATDD, 134, 166
building in, 14, 158, 240 documentation for, 165 at end of development cycle,
160–161
improvements from, 161–163 introduction, 158–160 Lean, 222
Lean-Agile model, 240
Lean portfolio management, 61 perspective, 167
testing in, 36, 163–165 Toyota example, 215 Quality control, 157
Quarterly planning in Lean portfolio management, 68 Questions Agile, 170–172 quality assurance, 163–165 Scrum, 94 Queues in Lean, 223 R Random variables, 119
Ready, Set, Dominate: Implement Toyota’s Set-based Learning for Developing Products and Nobody Can Catch You (Kennedy, Harmon, and
Minnock), 228
Real options in Lean Science, 217 Real value in Enterprise Agility, 44–50 Redundancy, 161
Reinertsen, Donald
Managing the Design Factory, 229, 243
planning issues, 118
Principles of Product Development Flow: Second Generation Lean Product Development, 229, 242
on product failures, 2 Relative complexity, 233 Releases and release planning,
117–118 case study, 132 for delays, 58
elevations in, 124, 132–134 estimates and risk in, 134
in Lean portfolio management, 60 package strategies, 29–31
Pareto vs. Parkinson, 135 plan creation, 129–132 process evaluation, 118–120 product backlog with, 141–142 Scrum, 88
session overview, 124–129 tools, 125
transparent and continuous, 120–124
Remove delays principle, 13
Request for Proposals (RFPs), 27–28 Requirements and analysis, deferring
commitment to, 10–11 Resources
Agile process, 171
in Enterprise Agility, 45–48 Respect, 8
Lean principle, 8, 9–10 Lean-Agile model, 240 Responsible looks ahead, 111 Results in value stream mapping,
21–22
Return on investment, Agile benefits for, 27
Revenue, Agile benefits for, 27 Rework
iterative development for, 12 minimizing, 10–14
RFPs (Request for Proposals), 27–28 Risk
Agile benefits for, 27 delays as, 15 in release planning, 131–132, 134 speculation, 33 Toyota example, 216 Waterfall model, 16–17 Rogers, Will, 77 Root causes Agile process, 171 collaboration issues, 198 determining, 186–187 Lean, 220–221 testing for, 36
value stream mapping for, 18–20 Rotating Product Coordination Team
members, 199–200
S
Safely changeable code, 206–207 SBCE (Set-Based Concurrent Engineer-
ing), 216
Scholtes, Peter R., 229 Schwaber, Ken, xxix, 188 Science, Lean, 217–218
Scope, release planning by, 131 Scrum method, xxix, 44, 77–78
adoption, 80
anti-patterns, 95–96 Daily Stand-Up, 15
as framework, 83–84 incorrect beliefs, 85–89 information radiators in, 138 IT organizations, 178
vs. Kanban, 101–103 and Lean, 60, 92–94 learning, 81
limitations and problems, 89–91, 189–190
management role, 188 misunderstandings, 84–85 in product companies, 174–175 vs. XP, Kanban, and Lean, 103–104 Scrum# method, 92–94, 104 Scrum-of-Scrums method challenges, 194–195 defined, 84 dependency issues, 197 meetings, 194
vs. Product Coordination Teams, 199 team coordination, 90–91, 194,
196–198
Scrumban: Essays on Kanban Systems for Lean Software Development (Ladas),
229
Selecting projects, 54–56
Self-organizing teams in Scrum, 89 Set-Based Concurrent Engineering
(SBCE), 216
Shakespeare, William, 213 Shalloway, Alan
Agile Developer: A Guide to Better Programming and Design, 203
on backward-looking experiments, xxxv
on clobberation, 197
Design Patterns Explained: A New Perspective on Object-Oriented Design, 203, 207 on improvements, 137 Lean list, 228 management experience, 190 Shared code, 198
Shared requirements in Scrum-of- Scrums, 194
Shook, John
management roles, 89
Managing to Learn: Using the A3 Management Process to Solve Problems, Gain Agreement, Mentor, and Lead, 229
Short cycle times
Lean portfolio management, 67–68 release planning, 122
Short planning horizons, 35–36 Short queues in Lean, 223 Single-release strategy, 29–31
Software by Numbers: Low-Risk, High- Return Development (Denne and
Cleland-Huang), 28, 229 Software design and development,
203–204
for change, 206–207
commitment deferral, 11–12 Enterprise Agility, 49–50 Kanban, 97
over-design and under-design, 204–206
overview, 1–2 roles, 207–208 teams and flow, 2–3
Specialization in Lean, 224–226 Specifications, executable, 165 Speculation, risk in, 33
Speed in Lean portfolio management, 61
Spikes, 147
Splitting features in release planning, 126–127
Sprints in Scrum, 89–90 Staged-release strategy, 29–31
Starting methods in Scrum vs. Lean, 93 Stochastic processes, 118–119 Stories complexity, 233 for estimation, 69 in Iteration 0, 113 look ahead, 151 in release planning, 122–123, 126–129 Scrum, 88 Scrum vs. Lean, 93
Team Estimation Game, 233–235 Sub-optimization, 185
Sutherland, Jeff, xxix, 164 Swarming in Scrum, 94 System errors, 8–9
T
Target dates in release planning, 121 Tasks in release planning, 123 Taylor, Frederick, 184
Taylorism, 184
TDD (test-driven development), 44 overview, 166
principles, 81
Team Estimation Game, 126, 128, 233–235
Teams
Agile process, 171
coordinating. See Coordination of teams cross-functional, 222–223 efficiency, 38–39 Iteration 0, 111–112, 114 Kanban, 98–99 motivation, 37 in product companies, 174–176 Scrum, 86–92 software development, 2–3 visual controls for, 142–146 Technical debt, 112, 222 Technical dependencies, 197 Technical integration, 57 Test-driven development (TDD), 44 overview, 166 principles, 81
Testing
Agile process, 171 ATDD, 134, 166
executable specifications for, 165 Iteration 0, 114
for process and quality improve- ment, 36
questions for, 163–165 Scrum, 91, 94
up-front creation, 14, 36 Theophrastus, 5
Throughput in Little’s law, 217 Time, focus on, 15–16
Time-boxing, 96–97
Timeless Way of Building, The
(Alexander), 82
Top-down requirements in release planning, 123
Toyoda, Sakichi, 19 Toyota, 5–6
Just-In-Time, 8
Lean example, 214–216 root cause analysis, 19
Toyota Production System (TPS), 215–216
Training, 185
Transition approach in Iteration 0, 112 Transition guidelines for Agile process,
172–173
Transition paths in product companies, 177
Transparent release planning, 120–124 Trim tabs, 172–173 Trott, James R., 203, 207 Tyranny of management, 187 U Uncertainty, 33 Under-design, 204–206
Unpredictable random variables, 119 Up-front testing, 24, 36, 91
User groups for Lean, 228
Utilization theory in Lean, 217, 224
V
Value and value streams Agile for, 26–31 considerations, 2
Enterprise Agility, 42, 44–50 Product Coordination Team for, 200 in release planning, 125–127 in Scrum, 89–90
Value stream mapping in product companies, 177 purpose, 18
results, 21–22
root cause analysis, 18–21 van de Snepscheut, Jan L. A., xxxv Variables, random, 119
Visible velocity in release planning, 122 Vision
in Iteration 0, 113 in release planning, 121 Visual controls, 137
clear line of sight for, 148–150 complaints about, 154
for dependency management, 150–153
evaluating, 153
and information radiators, 138–139 iteration backlogs, 142–146
Kanban boards, 98 Lean-Agile, 139 limitations, 145–146
for multiple teams, 146–148 overview, 139
product backlog with release plans, 141–142
product vision, 140–141 Vlissides, John, 81–82