Lately Iâ€™m trying to sort out exactly what the role of the Microsoft Patterns and Practices team.
Couple of example come to mind: Prism and Unity.
Currently, Iâ€™m starting to wonder if they just code up some tools and then drop supporting them. First step, go visit their website:
There is one, yes one â€˜Recent Updateâ€™ that is marked as 2009. The rest is 2008.
I have even read where developers were told it would open for contributions, but for over a year now, no contributions have been applied.
Silverlight, one of the hottest new technologies from Microsoft â€“ we have â€˜Prismâ€™ for building composite applications. They promote Prism, and yet again, the last download release is from February 2009 http://www.microsoft.com/downloads/details.aspx?FamilyID=fa07e1ce-ca3f-4b9b-a21b-e3fa10d013dd&DisplayLang=en
What concerns me is I have gone to clients who use these tools because they are â€˜from Microsoftâ€™. But Iâ€™m not too convinced they represent the best patterns and practices. Actually I am starting to consider them writing tools that they promote (many times against existing open source projects that are kept relevant) and they abandon.
Even going to the Codeplex, they have a survey where you can provide inputâ€¦ well, that survey has been closed for quite some time now. But the site isnâ€™t update. It doesnâ€™t seem very professional, and yet they claim to be agile, collaborative, etcâ€¦ and Iâ€™m to entrust companies into using their software and yet they donâ€™t appear to support it very well.
We call this approach, â€œcustomer connected engineeringâ€ and it ensures that what we deliver actually meets the needs of our customers.
Another example is their new flagship Blend product for Silverlight â€“ well, Prism isnâ€™t very friendly with Blend. There are individuals (the MVVM light toolkit) that strive to provide compatibility with Blend, and yet the Microsoft team that does Prism has hasnâ€™t update Prism since before the release of Silverlight 3
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.
and the latest Blend. Iâ€™m not sure how to read them not updating their best patterns and practices â€“ it would seem their pattern is to not provide updates and their practice is to wellâ€¦ not to follow an agile collaborative environment with the Microsoft community (see their quote below).
I donâ€™t really want to rant negatively toward these tools and practices, but it concerns me when I donâ€™t see any follow up to these tools.
We employ an Agile 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.
Iâ€™m guessing their iteration cycle on Unity using Agile is that they have a year long iteration cycle ? :) I wouldnâ€™t really care too much about this, as I typically look outside of MS for innovation and proper tooling, but at the same time, it just seems like a wasted potential opportunity to really provide best of breed tooling for Microsoft developers.
So I read about current, I read about customer connected, I read about agile â€“ then I goto evaluate the tools and see itâ€™s all outdated, not up to date, there isnâ€™t a way to provide effective input. My conclusion: itâ€™s just another marketing tool to promote MS but not to really support it in our day to day operations. Makes for good demos I was told.