Overview

Overview of the crosscutting patterns

How it works

  1. Start with collecting issues — mainly in the Analyze phase. Based upon your findings, maintain an issue list.
  2. Evaluate those, determine values, preferably cost. This ensures you later solve important and relevant issues.
  3. Collect opportunities for improvement and evaluate those too.
  4. Align issues and potential improvements; plan improvements in an Improvement Backlog.
  5. Continuously strive to increase your architectural understanding, as this facilitates identification of additional issues and improvements.

Collect issues and improvements

Cross-cutting patterns and practices

  • Architectural Understanding

    Document relevant structures, concepts, decisions, interfaces etc. of the system to locate issues, risks and opportunities for improvement.

  • Collect Issues

    Keep a list of problems, issues and risks. Regularly match those to your collection of possible remedies.

  • Collect Opportunities for Improvement

    Keep a list of possible and potential measures, remedies, tactics, strategies for improvements. Regularly match those to your collection of issues.

  • Document Problems stub

    See Improvement Backlog.

  • Expect Denial

    Some people will oppose your findings, will whitewash or sugarcoat issues, problems or root causes. Regardless on how careful you prepared your analysis, they will try to diminish or attack your findings.

  • Explicit Assumption

    Compensate missing facts (especially requirements, goals, estimates, opinions) by explicit (usually written) assumptions about those facts.

  • Fail Fast

    Identify quality issues as early as possible and aim to fix them.

  • Fast Feedback

    Evaluate the quality of work artifacts and processes as early as possible. Enables teams to apply corrective actions or take countermeasures as early as possible.

  • Goals and Constraints

    Make the overall goals and constraints of the improvement efforts understandable to every stakeholder.

  • Impact Analysis

    Determine what impact (in code, concepts, data and the organization) a specific action or issue (e.g. refactoring, recurring problem) will or might have. Identify the resultant effects on system development and operations.

  • Improvement Backlog

    Collect all known issues and problems within a system or its associated processes, and make them comparable by evaluating each one.

  • Issue List

    Collect all known issues and problems within a system or its associated processes. Make the issues comparable by evaluating each one, usually using economical units like money or time.

  • Plan Improvements

    Conduct long- and short-term planning of improvement activities. Balance or align issues and improvements, considering existing goals and constraints.

  • Report Structure

    A generic structure for written audit or review reports, usually following an Analyze phase.

  • Separate Cause from Effect

    Explicitly differentiate between symptom (effect) and cause: identify root causes of symptoms, problems or issues.

  • Slide or Write

    Consider format and structure of the review report early.

  • Stakeholder-Specific Communication stub

    Communicate with stakeholders by actively applying their specific or favored terminology and/or communication channels.

  • Systematic Decisions stub

    Systematically prepare and take decisions by finding appropriate options, check assumptions, overcome emotion and prepare to be wrong. See Decisive (by C+D Heath).

  • Traceability

    When discussing problems, some stakeholders will question or doubt your findings (see pattern Expect Denial). Keeping thorough references to the origins or original sources of major findings keep eventual critics in check.

  • Widen Your Options stub

    Before taking decisions it’s often a good idea to widen your decision space, look for additional options. Sometimes it’s not only “yes-or-no” decisions, but a spectrum of additional options are available - at least if you allow your brain to deviate from conventional path or your own preliminary conclusions.

Overview of the crosscutting practices