ICAgile Agile Software Design Training

  • Learn via: Classroom / Virtual Classroom / Online
  • Duration: 2 Days
  • Download PDF
  • We can host this training at your preferred location. Contact us!

The purpose of this hands-on, three-day course is to help developers focus on technical design with an emphasis on simplicity and architecting for a low cost of change. The course emphasizes design patterns and teaches developers how to do the right level of design at the right time within the development cycle. Students will also spend considerable time exploring the value of a system that is test-driven, or uses a “test-first” approach.

An important part of this certification is to develop not only an understanding of the technical aspects of agile engineering and continuous delivery tools, but also approaches for structuring work in a more agile manner to respond to customer goals and lower technical risk. A goal of this certification is for students to become well versed in effective approaches to agile software design and engineering, with an emphasis on building in quality and lowering the cost of change.

Agile Developers, Programmers, Development Managers, Technical Team Leads or other team members involved in development or who would like to increase their agile programming knowledge.

We recommend that learners attend ICAgile – Agile Programming before attending this course.

Pre Course Reading

Learners should be familiar with the content and rationale in the agile manifesto and the Scrum Guide.

As a result of participating in the course, learners will be able to:

  • Apply software design techniques to improve efficiency and testability.
  • Refactor design by following the SOLID design principles.
  • Choose the most appropriate architecture by considering the needs of the needs of the stakeholders.



  • Enterprise Architecture
  • Views and Viewpoints of Stakeholders


  • Capability and Application Architecture
  • Design Throughout the Lifecycle
  • Sequencing the Work

Simplicity - Simple and Good Design

  • Simple Design
  • Evaluating Designs and Design Principles


  • Design Patterns
  • Architecture Patterns

Design for Automated Testing

  • Testing the System Bypassing the User Interface
  • Testing the System Through the User Interface
  • Non-Functional Testing

Technical Debt

  • Recognizing Technical Debt
  • Discussing Technical Debt Choices with Stakeholders


Technical Leadership

  • The Need for Technical Leadership
  • Characteristics of Technical Leadership


Continuous Delivery

  • Continuous Delivery
  • Developer-Operations Collaboration
  • Patterns for Continuous Delivery

Contact us for more detail about our trainings and for all other enquiries!