There are so many ways I can share how we do what we do on our Microsoft patterns & practices team, but I think the simplest approach is to share the values, guiding principles, and practices. When our group changed leaders, one of the first things our new leader did was build consensus around what patterns & practices was all about. I suggested using the values, principles, and practices frame because I thought it was a proven model. It sets up the framework and the context in which we operate, which in turn, guides everything else. Here’s the result:
In patterns & practices we value:
- Continuous learning, innovation and improvement – we have a bias toward action (over more planning) and customer engagement and feedback (over more analysis)
- Collaboration — Open, collaborative, relationships with customers, field, partners and product teams
- Execution – we will take strategic bets, but we will hold ourselves accountable for creating value, shipping early and often, and delivering results that have impact with customers.
- Transparency — Explicit, transparent, and direct communication with customers and with our team and others in our company.
- Quality over scope — no guidance is better than bad guidance
We use the following principles to guide our work:
- Start with end in mind — think about end to end scenarios, and how the products we produced fit in the solution architecture and into the patterns & practices “catalog”.
- Focus on the goal — Help the customer succeed with their intent – the results they want to achieve, not just what they are trying to do.
- “Satisfice” and Ship it — Find the minimal solution required for a good result and ship it.
- Use the right tool for the job — Our tools platforms are assets that expand the types of guidance we can express – use all of what they provide where it naturally fits the scenario.
- Create constructive tension — Constructive tension between customer needs, technical strategy, and business strategy is expected – when we do our job well this tension is healthy.
Execution Processes, Practices, and Tools
- We decide which scenarios and technical challenges we will focus on and what we will deliver using a portfolio planning process.
- We organize to do our work in small teams, typically made up of a core teams and a variety of experts and specialized contributors.
- We run development using a baseline process and team dashboard that teams tailor to the unique scope and needs of an individual project. The common baseline process gives us a common view of the, velocity, and plans of each of the projects and project teams.
- Our projects run three to nine months with checkpoints at key milestones.
- We review and drive execution in our team using monthly, quarterly and semiannual reviews and checkpoints. Many of these are driven by or tied to the company’s processes for Strategy Planning, People Management and Development, and Operational Execution.