ICAgile Agile Software Design (ICP-ASD)

Paths

ICAgile Agile Software Design (ICP-ASD)

Authors: Jim Weaver, Timothy Guay, Maaike van Putten

The ICP-ASD is one of two knowledge-based certifications on the Agile Engineering track. This certification focuses on technical design with an emphasis on simplicity and... Read more

  • Design and Architecture
  • Technical Leadership
  • Continuous Delivery

Pre-requisites

ICAgile Certified Professional - Agile Fundamentals

ICAgile Agile Software Design (ICP-ASD)

The ICP-ASD is one of two knowledge-based certifications on the Agile Engineering track. This certification focuses 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.

This training content was developed in alignment with the International Consortium for Agile's (ICAgile) Learning Outcomes for Agile Fundamentals. Upon successfully completing this path, participants are required to complete supplementary in-person training. Only participants who complete both paths are eligible for the certification.

ICAgile (ICP-ASD): Evolving Architecture and Design

by Jim Weaver

Jun 25, 2021 / 1h 14m

1h 14m

Start Course
Description

Most software systems will be exposed to unexpected change in many dimensions over their lifespan. Architectural aspects of a system can be hard to change once implemented, so how can a system’s architecture accommodate change? In this course, ICAgile (ICP-ASD): Evolving Architecture and Design, you’ll learn fundamental software engineering concepts, patterns, and approaches that affect a system’s adaptability. First, you'll discover how to apply measurement and automation to aid a system’s adaptability. Next, you'll also see how to ensure important architectural goals. Finally, you learn how constraints continue to be met as the system changes. When you’re finished with this course, you’ll have an understanding of how architectures can be made more responsive to changing needs and environments.

Table of contents
  1. Course Overview
  2. Understanding the Need for Evolvable Architectures
  3. Being Explicit About Architecture and Design
  4. Using Patterns and Principles to Achieve Flexible Architectures
  5. Using Automation and Measurement to Validate and Support Architectural Change
  6. Learning More

ICAgile (ICP-ASD): Leading Technical Teams

by Timothy Guay

Jun 30, 2021 / 40m

40m

Start Course
Description

Most people know that change is a constant in today's business environment, but what practices can you build and apply that will make you change ready? In this course, ICAgile (ICP-ASD): Leading Technical Teams, you’ll learn to become an Agile Technical Leader First, you’ll explore what is Agile technical leadership and why it is necessary Next, you’ll discover Agile Technical Leadership best practices. Finally, you’ll learn how to identify and avoid leadership anti-patterns. When you’re finished with this course, you’ll have the skills and knowledge of Agile Technical Leadership needed to provide the servant empowering leadership necessary to maximize the delivery of value to your customers and stakeholders.

Table of contents
  1. Course Overview
  2. What Is Agile Technical Leadership and Why Is It Important?
  3. Technical Leadership Best Practices and Anti-patterns

ICAgile (ICP-ASD): Enabling Continuous Delivery

by Maaike van Putten

Jun 22, 2021 / 35m

35m

Start Course
Description

Continuous delivery is making our lives as developers and operation engineers easier, but it also comes with new challenges and a new way of working. In this course, ICAgile (ICP-ASD): Enabling Continuous Delivery, you’ll learn everything you need to know to work in a continuous delivery agile environment. First, you’ll explore what continuous delivery is and what problems it is solving. Next, you’ll discover different patterns for continuous delivery. Finally, you’ll learn how the collaboration between development and operation changes in a continuous delivery environment. When you’re finished with this course, you’ll have the skills and knowledge of continuous delivery needed to work with it in an agile environment.

Table of contents
  1. Course Overview
  2. Continuous Delivery
  3. Continuous Delivery Patterns
  4. Collaboration between Development and Operations