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

Shaping Software

Enduring Ideas in the Realm of Software

  • About
  • Topics
  • Best Software Engineering Books
  • Lessons in Software
  • Archives
  • JD Meier.com

Latest Posts

Scenario Frames

One of the best ways I've found to map out a problem space is to create what I call, "Scenario Frames." I call them scenario frames because they are an organizing frame of scenarios. Simply put, they're a set of one-liner stories or scenarios organized by categories. The beauty of a scenario frame is that it can contain macro-level or micro-level scenarios and, because it's a tickler list, it's easy to traverse.

Read moreScenario Frames

Scenario and Feature Matrix

One of the most effective approaches I've found for chunking up a project for incremental value is using a Scenario and Feature Matrix.

Scenarios are Your Rows, Features are Your Columns
A Scenario and Feature Matrix organizes scenarios and features into a simple view. The scenarios are your rows. The features are your columns. You list your scenarios in order of "MUST", "SHOULD", and "COULD" (or Pri 1, 2, and 3) .. through vNext. You list your features by cross-cutting and vertical. By cross-cutting, I mean that feature applies to multiple scenarios. By vertical, I mean that feature applies to just one scenario. It helps to think of scenarios in this case as goals customers achieve.

Read moreScenario and Feature Matrix

Axiomatic Design

A few folks have asked me about Axiomatic design. I figure an example is a good entry point.

An associate first walked me through axiomatic design like this. You're designing a faucet where you have one knob for hot and one knob for cold. Why's it a bad design? He said because each knob controls both temperature and flow. He said a better design is one knob for temperature and one knob for flow. This allows for incremental changes in design because the two requirements (temperature and flow) have their independence. He then showed me a nifty matrix on the board that mathematically *proved* good design.

Read moreAxiomatic Design
How To Frame a Problem

How To Frame a Problem with Skill (The Art of Framing)

At Microsoft, we use the term "frame" or "framing a problem" in the context of project management. You might hear somebody ask, "what's the frame?" or "how have you framed the problem?" A Frame is simply a way to partition a problem. The heart of a frame is coming up with a context to understand the dimensions that matter and figure out how to prioritize and scope. One way teams often frame a space is by building a catalog of user stories and then organizing them into themes.

Read moreHow To Frame a Problem with Skill (The Art of Framing)
Customer-Connected Engineering Slides

Customer-Connected Engineering Slides (PDF Download)

Customer Connected Engineering (CCE) is a practices we use across our patterns & practices teams for engaging customers throughout the life cycle. We involved customers during the planning, development, and release of our deliverables. This is a draft slide set that shares how we do Customer Connected Engineering inside patterns & practices, including our key practices and guiding principles.

Read moreCustomer-Connected Engineering Slides (PDF Download)
  • Previous
  • Go to page 1
  • Go to page 2
  • Go to page 3
  • Go to page 4
  • Go to page 5
  • Go to page 6
  • Interim pages omitted …
  • Go to page 23
  • Next

Sidebar

Recent Posts

  • Best Software Books of All Time According to a Microsoft Exec
  • How To Effectively Pitch a Business Idea (Customer, Problem, Competition, and Success)
  • Customer-Connected Engineering at patterns & practices
  • Lessons in Software Development from Eric Brechner
  • Best Practices at patterns & practices

Popular Posts

Best Software Engineering Books
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