Lean-Agile Software Development: Achieving Enterprise Agility

Paperback
from $0.00

Author: Alan Shalloway

ISBN-10: 0321532899

ISBN-13: 9780321532893

Category: Programming Methodology

Search in google:

Agile techniques have demonstrated immense potential for developing more effective, higher-quality software. However,scaling these techniques to the enterprise presents many challenges. The solution is to integrate the principles and practices of Lean Software Development with Agile’s ideology and methods. By doing so, software organizations leverage Lean’s powerful capabilities for “optimizing the whole” and managing complex enterprise projects.A combined “Lean-Agile” approach can dramatically improve both developer productivity and the software’s business value.In this book, three expert Lean software consultants draw from their unparalleled experience to gather all the insights, knowledge, and new skills you need to succeed with Lean-Agile development.Lean-Agile Software Development shows how to extend Scrum processes with an Enterprise view based on Lean principles. The authors present crucial technical insight into emergent design, and demonstrate how to apply it to make iterative development more effective. They also identify several common development “anti-patterns” that can work against your goals, and they offer actionable, proven alternatives.Lean-Agile Software Development shows how to Transition to Lean Software Development quickly and successfully Manage the initiation of product enhancements Help project managers work together to manage product portfolios more effectively Manage dependencies across the software development organization and with its partners and colleagues Integrate development and QA roles to improve quality and eliminate waste Determine best practices for different software development teamsThe book’s companion Web site, www.netobjectives.com/lasd, provides updates, links to related materials, and support for discussions of the book’s content.

Series Foreword xviiPreface xxiAcknowledgments xxvAbout the Authors xxviiIntroduction xxixHow This Book Will Help You xxxThe Roots of Agility xxxThe Software Development PendulumxxxPrinciples and Paradigms xxxiiiA Pragmatic Approach xxxivCritique the Process, Work Together xxxivLean Provides the Way Forward xxxvEvaluating Paradigms xxxviWe Do Not Know It All xxxviiiLean Provides More than Beliefs xxxixGoing beyond Lean xlSummary xlTry This xliPART I Extending Our View beyond Projects 1 What Is Software Development? 1The Software Development Team and Flow 2Chapter 1 An Agile Developer’s Guide to Lean Software Development 5 Lean 5Lean Applies to Many Levels of the Organization 6A Quick Review of Some Lean Principles 7Look to Your Systems for the Source of Your Errors 8Respect People 9Minimizing Complexity and Rework 10Eliminating Waste and Deferring Commitment 10Using Iterative Development to Minimize Complexity and Rework 12Create Knowledge 12Deliver Early and Often 13Build Quality In 14Optimize the Whole 14Fast-Flexible-Flow 14Focus on Time 15Reflections on Just-In-Time (JIT) 16Value Stream Mapping 18Using Value Stream Mapping to Get to True Root Cause 18The Results 21Lean Goes beyond Agile 22Summary 22Try This 23Recommended Reading 23Chapter 2 The Business Case for Agility 25 The Benefits of Agile 26Add Value to the Business Quickly 26Help Clarify Customers’ Needs 31Promote Knowledge-Based Product Development and Better Project Management 34Focus on Product-Centered Development 38Improve Team Efficiency 38Summary 39Try This 39Recommended Reading 40Chapter 3 The Big Picture 41 Getting to Enterprise Agility 42How to Create Real Value for an Organization 44Identify Value 44Manage the Organization’s Resources 45Manage Projects 48Proper Software Engineering 49Summary 50Try This 50Recommended Reading 51Chapter 4 Lean Portfolio Management 53 The Challenge of Selecting Projects 54Introducing Terms 54Project Portfolios 56Project Portfolios Are Idea Inventories 56Should We Avoid Delays by Batching Project Analysis? 57Should We Avoid Delays by Increasing Releases? 58Lean Portfolio Management 58Why It Works 59It Is OK to Plan Releases 60With Existing Systems, Plan to Use Incremental Delivery 60The Benefits of Lean Portfolio Management 61Speed and Quality 61Line of Sight to Business Needs 62Minimizing Work-in-Process 62Minimizing Interruptions 63The Approach 63Shorter Planning Cycles 67Estimating and Tracking Progress 68Summary 70Try This 70Recommended Reading 71PART II Lean Project Management 73 Lean Provides Guidance 73Chapter 5 Going beyond Scrum 77 Learning a New Way 78Defining a Method While Not Being Restricted by It 79Defining a Process 79Principles and Practices Open the Door for Professionalism 81Knowing Where You Are 82Scrum Is a Framework 83Misunderstandings, Inaccurate Beliefs, and Limitations of Scrum 84Misunderstandings Commonly Held by New Scrum Practitioners 85Scrum Beliefs We Think Are Incorrect 85Limitations of Scrum That Must Be Transcended 89Unfortunate Consequences of These Beliefs 91Lean Thinking Provides the Necessary Foundation 92Introducing Scrum#–Scrum Embedded in Lean Thinking 92Introducing Kanban Software Engineering 96Managing the Work in the Kanban Team 98Advantages of Kanban 100Selecting an Approach 103Summary 106Try This 106Recommended Reading 107Chapter 6 Iteration 0: Preparing for the First Iteration 109 Getting Ready for Iteration 1 110Set Up the Product 111Set Up the Team 111Set Up the Environment 112Set Up the Architecture 113Iteration 0 Checklist 113Summary 115Try This 115Chapter 7 Lean-Agile Release Planning 117 Issues that Affect Planning 118Evaluating Processes 118Transparent and Continuous Planning 120Releases and Elevations 124Example: Release Planning Session 1241. Identify Features 1262. Prioritize Features, Left to Right 1263. Split Features Using the MMF Perspective 1264. Estimate the Value of Features 1265. Estimate the Cost of Features 1286. Elaborate Features 1287. Create the Release Plan 1298. Plan the Elevations 132A Few Notes 135On Estimation and Risk 135Pareto versus Parkinson 135Summary 136Try This 136Recommended Reading 136Chapter 8 Visual Controls and Information Radiators for Enterprise Teams 137 Visual Controls and Information Radiators 138Lean-Agile Visual Controls 139Product Vision: Providing the Big Picture 140Product Backlog with Release Plan 141Iteration Backlog 142The Visual Control for Multiple Teams 146Establishing Clear Line of Sight 148Managing Dependencies with Visual Controls 150Burn-Down and Burn-Up Charts 152The Impediment List 153How to Tell If You Have a Good Visual Control 153Summary 154Try This 154Recommended Reading 155Chapter 9 The Role of Quality Assurance in Lean-Agile Software Development 157 Introduction 158QA at the End of the Cycle Is Inherently Wasteful 160Improve Results by Moving QA Up Front 161When the Product Champion Will Not Answer Your Questions 163Executable Specifications and Magic Documentation 165Acceptance Test-Driven Development 166Summary 167Try This 167Recommended Reading 168Chapter 10 Becoming an Agile Enterprise 169 Where Do You Want to Go? 170What Gets in the Way? 170Guidelines for the Transition 172Where Do You Start? 173The Product Company 174The IT Company 178The IT Product Company 178The Importance of Continuous Process Improvement 179Summary 179Try This 180Chapter 11 Management’s Role in Lean-Agile Development 181 Lean-Agile Management 182Creating the Environment 183Lean-Agile’s Balanced Approach to Management 184Create Knowledge within the Team 185Get to the Root Cause 186Agile Software Development Is Not Anarchy 187Lack of Management May Equal Lack of Success 189Improving Management with Lean Thinking 190Summary 191Try This 191Recommended Reading 192Chapter 12 The Product Coordination Team 193 Getting Teams to Work Together 194Scrum-of-Scrums 194The Challenge of Coordinating Teams 195The Product Coordination Team 198Product Coordination Team Membership 199Product Coordination Team Guidelines 200Mentoring 202Summary 202Try This 202Chapter 13 Software Architecture and Design’s Role in Lean-Agile Software Development 203 Avoiding Over- and Under-Design 204Designing for Change 206The Role of Design in Software 207The Role of Management in Software Design 208Summary 208Try This 208Recommended Reading 209PART III Looking Back, Looking Forward 211 Chapter 14 Seeing Lean 213 Toyota: The First Great Example of Lean 214Three Bodies of Lean 216Lean Science 217Lean Management 218Lean Knowledge Stewardship 218Insights from Lean-Agile Coaches 219Focusing on One Project at a Time 219Initiating Fewer Projects Instead of Imploring Teams to Work Better 219Shortening Batch Times 220Getting to the Root Cause 220Knowing Where You Are: Minimum Releasable Features 221Priorities and Work-in-Process 221Productivity and Quality 222Cross-functional Teams 222The Mantra of Lean: Fast-Flexible-Flow 223An Example of Fast-Flexible-Flow 224Next Steps 227User Groups of Interest 228Books to Read 228Other Resources 230Summary 230Try This 230Appendix A: Team Estimation Game 233 Appendix B: A Model of Lean-Agile Software Development 237 Bibliography 245Index 249