The Power of Learning Docs

The key to effective knowledge management is to throw away documents.   You can’t get attached to what you write down.  Otherwise, you can’t learn and it won’t evolve.   But there is a trick … You throw away the document, not the learning. I learned this the hard way.   Several years back, I was trying to…


Reference Models, Reference Architectures, and Reference Implementations

"All models are wrong, but some are useful." — George Box I often see confusion over reference models, reference architectures, and reference implementations.  In this post, I’ll share my experience and learnings and observations: Reference Model – A Reference model is a model of something that embodies the basic goals or ideas, and you can…


My Arm’s Broke, Fix Me – Three Levels of Guidance in patterns & practices

Early in my patterns & practices days, each time I built a new team, we had a hard time figuring out what level to cater our writing for because we had such a variety of audience, even among architects. After a lot of pain, we finally adopted a three-level system that serves us very well. …


Evaluation Criteria Example

I often find myself sharing examples of evaluation criteria in the prescriptive guidance space.  Here are some examples of criteria from one of my favorite platform assessments: Best practice compliance. For a given analysis topic, to what degree did the platform permit implementation of best practices? Factors influencing best practice compliance include transparent integration (the…


Test-Driven Product Design

One way to drive more effective product design is to start with scenarios.  One way to think of this is “Persona-based scenarios with goals.”  You can use the scenarios as test cases.  The scenarios can help you evaluate the design and they can help you evaluate implementation.  Simply put, “Can the persona or user perform…


Guidance Product Model for Domain “X”

Here is a sketch of the mental model I use when thinking through how to address a space with prescriptive guidance: At a high level, it’s a “stack,” and by having a model of the stack, you can choose how far up the stack to go: Domain Knowledge – This is about breaking the problem…


ASP.NET Scenarios Map

The Microsoft ASP.NET Scenarios Map is a consolidated and shared view of the common scenarios and tasks with ASP.NET. You will find Getting Started and Architecture scenarios first, followed by other common areas. Scenarios in each group should represent common tasks developers would face when building ASP.NET applications. Your call to action here is simply…


CRUD for Content

While we’ve been thinking through content strategies and content experiences, one of the phrases I started using to quickly share an idea is “CRUD for Content.”   It’s modeled after CRUD operations for applications – CREATE, READ, UPDATE, DELETE.  It’s simple, but it quickly helps folks relate to the simple operations you can do with content…


Application Scenarios and Solutions

As part of our patterns & practices Azure Security Guidance project, we’re starting off by focusing end-to-end application scenarios.  We’re taking a crawl, walk, run approach by starting with the simplest combinations of application types and authentication, authorization, and communication patterns.  This is the same Application Scenarios approach we used in Building Secure ASP.NET Applications….


Windows IA (Information Architecture)

One of my key projects over the last six months was to figure out an Information Architecture (IA) for the Microsoft Windows platform.  This post is a behind the scenes look at how I went about figuring out a simple IA for the Windows platform.  You can think of an IA simply as how you…