About the Course
The ICP-ASD program provides a hands-on learning journey focused on modern software design principles and Agile engineering practices. It enables software professionals to create maintainable, adaptive, and high-quality code aligned with Agile values. Participants explore how to evolve design in the presence of changing requirements, apply test-driven development, and adopt refactoring techniques that foster continuous improvement and sustainable delivery, building flexible architectures that respond rapidly to change.
What You Will Learn
- Apply Agile values and principles to guide design decisions
- Describe the importance of emergent design and evolutionary architecture
- Implement design patterns that support incremental change and maintainability
- Use TDD, BDD, and refactoring practices to ensure continuous design improvement
- Evaluate trade-offs between simplicity, flexibility, and performance
- Recognize the role of clean code and SOLID principles in sustaining agility
- Establish design practices that support continuous delivery and DevOps alignment
- Collaborate effectively across cross-functional teams to align design intent
Key Topics & Agenda
- Agile Design Foundations
- Design in Agile Contexts: Emergent Design and Evolutionary Architecture
- Clean Code and Design Practices: SOLID, GRASP, and Code Smells
- Testing as a Design Tool: TDD and BDD
- Evolving Design Through Feedback: CI/CD, Reviews, and Telemetry
- Design for Quality and Sustainability
Related Roles
Developer / Engineer, QA / Test Professional, Change & Transformation Lead