Assessing various software development methodologies and matching software development methodologies with projects
Author(s)Ke, Yuqing,S.M.Massachusetts Institute of Technology.
Massachusetts Institute of Technology. Engineering and Management Program.
System Design and Management Program.
MetadataShow full item record
As the software industry evolves, various software development methodologies have become widely used in the industry. Most commonly used methodologies are Waterfall and Agile, along with less known alternatives, such as spiral and hybrid methodologies. When deciding on the methodologies, program managers tend to choose one based on the team preference or historical pattern. However, each software project is unique in its own way and has characteristics that are distinct from the previous projects the team has worked on. For each project, it is crucial to adopt a suitable methodology that help teams to produce the software that meets customer needs within schedule and budget constraints. Therefore, a practical question for every program manager is "How to find a suitable methodology for a specific project?" This thesis is aimed to help program managers answer this question.We first explore how to evaluate each software development methodology based on the two-level decomposition of software development methodology, then analyze the project characteristics based on the situational inputs in three categories: scope, schedule and budget. Thereafter, the thesis proposes a framework to match software development methodology with a specific project. This thesis extends West's work in  by introducing a systems approach to assess a software project and a framework to determine the degree of compatibility between a methodology and a software project. The benefits of leveraging the systems approach are: ** The decomposition of methodologies highlights which elements in a methodology play key roles of providing the advantageous ilities over other methodologies. ** The decomposition of a project enables a program manager to evaluate the input elements of a project and gain a systems view on the project characteristics.The framework allows program managers to compare several candidate methodologies and choose the most compatible one using the mismatch scores, weighted summations that indicate the incompatibilities between the candidate methodologies and the project based on the ilities ranking decided by the program managers. To demonstrate how to use this framework for a real world project, an example project is given. The detailed steps of calculating the mismatch scores between three methodologies and the project are shown. The proposed framework can be used as a guideline for program managers to find methodologies for different projects with the information gathered from project stakeholders. This framework has some limitations. A major one is that, since the framework is quantitative based, induvial experience is used to evaluate the elements of methodologies and factors of projects.Further work can be done to improve the objectivity of the evaluation through the surveys of industrial experts and members of teams adopting this framework.
Thesis: S.M. in Engineering and Management, Massachusetts Institute of Technology, System Design and Management Program, 2019Cataloged from PDF version of thesis.Includes bibliographical references (pages 157-158).
DepartmentMassachusetts Institute of Technology. Engineering and Management Program; System Design and Management Program
Massachusetts Institute of Technology
Engineering and Management Program., System Design and Management Program.