Software Engineering Institute | Carnegie Mellon University
Software Engineering Institute | Carnegie Mellon University

Digital Library

Javascript is currently disabled for your browser. For an optimal search experience, please enable javascript.

Advanced Search

Basic Search

Content Type


Publication Date


Model-Minded Development

  • May 2016
  • By George Fairbanks (Google)
  • This presentation introduces Model-Minded Development, which enables senior software developers to track many abstract yet complex models that constrain their code.
  • Publisher: Software Engineering Institute
  • This presentation was created for a conference series or symposium and does not necessarily reflect the positions and views of the Software Engineering Institute.
  • Abstract

    • Domain-Driven Design (DDD) says that we should be mindful of domain models and embed them in our code.
    • Design Patterns say that we should know a catalog of patterns so we can solve recurring problems that arise in object-oriented (OO) code.
    • Software Architecture says that unless we are mindful of large-scale patterns and models, then our systems will not achieve the qualities we seek.
    • Test-Driven Design (TDD) says that we should structure our code so that it can be more easily tested.
    • Programming styles (functional, OO, procedural, etc.) say what the core abstractions of our programs should be.

    The common denominator here is that software developers are expected to keep in mind many abstract yet complex models that constrain the code they write. In some ways, these constraints are a burden, and in other ways, they are the light that illuminates a path forward.

    I will discuss an idea called Model-Minded Development that generalizes across DDD, design patterns, architecture, TDD, and coding styles. The defining characteristic of senior software developers is their facility with Model- Minded Development, and it enables them to operate at an advanced level.

  • Download

Part of a Collection

SATURN 2016 Presentations