Log In
Or create an account -> 
Imperial Library
  • Home
  • About
  • News
  • Upload
  • Forum
  • Help
  • Login/SignUp

Index
The Art of Lean Software Development
SPECIAL OFFER: Upgrade this ebook with O’Reilly Preface
Who Should Read This Book? Conventions Used in This Book Using Code Examples Safari® Books Online Comments and Questions Acknowledgments
1. Why Lean?
The Problem with Software Development
The CHAOS Study The Waterfall Method
A historical accident
The Agile Success Story
The Agile Manifesto Agile Methodologies
The Lean Success Story
A Whirlwind History of Lean
Just-In-Time Autonomation (Jidoka) Waste (Muda)
Lean Principles
2. Applying Lean to Software Development
Lean Software Development
Eliminate Waste
Defects → defects Overproduction → extra features Transportation → handoffs Waiting → delays Inventory → partially completed work Motion → task switching (Over) processing → unneeded processes
Build Quality in Create Knowledge Defer Commitment Deliver Fast Respect People Optimize the Whole
Lean Versus Agile Getting Started
The Good News
3. Practice 0: Source Code Management and Scripted Builds
About Zero Practices Source Code Management
Benefits Centralized SCM
Command line versus GUI tool
Distributed SCM If You Don’t Know Where to Start
Scripted Builds Discipline in an Integrated Environment
Share Coordinate
Summary
4. Practice 1: Automated Testing
Why Test? What Is Automated Testing?
The Test Harness and Test Suites Running Automated Tests
Kinds of Tests
Unit Tests Mocks and Stubs Integration Tests Behavior Tests Executable Specifications Nonfunctional Testing User Interface Testing
Approaches to Testing
Using Setup and Teardown Testing with Databases Test-Driven Development Red, Green, Refactor Legacy Code Behavior-Driven Development
Summary
5. Practice 2: Continuous Integration
End-to-End Automated Builds
Building from Scratch End-to-End Builds Reporting Results
Dedicated Build Servers
Dedicated Build Servers Isolate Build Activities Dedicated Build Servers Provide a Well-Known Build Environment Configuration Dedicated Build Servers Require Extra Hardware
Continuous Integration Software
CI Servers Detect Changes in the SCM Repository CI Servers Invoke Build Scripts CI Servers Report Build Results CI Servers Can Schedule Builds
Implementing Continuous Integration
Developers and the CI Process
Continuous Integration Builds Quality in
Aid Debugging by Limiting the Scope of Errors Provide Immediate Feedback for Changes Minimize Integration Effort Minimize Propagation of Defects Create a Safety Net for Developers Ensure the Latest and Greatest Software Is Always Available Provide a Snapshot of the Current State of the Project
Resistance to Implementing CI
CI Requires Extra Hardware CI Requires New Software CI Adds Maintenance Tasks CI for Legacy Code Is Expensive
Summary
6. Practice 3: Less Code
Leaning out the Codebase
Eliminate Unnecessary Code Employ Good Coding Practices Justify All New Code
Developing Less Code
Prioritize Requirements Develop in Short Iterations Develop Only for the Current Iteration Avoid Unnecessary Complexity Reuse Existing Software Use Coding Standards and Best Practices Use Design Patterns Refactor Code and Design
Resistance to “Less Code” Summary
7. Practice 4: Short Iterations
Short Iterations Generate Customer Value
Increase Feedback Opportunities Make Course Corrections
Developing with Short Iterations
Work to Prioritized Requirements Set an Iteration Length and Stick to It End Each Iteration with a Demo Deliver the Iteration’s Product to the Customer
The Fallacy of Iterative Development Big Tasks in Little Pieces Summary
8. Practice 5: Customer Participation
Customer Participation Is a Two-Way Street
Involve the Customer Throughout the Development Process Keep the Customer Informed Act on Customer Feedback
Paving the Street
Designate a Product Owner Engage the Customer in Writing Requirements and Acceptance Tests Provide Project Status Provide Access to the Product Create a Feedback Path Find CRACK Customer Representatives
An All-Too-Common Problem Summary
9. What Next?
Lean Thinking and the Analysis Practices Kaizen Kaizen Workshops Value Stream Maps Other Lean Techniques
Root Cause Analysis (Five Whys) Kanban Make It Visible
Other Complementary Approaches
Theory of Constraints Six Sigma Capability Maturity Model Integration
Where to Go from Here
A. Resources
Chapter 1: Why Lean? Chapter 2: Applying Lean to Software Development Chapter 3: Practice 0: Source Code Management and Scripted Builds Chapter 4: Practice 1: Automated Testing Chapter 5: Practice 2: Continuous Integration Chapter 6: Practice 3: Less Code Chapter 7: Practice 4: Short Iterations Chapter 8: Practice 5: Customer Participation Chapter 9: What Next? Other
Index About the Authors Colophon SPECIAL OFFER: Upgrade this ebook with O’Reilly
  • ← Prev
  • Back
  • Next →
  • ← Prev
  • Back
  • Next →

Chief Librarian: Las Zenow <zenow@riseup.net>
Fork the source code from gitlab
.

This is a mirror of the Tor onion service:
http://kx5thpx2olielkihfyo4jgjqfb7zx7wxr3sd4xzt26ochei4m6f7tayd.onion