Browse / Design Tools / Concept Refactoring

Concept Refactoring

Refines concept designs using six transformational moves to balance trade-offs like flexibility vs. simplicity, generality vs. specificity, and automation vs. control.

The source repository doesn't declare a license. Check its terms before reusing the code.

Key features

  • Applies a framework of six transformational moves: Split/Merge, Unify/Specialise, and Tighten/Loosen.
  • Provides a step-by-step workflow for identifying design problems and selecting the appropriate move.
  • Addresses common design anti-patterns like monolithic concepts or feature proliferation.
  • Guides the evaluation of refactored concepts to ensure they align with design goals.
  • Offers a decision framework to balance trade-offs based on user expertise and workflow predictability.

Use cases

  • Refactoring a monolithic feature into smaller, more manageable components.
  • Deciding whether to combine several similar concepts into a single, more general one.
  • Improving a design by adding automation or providing more manual control to users.

FAQ

What does the Concept Refactoring skill do?

This skill applies a framework of six transformational moves (Split/Merge, Unify/Specialise, Tighten/Loosen) to help you refine system or software concept designs. It provides a structured way to balance key trade-offs like flexibility vs. simplicity and automation vs. user control.

When should I use this skill?

Use this skill when your concepts feel too complex or rigid, when users need more control or want more automation, or when you're deciding whether to combine multiple concepts or split a single, monolithic one. It's ideal for improving existing designs.

What are the 'six transformational moves'?

The six moves are three pairs of opposites that help balance design goals: 1. Split/Merge (for flexibility vs. simplicity), 2. Unify/Specialise (for generality vs. specificity), and 3. Tighten/Loosen (for automation vs. independent control).

How does this skill improve my design workflow?

It provides a systematic, step-by-step process for identifying design problems, selecting an appropriate refactoring move, and evaluating the outcome. This turns intuitive design tweaks into a repeatable practice, helping you solve common anti-patterns like monolithic concepts or feature proliferation.