The Agile Model-Driven Method
Total Page:16
File Type:pdf, Size:1020Kb
University of Plymouth PEARL https://pearl.plymouth.ac.uk 04 University of Plymouth Research Theses 01 Research Theses Main Collection 2019 The Agile Model-Driven Method Mairon, Klaus http://hdl.handle.net/10026.1/15257 University of Plymouth All content in PEARL is protected by copyright law. Author manuscripts are made available in accordance with publisher policies. Please cite only the published version using the details provided on the item record or document. In the absence of an open licence (e.g. Creative Commons), permissions for further reuse of content should be sought from the publisher or author. THE AGILE MODEL-DRIVEN METHOD by KLAUS MAIRON A thesis submitted to the University of Plymouth in partial fulfilment for the degree of DOCTOR OF PHILOSOPHY School of Engineering, Computing and Mathematics October 2019 Copyright Statement This copy of the thesis has been supplied on condition that anyone who consults it is understood to recognise that its copyright rests with its author and that no quotation from the thesis and no information derived from it may be published without the author's prior consent. PhD Thesis ii Acknowledgements In the first place, I have to thank my family for their support during the preparation of this work. Without her patience and consideration, I would not have been able to coordinate the family, profession, and research. Another thanks to my employer, msg systems ag, and my manager Ralf Christmann. Only through the possibilities of reduction to part-time and the understanding of the resulting restrictions has this work become possible at all. A least as great gratitude my supervisors at the universities in Furtwangen and Plymouth. I am particularly grateful to Prof. Dr. Martin Buchheit for his constant drive and motivation, which was necessary over this long period. Another great thank you to Dr. Shirley Atkinson, Prof. Dr. Martin Knahl, and Prof. Steven Furnell for the patience and support they have shown me. Throughout the years in which I created this work, they always were good counselors and patient listeners to my problems and they gave helpful ideas in joint discussions. Additionally, I would like to thank my colleagues at msg systems ag as well as my contacts in insurance companies and IT companies who gave me valuable ideas for this work through insights into concrete projects. October 2019 PhD Thesis iii Author’s Declaration At no time during the registration for the degree of Doctor of Philosophy has the author been registered for any other University award without prior agreement of the Doctoral College Quality Sub-Committee. Work submitted for this research degree at the Plymouth University has not formed part of any other degree either at the University of Plymouth or at another establishment. Word count of main body of thesis: 36.948 words. Signed: __________________________ Date: 10/10/2019 PhD Thesis iv Abstract The Agile Model-Driven Method Klaus Mairon, M.Sc. Centre for Security, Communications and Network Research, Plymouth University, Plymouth, United Kingdom Furtwangen Research Node, Faculty of Business Information Systems, Hochschule Furtwangen University, Germany Supervisioning: Prof. Dr. Martin Buchheit, Prof. Dr. Martin Knahl, Dr. Shirley Atkinson and Prof. Steven Furnell Today the development of business applications is influenced by increased project complexity, shortened development cycles and high expectations in quality [11]. Rising costs in the software development are an additional motivation to improve the productivity by the choice of a suitable development process [59]. In the development of complex applications models are of great importance. Models reduce complexity by abstraction. Additionally, models offer the possibility to build different views onto an application. If models are sufficiently formal they are suitable for the automated transformation into source code. For this reason, an important acceleration and quality factor in the software development is attributed to the Model-Driven Software Development [91].On the other hand, Model-Driven Software Development requires quite high initial work for the definition of meta-models, domain-specific languages and transformation rules for the code generation process. PhD Thesis v A different approach to improve productivity is the use of agile process models like Scrum, Extreme Programming (XP) or Feature Driven Development (FDD) [65]. For these process models an early production of source code and the adjustment of executable partial results are important aspects of the process. The communication with the end user and the direct feedback are the most important success factors for a project and facilitate quick reactions on requirement changes [35]. In agile methods modelling often plays a subordinated role. The requirements will be documented via “user stories” (XP) or “features” (Scrum, FDD). They are summarized either in Product- or Sprint-Backlogs (Scrum) [28][85] or in Feature-Sets (FDD) [24]. From this, the idea is developed to apply agile work practices and techniques in a process tailored to model-driven development. First, existing process models for model-driven development are identified and described. Their common features such as process steps, artefacts and team organisation are worked out and abstracted in a metamodel. The aim is to reuse these process elements in a new agile process model. At the same time, suitable agile practices for modeling are identified, which can support such a process. Additional criteria and suggestions for the improvement of such a process are identified on the basis of case studies from practical model-driven projects. The Agile Model-Driven Method (AMDM) presents a combination of agile procedures and modelling techniques with the technology of model-driven development. AMDM is iteratively incremental and relies on proven concepts of accepted agile standards [62]. AMDM integrates the development of a domain-specific modelling language, the modelling of problem domains and the development of the software architecture into a context. The development takes place in several cycles of sprints (iterations) which are distinguished in initial sprint, domain sprint and value sprint. Parallel to the development PhD Thesis vi of domain language and application, the software architecture is developed evolutionarily and transferred to development. Finally, based on the mentioned case studies from the practice and investigations of model-driven projects in other industrial companies and business fields is checked how AMDM can contribute by agile concepts to increase efficiency in model-driven projects and how the expressed criticisms and problems from these studies can be avoided. PhD Thesis vii Table of Contents 1 Introduction ................................................................................................ 14 1.1 Research Background ..................................................................................... 14 1.2 Objectives of this Work .................................................................................. 16 1.3 Applied Methodologies .................................................................................. 17 1.4 Summary ......................................................................................................... 19 2 Model-Driven Development ...................................................................... 23 2.1 Software Engineering and Models .................................................................. 23 2.2 Definitions ...................................................................................................... 24 2.2.1 Model, Platform and View ................................................................... 25 2.2.2 Model-Based Development vs. Model-Driven Development .............. 27 2.2.3 The Term “Domain Architecture” ........................................................ 28 2.3 Methodologies for Model-Driven Development ............................................ 29 2.3.1 ODAC ................................................................................................... 30 2.3.2 MASTER .............................................................................................. 32 2.3.3 DREAM ................................................................................................ 35 2.4 Critical View / Problems in MDD Projects .................................................... 38 2.4.1 Effort/Cost Drivers in MDD Projects ................................................... 38 2.4.2 Limitations of Model-Driven Development ......................................... 39 2.4.3 General Limitations and Criticisms ...................................................... 42 2.5 Summary ......................................................................................................... 43 3 Agile Development and Modelling – Existing Approaches ................... 44 3.1 The Agile Approach ........................................................................................ 45 3.1.1 Agile Principles .................................................................................... 47 3.1.2 Agility ................................................................................................... 48 3.1.3 Agile Techniques and Practices ............................................................ 48 3.2 Opportunities and Limitations of Agile Approaches ...................................... 50 3.3 Agile Methods for MDD Support ..................................................................