Who We Are
The Microsoft patterns & practices (p&p) team is responsible for delivering applied engineering guidance that helps software architects, developers, and their teams take full advantage of Microsoft’s platform technologies in their custom application development efforts.
Our goal is to help software development teams be more successful with the Microsoft application platform. We do this by delivering guidance that:
- Helps to simplify the Microsoft application platform.
- Provides solution guidance to common problems.
- Helps development teams grow their skills and learn.
We are a small team of experienced architects, developers, writers, testers, product planners, and managers. On each project, we augment our team with outside subject matter experts to ensure that we have some of the best minds in the industry contributing to and reviewing our guidance.
How We Do It
We talk with a large number of Microsoft customers, partners, and consultants to understand the commonly occurring scenarios and the technical challenges associated with them. Then we discover and harvest the solution patterns and engineering practices (including anti-patterns) that have proved successful in addressing these scenarios.
Once we understand the scenarios and technical challenges, we work with product and technology teams across Microsoft, industry experts, and with customers and partners, to build guidance that reflects both the current, practical state of the technology and that is also aligned with future Microsoft technology plans. Often, the underlying scenarios and solutions guidance ends up influencing future Microsoft product direction.
Most of our projects are conducted in CodePlex communities. This allows continuous input from the development community at large and keeps us honest. We call this approach, “customer connected engineering” and it ensures that what we deliver actually meets the needs of our customers. We also ship the source code to nearly everything we deliver, usually along with a license agreement that encourages source level adoption and customization.
Our software engineering process is a combination of SCRUM style project management with XP development practices. Our work area is a mix of collaborative development rooms, where entire teams sit and work together, augmented with private spaces and offices. The layout allows us to run many projects simultaneously. Each of our collaboration rooms is equipped with a projector (used for ad-hoc code reviews, bug triage meetings, and other group activities), and has glass walls that function as giant white boards. We use the wall space to draw and discuss design ideas, as well as to sort sets of Post-it note user stories. We use Visual Studio Team System to track and report on work progress internally.
What To Do Next
We recommend that you explore these links:
- View the Getting Started page;
- Explore different views of the patterns & practices catalog;
- Enterprise Library, the most popular and broadly applicable patterns & practices release;
- SharePoint Guidance, this guidance helps architects and developers design, build, test, deploy and upgrade SharePoint intranet applications.
- Composite Application Guidance for WPF, is designed to help you more easily build enterprise-level Windows Presentation Foundation (WPF) client applications;
- Web Service Software Factory: Modeling Edition, an example of a software factory, that contains automation and guidance integrated into Visual Studio for building services and allows you to customize the source code;
- Microsoft ESB Guidance for BizTalk Server 2006 R2, is a typical p&p guide that helps you extend the functionality of BizTalk Server to take advantage of new capabilities focused on building robust, connected, service-oriented applications;
- Participate with others interested in patterns & practices releases in related communities.
There are also several p&p community projects on CodePlex, where the patterns & practices team shares their progress on projects as they proceed. You can participate in these community projects and provide feedback that helps shape the final p&p release.