Mohammad Saleh Shojai - Methodology Engineering Laboratory
Mohammad Saleh Shojai
Thesis Title:
Model-Driven Approach for Situational Engineering of Agile Software Development Methodologies
Thesis Abstract:
Model-driven engineering (MDE), by introducing explicit layers of abstraction in modeling and enabling the automated generation of models, provides a suitable foundation for designing products—including software development methodologies. Situational Method Engineering (SME) focuses on constructing methodologies that are tailored to the specific conditions of a project. Meanwhile, agile software development methodologies, with their emphasis on flexibility, continuous stakeholder engagement, and incremental/evolutionary delivery of products, have attained a central position in contemporary software development.
Among the domains in which the need for situational method engineering is most acute is that of agile methodologies. This is because, in many projects, effectively aligning a methodology with the project’s context remains challenging. Agile methodologies are often applied without sufficient regard for project-specific situational characteristics, under the assumption that the method can be adjusted and improved on the fly; however, this can diminish methodological effectiveness, particularly in early iterations. Conversely, designing a bespoke methodology for each project is difficult and time-consuming. Situational Method Engineering (SME) has the potential to address this problem, yet its widespread adoption requires easier operationalization. Combining Model-Driven Engineering (MDE) with SME can provide a decisive step toward facilitating and accelerating this process.
The objective of this research is to facilitate the use of Situational Method Engineering (SME) by applying a Model-Driven Engineering (MDE) approach to the situational factors and elements involved in constructing project-specific agile methodologies. In MDE, distinct abstraction layers are explicitly separated and the evolutionary and automated production of artifacts is enabled. By leveraging this idea in SME for agile methodologies, we establish a multi-level modeling structure for these methodologies; through the stepwise application of relevant contextual factors and the automation of model transformations, the tailoring and construction of agile methodologies can be accomplished more rapidly and at lower cost.
This study begins with a review and evaluation of model-driven techniques and existing situational factors in the context of agile methodologies. It then analyzes the characteristics of agile methods and elicits a catalog of actionable practices and situational factors that influence their design. Building on these results, we define a multi-level modeling structure and the corresponding model transformations, yielding a practical approach to constructing agile methodologies via situational method engineering. Finally, the proposed approach is assessed and validated through the application of theory-driven criteria and a case study conducted in an industrial setting.