Design Patterns Thinking

Diverse team members having a meeting

Design patterns enable the emergent design that is needed on agile projects. Although patterns at one time were thought of as a “design up-front" technique, they can be used in Agile projects to encapsulate variations that are discovered over time. For development organizations to thrive in an agile environment, it is critical that the systems they create are not vulnerable to changing requirements, business priorities, technologies, or market pressures.

Improve your Software Team’s Ability to Deliver

This three-day course (21 PDUs) addresses key questions in modern development such as how to design systems that have changeability as a fundamental quality and how the team can communicate effectively when a design is in a constant state of change.

Our consultants have hands-on practical experience with applying Lean thinking to the delivery of software technology solutions. Our approach is to show how Lean applies to an incremental realization of software features and systems and how to apply practices that improve the team’s ability to deliver.

Why You Want to Attend This Course

  • To learn how to apply design patterns for evolutionary design
  • To increase the extensibility of your code through known design patterns
  • To improve your analysis of an ever-changing problem domain via a pattern orientation thought process 
  • To consider patterns in the context of testability (specifically unit testing), commonality-variability analysis, and a technique called “refactoring to the open-closed”
  • To move a design forward confidently even when there is an expectation that the sand beneath their feet will shift

Learning Objectives

In this course, you will learn how to:

  • Apply patterns thinking to enable your designs to emerge
  • Add functionality to designs while minimizing complexity
  • Discuss what design patterns really are and how they fit into your design tool kit
  • Describe twelve specific design patterns
  • Identify the code qualities you need to maintain to keep code flexible
  • Implement design patterns to keep code quality high
  • Apply several easy, low-cost practices that will improve the quality of your designs and code
  • Execute design patterns in an Agile environment

View Course Outline

Audience and Requirements

  • Software developers of all levels, from junior to senior to technical leads will benefit from this training.
  • Participants should be familiar with basic object-oriented concepts that are required to code in a modern programming language.

Register interest for your business

By submitting this form, you grant PMI permission to contact you about your inquiry. View our privacy policy.