Introducing the Course
- Define Agile Software Engineering.
- Form your Agile Software team.
Connecting Principles and Practices to Built-In Quality
- Connect principles to practices.
- Describe XP practices.
- Explore key definitions.
- Describe Built-In Quality.
- Describe Tradeoffs.
Accelerating Flow
- Outline the flow of value.
- Validate the Benefit Hypothesis.
Applying Intentional Architecture
- Apply systems thinking.
- Explain the role of Agile architecture in supporting Lean-Agile development.
- Architect and design for testability.
Thinking Test-First
- Shift testing left.
- Explain the Agile testing matrix.
- Describe the role of Nonfunctional Requirements (NFRs).
- Build quality throughout the pipeline.
Discovering Story Details
- Examine story criteria.
- Split stories to reduce the Minimum Marketable Feature (MMF).
- Create workflow or story maps.
- Identify assumptions and risks.
Create a Shared Understanding with Behavior-Driven Development (BDD)
- Apply Behavior-Driven Development (BDD) for shared understanding.
- Specify desired behavior for domain terms.
- Describe behavior for business rules and algorithms with tests.
- Test the User Interface (UI).
- Apply Test Doubles to BDD.
- Find existing tests impacted by new requirements.
Communicating with Models
- Explain the use of models.
- Outline static models.
- Demonstrate Class-Responsibility -Collaboration (CRC) technique.
- Outline Dynamic models.
- Outline State models.
Building Systems with Code Quality
- Identify code qualities.
- Describe cohesion and coupling.
- Describe other code qualities.
- Explain the benefits of collective ownership.
Building Systems with Design Quality
- Explore design tradeoffs.
- Explain Interface-Oriented Design.
- Apply quality decomposition practices.
- Apply differentiation and synthesis.
- Apply software design patterns.
Implementing with Quality
- Design with tests.
- Apply Test-Driven Development (TDD) practices for writing software.
- Implement Test Doubles and tests data.
- Refactor to support new behavior of the code.
- Practice Emergent Design.
Course Review
- Summarize Agile Software Engineering.
- Review your action plan for implementing SAFe Agile Software Engineering principles and practices into your development process.