Important Agile Software Design Course Information
- Prior to attending this course, attendees should have attended:
- Experience in programming and broad understanding of the software development life cycle
- Work experience as any of the following: Software Developer, System Designer, Technical Architect Development Manager, Technical Team Lead, or other roles involved in technical design and development.
- Taking Course 933, Agile Programming Professional, is highly recommended, either before or after this course, to complete the ICAgile certification pathway for Agile Engineering
- While the course qualifies for an ICAgile certificate, the class is not written like an exam prep course. The material is designed for hands-on, Agile training in Software Design.
- Students will be emailed a short document to review before class. Understanding the content of this pre-course reading is required before class, so more in-class time can be devoted to Software Design in an Agile environment.
- ICAgile: To obtain ICAgile Certified Professional in Agile Software Design, students will need to pass the Learning Tree exam. Once notification of passing the exam has been received, contact Learning Tree's customer service to request registration with ICAgile.
- View the ICAgile Certification & Training Roadmap ›
- Scrum Alliance: To obtain Scrum Education Units (SEUs), students will need to pass the Learning Tree exam. Once notification of passing the exam has been received, contact Learning Tree's customer service to request registration with Scrum Alliance.
Agile Software Design Course Outline
Setting the Stage
- Agile design myths
- Applying the Agile principles to software design
- Where design fits into the Agile life cycle
- Other considerations
Architecture & Design
- Role of design-in-the-large
- Agile architecture principles
- Minimal viable architecture
- Capability Architecture
- Technology decisions and architecture spikes
- CRC card workshops
- Architecture Patterns
Design Principles and Paterns
- Simple Design
- Design principles – DRY, YAGNI and SOLID
- Design patterns – Observer and Factory
- Pros and cons of using design patterns
- Recognizing and addressing technical debt
- Tester-Developer-Developer collaboration
- The three amigos
- Discussing technical debt with stakeholders
- Developer operations collaboration
- Designing for automated testing
- Testing by bypassing the UI
- Testing through the UI
- Nonfunctional Testing
Continuous integration and delivery
- Continuous delivery
- Patterns for continuous delivery
Agile Software Design Training FAQs
Who is the International Consortium for Agile (ICAgile)?
ICAgile is a certification and accreditation body that collaborates with worldwide agile thought leaders to develop learning programs that lead people to agile mastery.
How do I achieve Certification in Software Design from ICAgile?
To obtain ICAgile Certified Professional in Agile Software Design, students will need to pass the Learning Tree exam. Once notification of passing the exam has been received, contact Learning Tree's customer service to request registration with ICAgile.
Can I earn a Certification in Software Design online?
Yes! We know your busy work schedule may prevent you from getting to one of our classrooms which is why we offer convenient online training to meet your needs wherever you want. This course is available in class and live online.
How does this help me achieve ICAgile Certified Expert In Agile Engineering?
What industry credits can I earn for this Agile Software Design course?
This course can help you earn 17 PMI PDUs, 17 NASBA credits (live, in-class participation only), and Scrum Alliance SEUs.