
The discipline of software engineering has evolved over the past decades with the introduction of Lean-Agile and DevOps principles and practices. New skills and approaches help organizations deliver software-centric solutions faster, more predictably and with higher quality. During this three-day, workshop-oriented course, attendees learn the foundational principles and practices that make up the Agile Software Engineering discipline. This three-day course prepares attendees for the SAFe® 5 Agile Software Engineer (ASE) Certification exam.
Learning Topics - 21hrs
Session 1
INTRODUCING THE COURSE
» Define Agile software engineering
» Form your Agile software engineering team
Session 2
CONNECTING PRINCIPLES AND
PRACTICES TO BUILT-IN QUALITY
» Connect principles to practices
» Describe XP practices
» Explore key defi nitions
» Describe built-in quality
» Describe trade-offs
Session 3
ACCELERATING FLOW
» Outline the flow of value
» Validate the benefit hypothesis
Session 4
APPLYING INTENTIONAL ARCHITECTURE
» Apply systems thinking
» Explain the role of Agile architecture in supporting
Lean-Agile development
» Architect and design for testability
Session 5
THINKING TEST-FIRST
» Shift testing left
» Explain the Agile testing matrix
» Describe the role of Nonfunctional Requirements (NFRs)
» Build quality in throughout the pipeline
Session 6
DISCOVERING STORY DETAILS
» Examine story criteria
» Split stories to reduce the Minimum Marketable Feature (MMF)
» Create workflow or story maps
» Identify assumptions and risks
Session 7
CREATING 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
Session 8
COMMUNICATING WITH MODELS
» Explain the use of models
» Outline static models
» Demonstrate Class-Responsibility-Collaboration (CRC)
» Outline dynamic models
» Outline state models
Session 9
BUILDING SYSTEMS
WITH CODE QUALITY
» Identify code qualities
» Describe cohesion and coupling
» Describe other code qualities
» Explain the benefits of collective ownership
Session 10
BUILDING SYSTEMS
WITH DESIGN QUALITY
» Explore design trade-offs
» Explain interface-oriented design
» Apply quality decomposition practices
» Apply differentiation and synthesis
» Apply software design patterns
Session 11
IMPLEMENTING WITH QUALITY
» Design with tests
» Apply Test-Driven Development (TDD) practices
» Implement test doubles and test data
» Refactor to support new behavior of the code
» Practice emergent design
Session 12
COURSE REVIEW
» Summarize Agile software engineering
» Review your action plan for adopting ASE principles and practices
Session 13
BECOMING A CERTIFIED PROFESSIONAL
» Becoming a Certified SAFe Professional