locked
MSF Documentation: RUP vs. MSF - A comparative study

    Question

  • L.S.,

    This thesis makes a comparative study of two software engineering processes, namely the commonly used IBM Rational Unified Process and the new Microsoft Solutions Framework for Agile Software Development. Both software engineering processes have the same objective, to create a solution that meets the needs and expectations of the stakeholders. However, they have different approaches to reach their goal. The Rational Unified Process focuses on the time schedules and budget to create a predictable and disciplined software development environment. Microsoft Solutions Framework for Agile Software Development does not believe in predictability, it considers the fact that changes are inevitable and do occur during the software development life cycle. Therefore, this software engineering process focuses on the ability to cope with changes to create an adaptive and responsive environment. This dissertation compares the two processes in three different points of view, namely their philosophy, focus in time and work division, to discover their common grounds and differences. It makes also a proposal on how to choose one of the two software engineering processes for a project depending on the project characteristics.

    Summarizing, the goal of this thesis is to explain the IBM Rational Unified Process and the Microsoft Solution Framework for Agile Software Development, to identify the common grounds and differences between the two software engineering processes, to recognize the most suitable process for a project based on its characteristics.

    Download the thesis at Traa, J.W.A. - RUP vs. MSF - A comparative study

    If you have any comments or suggestions please don't hesitate to email me at johantraa@gmail.com .

    Cheers,

    Johan Traa

     

    J.W.A. Traa

     

    Monday, July 24, 2006 8:02 AM

Answers

  • Johan,

    I just downloaded the paper, and after a quick read I can already see its usefulness (specially the graphical representation at page 132). As you pointed out, this is a comparison of RUP with MSF for Agile Software Development, not MSF for CMMI Process Improvement. In your conclusions, I notice that generally speaking you recommended RUP for bigger projects, and MSF for Agile Software Development for smaller ones.

    I would like to see in the future a comparison of MSF for CMMI Process Improvement and RUP on how they match in the Agility criteria. My hypothesis would be that MSF for CMMI Process Improvement, having been created as an extension of MSF for Agile Software Development, would fit the bill for bigger projects but keeping the agile characteristics.

    That said, it is possible to use a subset of RUP in an Agile way (see for instance the new work of Ivar Jacobson at www.ivarjacobson.com). What usually has happened is that RUP's philosophy as a framework is to give you everything so you can choose a subset, whereas MSF uses the opposite agile philosophy of "stretch to fit".

    MSF’s objective is to provide you with an iterative/incremental way to evaluate and adopt new processes. The other way makes it difficult for a beginner (as we all are when adopting new processes) to choose what to cut and what to keep, so most people will tend to the safe side and keep everything, in the long term ossifying it as a waterfall method, which by default it isn't.

    Best Regards,

    Clementino Mendonca - MSF Elder

     

    Thursday, July 27, 2006 2:09 PM
    Moderator
  • Clementino,

     

    Thanks for your compliments. My conclusion is not only RUP for bigger and MSF for smaller projects. This thesis answers four research questions:

     

    Question 1: What implies the IBM Rational Unified Process and the Microsoft

    Solutions Framework for Agile Software Development?

     

    Question 2: What are the common grounds and differences regarding the IBM

    Rational Unified Process and the Microsoft Solutions Framework for Agile

    Software Development?

     

    Question 3: When is the IBM Rational Unified Process or the Microsoft Solutions

    Framework for Agile Software Development more appropriate to use?

     

    Question 4: How are these common grounds and differences supported by

    Microsoft Visual Studio 2005 Team System?

     

     

    The very general conclusion is:

     

    RUP is (1) a formal, strict and heavy software engineering process that wants to (2) identify the requirements and architecture early in the process to be able to (3) focus on planning the time schedules and budget to create (4) a predictive and ordered software development environment.

     

    MSF4ASD is (1) an informal, loosely, and light software engineering process that (2) embraces ad hoc requirements management and architecture design to (3) facilitate the ability to cope with changes to create (4) an adaptive and responsive environment.

     

    I want to make the comparison of MSF for CMMI Process Improvement and RUP on how they match in the Agility criteria in the future, but my time schedule is very tight. Hopefully another MSF enthusiast has the time to study this research approach.

     

    To all,

     

    Thanks for the email reactions, please keep giving me your opinions and comments on johantraa@gmail.com . Thanks.

     

    Kind regards,

     

    Johan Traa

    Wednesday, August 02, 2006 8:04 AM

All replies

  • Johan,

    I just downloaded the paper, and after a quick read I can already see its usefulness (specially the graphical representation at page 132). As you pointed out, this is a comparison of RUP with MSF for Agile Software Development, not MSF for CMMI Process Improvement. In your conclusions, I notice that generally speaking you recommended RUP for bigger projects, and MSF for Agile Software Development for smaller ones.

    I would like to see in the future a comparison of MSF for CMMI Process Improvement and RUP on how they match in the Agility criteria. My hypothesis would be that MSF for CMMI Process Improvement, having been created as an extension of MSF for Agile Software Development, would fit the bill for bigger projects but keeping the agile characteristics.

    That said, it is possible to use a subset of RUP in an Agile way (see for instance the new work of Ivar Jacobson at www.ivarjacobson.com). What usually has happened is that RUP's philosophy as a framework is to give you everything so you can choose a subset, whereas MSF uses the opposite agile philosophy of "stretch to fit".

    MSF’s objective is to provide you with an iterative/incremental way to evaluate and adopt new processes. The other way makes it difficult for a beginner (as we all are when adopting new processes) to choose what to cut and what to keep, so most people will tend to the safe side and keep everything, in the long term ossifying it as a waterfall method, which by default it isn't.

    Best Regards,

    Clementino Mendonca - MSF Elder

     

    Thursday, July 27, 2006 2:09 PM
    Moderator
  • I like to comparison.

    Randy

    Tuesday, August 01, 2006 6:46 PM
  • Clementino,

     

    Thanks for your compliments. My conclusion is not only RUP for bigger and MSF for smaller projects. This thesis answers four research questions:

     

    Question 1: What implies the IBM Rational Unified Process and the Microsoft

    Solutions Framework for Agile Software Development?

     

    Question 2: What are the common grounds and differences regarding the IBM

    Rational Unified Process and the Microsoft Solutions Framework for Agile

    Software Development?

     

    Question 3: When is the IBM Rational Unified Process or the Microsoft Solutions

    Framework for Agile Software Development more appropriate to use?

     

    Question 4: How are these common grounds and differences supported by

    Microsoft Visual Studio 2005 Team System?

     

     

    The very general conclusion is:

     

    RUP is (1) a formal, strict and heavy software engineering process that wants to (2) identify the requirements and architecture early in the process to be able to (3) focus on planning the time schedules and budget to create (4) a predictive and ordered software development environment.

     

    MSF4ASD is (1) an informal, loosely, and light software engineering process that (2) embraces ad hoc requirements management and architecture design to (3) facilitate the ability to cope with changes to create (4) an adaptive and responsive environment.

     

    I want to make the comparison of MSF for CMMI Process Improvement and RUP on how they match in the Agility criteria in the future, but my time schedule is very tight. Hopefully another MSF enthusiast has the time to study this research approach.

     

    To all,

     

    Thanks for the email reactions, please keep giving me your opinions and comments on johantraa@gmail.com . Thanks.

     

    Kind regards,

     

    Johan Traa

    Wednesday, August 02, 2006 8:04 AM