Course Badge
Back to results
Agile Software Design Professional (Course 944) Badge

Agile Software Design Professional (Course 944)

Taught by: Glen Wolfram
Stand out from the crowd with a certification that proves your knowledge and understanding of the scrum framework. The CSD® course is delivered by world-class trainers who have been extensively evaluated and vetted as leaders in technical practices, scrum, and agility. Successful completion of this course includes a two-year professional membership with Scrum Alliance and a globally recognized certification badge.
Glen Wolfram Trainer Photo
Back to results
 1 day |
 Start August 23, 2017 CUT
Early bird pricing

Course details


Location

person icon

In-Person

location pin icon

13650 Dulles Technology Drive, 1st Floor, Suite #175, Herndon, VA 20171, US

Schedule Details

Wednesday, August 23 | 9:00 AM - 5:00 PM CUT
Thursday, August 24 | 9:00 AM - 5:00 PM CUT
Friday, August 25 | 9:00 AM - 5:00 PM CUT

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 Development certification (ICP-ASD).

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

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
  • Scheduling risk mitigation
  • 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
  • Behavior 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

Important Course Information

Requirements:

  • Prior to attending this course, attendees should have attended:
  • Experience in programming and broad understanding of the software development life cycle

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

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.

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.

Exam Information:

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

Reviews

rating icon showing 0.00 stars. No ratings yet TrustPilot logo
This course does not have any reviews yet.

More courses by Glen

This trainer has no other upcoming courses of this type.