• Skip to main content
  • Skip to after header navigation
  • Skip to site footer

Shaping Software

Enduring Ideas in the Realm of Software

  • About
  • Topics
  • Best Software Books
  • Archives
  • JD Meier.com

patterns & practices Solution Engineering

Sep 15, 2008 by JD

PAGSolutionEngineering2

This is one of my favorite figures that shows how we do solution engineering in patterns & practices at Microsoft:

 

Architectural Scenarios
It all starts with a scenario.  It has to be a meaningful problem.  You can’t evaluate an architecture in a vacuum.  In order for us to build useful baseline architectures, we need to pick the right scenarios that flex the right engineering decisions.

Patterns
Patterns are simply problem and solution pairs.  In our case, we tend to focus on application, architecture or solution level patterns.

Baseline Architectures
Baseline architectures are skeletal applications.  They’re just enough code to show you how to solve the key engineering decisions.  The ideal baseline architecture is durable, but evolvable.

Application Block Library
These are reusable components.  You can think of these as the cross-cutting concerns and the key application infrastructure hot spots.

Tool Extensions
Once we have a repeatable solution, the next step is to add tooling support to help users with some of the boiler-plate code, choose relevant options, and help configure the solution.

Category: patterns & practicesTag: Process, Project-Management, Scenarios

About JD

Previous Post:How To Cure Optimitis
Next Post:Engineering Practices Frame

Reader Interactions

Comments

  1. Ben Gillis

    Apr 22, 2009 at 10:07 pm

    > one of my favorite figures

    it’s probably a great diagram to start with for upcoming Microsoft Oslo modeling. The above is a tangible point many will be able to grasp to move into modeling.

    It’s a good diagram to start with examples of domain-specific languages, correlating patterns to DSL keywords, correlating functional (storyboards, requirements and use cases) domain-specific languages to technical entities, etc.

Sidebar

Recent Posts

  • What is ChatGPT?
  • Agile Performance Engineering
  • What is Cybersecurity?
  • Software Security Threats: A Comprehensive Guide
  • What is Software Security?

Popular Posts

Best Software Books of All Time
Best Practices for Project Management
Best Practices for Software Development
Customer-Connected Engineering
How To Frame Problems Better
How To Pitch Business Ideas Better
How To Structure Vision Scope Presentations
Intro to Lean Software Development
Lean Principles for Software Development
The Enterprise of the Future