Introduction
- TDD had a huge affect on software development
- TDD sales pitch to devs vs managers
- Resolving the disconnect
- Waste in TDD
- What’s in the book
- Is this book for you?
State of this in-progress book
- Foundations
Essential Components
- A successful software project
- Automation and Documentation
- Acceptance Tests and Developer Tests
- Continuous Integration
- Staging and Deployment
- Release Notes
- Notifying Users
- What’s this got to do with Lean TDD?
Building on TDD
- From Waterfall to Agile
- From Extreme Programming to TDD
- Test Driven Development
- TDD Interpretations
- Clarification with “Canon TDD”
- Understanding the Why of TDD
- Double Loop TDD, BDD, and ATDD
- A Need for Change
Building on Lean
- Lean Manufacturing
- Lean Software Development
- Lean Principles
- Especially Eliminating Waste
- Lean Practices
- What are we keeping?
- What are we dropping?
Finding Waste in TDD
- High level feature work flow
- Waste at a project scale
- Waste with multiple implementation teams
- Waste within TDD
- Waste from Splitting up QA and Dev
- Lean TDD Practices
Lean TDD Overview
Test Cases and Acceptance Criteria
- Features and a List of Test Cases
- Acceptance Criteria
- Defining Acceptance Criteria
- Defining Test Cases
Adding Test Cases as We Develop
- Refining Acceptance Criteria
Have a Testable Architecture
- Have an API
- Treat the UI as an Independently Tested Component
- API Adapters
Build Features from the Bones Out
Levels of Promises
Flipping the Pyramid
- The Testing Trophy
Everyone Can Run Every Test
- Collaboration Through Test Cases
- Keep Tests Readable
The Lean TDD Workflow
- The Lean TDD Workflow with Teams
- Considerations
The Role of Test Engineers
Test Coverage and Behavior Coverage
Balancing Testing and Monitoring
Conclusion
- Keep in Touch
- Is this it?