One of the questions I get asked is how did we execute our patterns & practices Application Architecture Guide 2.0 project, on time and on budget? It was a six month project, during which we ....
- Created a language and model for application architecture. (See Grady Booch on the Microsoft Application Architecture Guide 2.0)
- Wrote a 300+ page book, the patterns & practices Application Architecture Guide 2.0 (affectionately referred to as the Microsoft Playbook for Application Architecture)
- Created an Application Architecture Knowledge Base (KB), with step-by-step How Tos, videos, checklists, slides, and reusable figures.
- Created a series of Pocket Guides for Application Architecture.
- Created a map of the Microsoft application platform.
- Created technology matrixes to organize and navigate technology decisions. (See the Presentation Technology Matrix, Data Access Technology Matrix, Workflow Technology Matrix, and Integration Technology Matrix)
- Created a systematic approach for the architecture and design of applications.
- Created a patterns catalog for the patterns documented by the patterns & practices team.
- Formed, stormed, normed, and created a performing team. (See Wikipedia on Forming, Storming, Norming and Performing.)
- Coordinated among more than 70 internal and external reviewers, across key product groups and with our field, support, and experts. (See the contributors and reviewers list.)
2 Keys to Success
We used two keys to success:
- Fix time, Flex scope
- Agile Guidance Engineering
Fix Time, Flex Scope
One of the most successful patterns I've used for years now is to fix time, and flex scope. The idea is to deliver incremental value and find a way to flow value along the way rather than wait for one big bang at the end. This allows you to deliver the most timely and relevant value with a healthy worklife balance. It helps reduce project risk along the way. More importantly, it helps get your stakeholders on board, by showing them results versus just trust you to the end. Scope is the best to flex because there's the least amount of precision or accuracy up front, and it enables you to respond to the market or stakeholder concerns more effectively.
Agile Guidance Engineering
This is the secret sauce. I call it Agile Guidance Engineering:
In a nutshell, Agile Guidance Engineering is about building guidance using nuggets of specific types (how tos, guidelines, checklists ... etc.) and composing them into books. The books themselves are actually an information model. The information model is designed to both structure the content as well as structure the problem domain. We vet the nuggets as we go for feedback, and we prioritize, tune, and improve them along the way.
I've used Agile Guidance Engineering successfully to build the following Microsoft patterns & practices Blue Books:
- Application Architecture Guide 2.0
- Improving Web Services Security
- Team Development with Visual Studio Team Foundation Server (see Amazon for print version)
- Performance Testing Guidance for Web Applications (see Amazon for print version)
- Security Engineering Explained
- Improving .NET Application Performance and Scalability (see Amazon for print version)
- Improving Web Application Security (see Amazon for print version)
- Building Secure ASP.NET Applications (see Amazon for print version)
My Related Posts