Sometime in a previous (professional) life, I worked for a company that used Microsoft Solutions Framework. This was a very long time ago and I don’t even remember the company. As a development framework, MSF didn’t really impress me much at the time, but there was one key element of MSF that did impress me and has stayed with me all of these years.
It may be that I wasn’t that impressed with MSF because the company that was using it wasn’t the best candidate for it. MSF is ideally suited for software development for distribution (i.e., to consumers). My client (employer?) was using it to develop software for internal use. Further, they weren’t set up with the appropriate infrastructure and architecture for daily builds. It was good they were using a development framework, but other choices would most likely have been more appropriate to their organization.(This paragraph is an attempt at sarcastic humor.) I have never used MSF in, what I would consider, an appropriate context for MSF. However, Microsoft has years of success using it to deliver reliable, user friendly, quality software on schedule. Therefore, I will accept their experience as its endorsement.
Nonetheless, I got training on MSF at my client. As a framework and not a methodology, MSF is (intentionally and appropriately) light on the “how” of software development. One area of the framework, however, is fleshed out in particularly specific detail: the MSF Team Model. The MSF Team Model has several favorable attributes: it is specific about the roles (and responsibilities of those roles) that must be represented on the project team; it is specific about the relationship of the team members to each other; and it intentionally creates conflict between roles to establish natural “checks and balances.”Prior to my training on MSF, my experience with building project teams was to have the “right” people. But that is unabashedly vague. Further, we may know that the team members we have are the right people, but how do we know what right people we might be missing? The MSF Team Model resolved this weakness in my experience and practice. Further, I know of no other framework or methodology that puts such emphasis on composing the team.
Therefore, as a Best Practice, I want to pass on the benefits of the MSF Team Model and strongly recommend that you consider the MSF Team Model on your projects. More information on MSF and the Team Model is available in Microsoft Solutions Framework Essentials by Michael S. V. Turner (Microsoft Press, 2006). Chapter 4 discusses building an MSF Team.Have you had experience with MSF? What is your opinion of the Team Model?
© 2013 Chuck Morton. All Rights Reserved.