View on GitHub

Cross-Disciplinary Software Team Spaces

A Pattern Language

Trying Out Options

Summary

Test multiple approaches at the same time. This helps you find better solutions and make smart choices based on real experience instead of guessing.

Context

Teams often face decisions where several good solutions exist. You cannot see the trade-offs between approaches just by analyzing them. Most teams pick one option and commit to it before they understand how it works in real life.

Problem

When you commit to one approach too early, you might miss better options. When you spend too much time analyzing and debating options, you delay progress. You only get real insights when you actually try things out.

Solution

Instead of picking one option to test, try several alternatives at the same time through small trials. This lets you learn from multiple paths at once. You can see hidden strengths and weaknesses, and compare based on real results instead of theory.

Forces

Implementation

  1. Frame the Challenge: Find the decision area and good alternatives worth exploring
  2. Keep Scope Small: Limit trials to make results easier to compare and control costs
  3. Design Parallel Options: Make sure each path is different enough to show real differences
  4. Run Side-by-Side Trials: Test multiple solutions at the same time or one after another under similar conditions
  5. Compare Outcomes: Use both numbers and feedback to assess trade-offs
  6. Decide Based on Evidence: Pick, combine, or drop options based on what you observe

Examples

API Design Approach:

Team Organization:

Development Process:

Sources