Agile versus CMMI - process template selection and integration with microsoft team foundation server

Increasingly many software development organizations must pursue at least a level 3 CMMI certification to compete in the marketplace. Not all software organizations are under this constraint, but the CMMI model offers benefit beyond just a marketing advantage. Agile methods have taken hold in many of the same organizations that stand to gain benefit from CMMI. CMMI adds some stress to the Agile approach by nature of more detailed planning and tracking. Microsoft and other software development organizations have endeavored to automate the more tedious aspects of CMMI, thus making it easier to support agile approaches within more rigid frameworks. The Microsoft Solutions Framework (MSF) initially founded on Microsoft software best practices observed internally and externally has expanded to integrate automated software configuration for team projects. The Team Foundation Server (TFS) product leverages MSF and supports both CMMI and Agile as process templates and provides tools around these templates to automate the use of either approach. In this paper, we explore how Microsoft has integrated these approaches into TFS, the rationale and implications for selecting one approach over another and how agile practices can be integrated into a CMMI framework.

[1]  Sam Guckenheimer,et al.  Software Engineering with Microsoft Visual Studio Team System (Microsoft .NET Development Series) , 2006 .

[2]  Brian Fitzgerald,et al.  Toward a conceptual framework of agile methods: a study of agility in different disciplines , 2004, WISER '04.

[3]  W. Edwards Deming,et al.  Out of the Crisis , 1982 .

[4]  Ken Schwaber,et al.  SCRUM Development Process , 1997 .

[5]  Steve R. Palmer,et al.  A Practical Guide to Feature-Driven Development , 2002 .

[6]  Steven W. Baker Formalizing agility: an agile organization's journey toward CMMI accreditation , 2005, Agile Development Conference (ADC'05).

[7]  Thomas Grechenig,et al.  Software quality development and assurance in RUP, MSF and XP: a comparative study , 2005, ACM SIGSOFT Softw. Eng. Notes.

[8]  James A. Highsmith,et al.  Adaptive Software Development: A Collaborative Approach to Managing Complex Systems , 1999 .

[9]  N. Nagappan,et al.  Use of relative code churn measures to predict system defect density , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[10]  Thomas Grechenig,et al.  Software quality development and assurance in RUP, MSF and XP: a comparative study , 2005, WoSQ@ICSE.

[11]  Kent L. Beck,et al.  Extreme programming explained - embrace change , 1990 .

[12]  Charles R. McClure,et al.  Measuring and managing performance in organizations , 1997 .

[13]  David J. Anderson,et al.  Stretching agile to fit CMMI level 3 - the story of creating MSF for CMMI/spl reg/ process improvement at Microsoft corporation , 2005, Agile Development Conference (ADC'05).

[14]  Pekka Abrahamsson,et al.  New directions on agile methods: a comparative analysis , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..