Product Development Patterns

How to Apply Patterns

To apply product development patterns, please follow these 5 steps:

  1. Identify Pain – Systematically investigate where you have problems, and prioritize them to find the right place to start. Look for "low hanging fruit": Areas that promise significant improvement with little effort.
  2. Measure Pain – Try to quantify the problem, which will allow you to see whether the application of patterns improved things. Qualitative measures are fine as well.
  3. Identify Pattern – Read through the catalog to find the pattern that is applicable in your situation to ease the pain.
  4. Implement Pattern – Put the pattern in place. Make sure that you take people, tools, methods and processes into account – only their interplay will produce good results.
  5. Measure the Outcome – Are you getting the expected result?
Click here to watch Micheal Jastram's presentation leading you through step-by-step applications and case studies of Product Development Patterns in Product Development.

How to use this Pattern Catalog?

  1. Identify a pain point, or an area that needs improvement. Some patterns help you with this (e.g. Engineering Efficiency Empowerment.)
  2. Measure what you want to improve. This can be quantified (duration of reviews) or qualitative (frustration level of engineers).
  3. Budget for the improvement initiative, both with respect to time and money.
  4. Find an owner, a sponsor and get buy-in from the team.
  5. Apply the pattern(s).
  6. Measure the outcome.

What are Patterns?

  • Initially developed by architect Christopher Alexander as a ”language to describe common architectural problems and their solutions".
  • Adapted in Software Engineering (Design Patterns) to capture “Elements of Reusable Object Oriented Software”.
  • Ever since, pattern languages have been developed for many fields.
  • Great way for capturing best practices without having to worry about their interplay initially.

Sometimes, the term "best practice" is used as well.

Classification By Discipline

Often, you know already what area needs improvement: Do you have:

  • Structural issues: Problems with your development artifacts, e.g. incoherent and missing traceability?
  • Quality issues?
  • Inconsistent or missing processes?
  • Problems with changes?

What are Product Development Patterns?

Product development patterns are intended to pragmatically:

  1. Address issues with product development, or
  2. Apply them for continuous improvement.

Generally, we assume that processes are already in place, so they are not intended to establish a development approach from scratch (there are plenty o frameworks available, SAFe, RUP, etc.)

Work in Progress!

This is work in progress. If you think an important pattern is missing, please message Michael Jastram on the Community. Do you think an existing pattern needs to be improved? Then please comment on the page of that pattern.