Agile Software Design Professional

Duration: 
3 days
Codes: 
944

Overview

Learn effective approaches to Agile software design and improve quality through simplicity at a low cost of change. Use design patterns to develop robust, maintainable and testable software in this course. Gain the skills to do the right level of design at the right time within the Agile development cycle and earn the industry-recognized ICAgile Agile Software Design certification (ICP-ASD).

Skills Gained

You Will Learn How To You Will Learn How To

  • Leverage Agile software design techniques to improve efficiency and testability
  • Conduct a Class Responsibility Collaboration (CRC) Design Workshop
  • Create a minimum viable architecture
  • Apply SOLID design principles and refactor design smells
  • Use test patterns and write tests using BVA and All-Pairs

Prerequisites

Important Course Information Important Course Information Requirements: Requirements:

  • Prior to attending this course, attendees should have attended:
    • Course 918, Agile Fundamentals: Scrum, Kanban, Lean and XP, or
    • Course 1813, Certified ScrumMaster
  • Experience in programming and broad understanding of the software development life cycle

Prior to attending this course, attendees should have attended:

  • Course 918, Agile Fundamentals: Scrum, Kanban, Lean and XP, or
  • Course 1813, Certified ScrumMaster

Course 918 Course 918 , Agile Fundamentals: Scrum, Kanban, Lean and XP, or

Course 1813 Course 1813 , Certified ScrumMaster

Experience in programming and broad understanding of the software development life cycle Recommended Experience: Recommended Experience:

  • 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

Taking Course 933 Course 933 , Agile Programming Professional, is highly recommended, either before or after this course, to complete the ICAgile certification pathway for Agile Engineering Course Materials: Course Materials:

  • 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.

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. Course Preparation: Course Preparation:

  • 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.

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. Exam Information: Exam Information:

  • View the ICAgile Certification & Training Roadmap ›

View the ICAgile Certification & Training Roadmap › View the ICAgile Certification & Training Roadmap ›

  • This course can help you earn Scrum Alliance's Certified Scrum Developer (CSD) certification. Click to view our options for CSD - Certified Scrum Developer Training ›
  • This course can help you earn ICAgile certification. Click to view our options for ICAgile Certification Training ›

This course can help you earn Scrum Alliance's Certified Scrum Developer (CSD) certification. Click to view our options for

CSD - Certified Scrum Developer Training ›

This course can help you earn ICAgile certification. Click to view our options for

ICAgile Certification Training ›

Course Outline

  • Setting the Stage
  • Agile design myths
  • Applying the Agile principles to software design
  • Where design fits into the Agile life cycle
  • Planning Patterns and Risk

Planning patterns

  • ROI-based
  • WSJF
  • Risk-based
  • Dependency-based
  • Other considerations
  • Risk

Technical risk reduction

  • Risk spikes
  • Prototypes
  • Walking skeleton

Scheduling risk mitigation

  • Non-technical risks
  • Risk-adjusted backlog
  • Architecture & Design

Architecture

  • Role of design-in-the-large
  • Agile architecture principles
  • Minimal viable architecture
  • Partitioning and component level architecture
  • Technology decisions and architecture spikes
  • CRC card workshops
  • Behaviour drive design and specification by example

Detailed design

  • Design principles – DRY, YAGNI and SOLID
  • Design patterns – Observer and Factory
  • Pros and cons of using design patterns
  • Stakeholders and the Wisdom of the Crowd
  • Tester-Developer-Developer collaboration
  • The three amigos
  • Discussing technical debt with stakeholders
  • Developer operations collaboration
  • Testing

ATDD

  • Testing as specification and document
  • ATDD process
  • ATDD as an aid to design thinking
  • ATDD styles and tools

Testing patterns

  • Designing for automated testing
  • Testing the tests
  • Test smells and their solution
  • Test refactoring

Test coverage and speed

  • Test coverage – BVA and All-Pairs
  • Test speed and dealing with slow tests

Continuous integration and delivery

  • Build pipeline
  • Build tools
  • Version control
  • Continuous delivery

Thinking about Onsite?

If you need training for 3 or more people, you should ask us about onsite training. Putting aside the obvious location benefit, content can be customised to better meet your business objectives and more can be covered than in a public classroom. It's a cost effective option.

Submit an enquiry from any page on this site, and let us know you are interested in the requirements box, or simply mention it when we contact you.

Upcoming Dates

  • GREEN This class is Guaranteed To Run.
  • SPVC - Self-Paced Virtual Class.
  • Click a Date to Enroll.
Course Location Days Cost Date
Onsite
Onsite3 1500 £1500 2019-02-15
London
London3 1695 £1695 2019-02-27
London
London3 1500 £1500 2019-03-04
London
London3 1695 £1695 2019-06-26