Training Course: Software Design and Architecture Health Management using DV8


Software Design Training Course: 

Managing Software Design and Architecture Health to boost development velocity and software quality

Target Audience:

Software professionals with programming and design experience.

Schedule:

Three sessions, 2-hour each.

Learning Objectives:

By the end of this course, participants will be able to:

  • Understand software design principles.
  • Visualize, measure, monitor, and measure software quality and productivity.
  • Understand and visualize design patterns and anti-patterns.
  • Identify true design debt and analyze return on investment.

Course Outline:

Module 1: Foundations of Software Design and Architecture (1 hour)

  • Design Principles
    • Making decisions in a principled way
    • Core design principles for value addition
    • The Power of Abstraction and the Value of Modularity
  • Design Structure Matrix (DSM)
    • Understand and model software dependencies
    • Understand and assess design structures
    • Design rules and modules in a DSM

Module 2: Visualize Design Principles (1 hour)

  • Design Principles in DSM
    • Information Hiding in DSM
    • SOLID in DSM
    • Design Rule Space
  • Design Patterns in DSM
    • Design patterns overview
    • Design Rule in patterns
    • Modules created by patterns

Module 3: Monitoring and Measuring (1 hour)

  • Software Metrics
    • Code metrics: LOC, cyclomatic complexity, etc.
    • Design metrics: propagation cost (PC) and Decoupling Level (DL) (m-score)
  • Monitor Software Evolution
    • Monitor design structure evolution
    • Monitor productivity and quality evolution

Module 4: Design/Architecture Debt (1 hour)

  • Identify True Debt
    • Technical debt overview
    • Design/Architecture anti-patterns/hotspot
    • Static code analysis tools (e.g., SonarQube, ESLint).
  • Quantify Design Debt
    • Calculate debt penalty
    • Calculate return on investment (ROI)
  • How to Remove Design Debt
    • Improve/introduce design rules and modules based on future change expectations

Module 5: Industrial Case Studies (1 hour)

  • ABB (2018)—Compare and Measure Multiple projects.
  • Brightsquid (2019)—Make refactoring decisions and assess refactoring outcome.
  • Google (2025)—Monitor complexity, productivity, and developer sentiment.

Module 6: Hands-on Analysis / Presentation (1 hour)

  • Model a real project using DV8
  • Measure design structure and productivity
  • Identify design debt

Materials Provided:

  • Pre-configured repositories for in-class examples/exercises.
  • Book chapters
  • State-of-the-art research publications