SAFe® ASE Course Outline


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.

Becoming a SAFe Agile Software Engineer