• No results found

University of Groningen Preserving and reusing architectural design decisions van der Ven, Jan

N/A
N/A
Protected

Academic year: 2021

Share "University of Groningen Preserving and reusing architectural design decisions van der Ven, Jan"

Copied!
13
0
0

Bezig met laden.... (Bekijk nu de volledige tekst)

Hele tekst

(1)

University of Groningen

Preserving and reusing architectural design decisions van der Ven, Jan

IMPORTANT NOTE: You are advised to consult the publisher's version (publisher's PDF) if you wish to cite from it. Please check the document version below.

Document Version

Publisher's PDF, also known as Version of record

Publication date: 2019

Link to publication in University of Groningen/UMCG research database

Citation for published version (APA):

van der Ven, J. (2019). Preserving and reusing architectural design decisions. University of Groningen.

Copyright

Other than for strictly personal use, it is not permitted to download or to forward/distribute the text or part of it without the consent of the author(s) and/or copyright holder(s), unless the work is under an open content license (like Creative Commons).

Take-down policy

If you believe that this document breaches copyright please contact us providing details, and we will remove access to the work immediately and investigate your claim.

Downloaded from the University of Groningen/UMCG research database (Pure): http://www.rug.nl/research/portal. For technical reasons the number of authors shown on this cover page is limited to 10 maximum.

(2)

Preserving and Reusing Architectural

Design Decisions

Jan Salvador van der Ven

(3)

ii

The research presented in this thesis was carried out at the Software Engineering and Architecture group, at the Bernoulli Institute for Math, CS, AI at the University of Groningen.

This research has partially been sponsored by the Dutch Joint Academic and Com-mercial Quality Research & Development (Jacquard) program on Software En-gineering Research via contract 638.001.406 GRIFFIN: a GRId For inFormatIoN about architectural knowledge.

Cover illustration by Bloei media - bloeimedia.nl No mice were harmed in the design process.

Printed by Gildeprint - The Netherlands

ISBN (digital): 978-94-034-1534-5 ISBN (print): 978-94-034-1535-2

Copyright c 2019, Jan Salvador van der Ven All rights reserved unless otherwise stated.

(4)

Preserving and Reusing Architectural

Design Decisions

PhD thesis

to obtain the degree of PhD at the

University of Groningen

on the authority of the

Rector Magnificus dr. E. Sterken

and in accordance with

the decision by the College of Deans.

This thesis will be defended in public on

Monday 8 April 2019 at 12:45 hours

by

Jan Salvador van der Ven

born on 14 December 1977

in Groningen, the Netherlands

(5)

Supervisor

Prof. J. Bosch

Co-supervisor

Prof. P. Avgeriou

Assessment committee

Prof. U. Zdun

Prof. I. Crnkovic

Prof. D. Karastoyanova

ISBN (digital): 978-94-034-1534-5

ISBN (print): 978-94-034-1535-2

(6)

v

“Perfect is the Enemy of Done ”

(7)
(8)

vii

Acknowledgements

This project took quite some time. I have worked with many people, and I hope I remember everyone that helped me in any way. Roughly, the work on my thesis can be divided into two periods with a pause in between. In the first period, I was enrolled by the university of Groningen, and I had the opportunity to work on my research full-time. In the pause I worked in industry in several companies. With new insights from industry, I restarted my research part-time, with guidance-on-distance from Jan Bosch who resided in Gothenborg by that time. Fourteen years after starting, my work on this thesis is finished.

First of all, I want to thank Jan Bosch for the guidance of this project, and also for the endless positive and constructive attitude towards finishing this work. The business collaboration we did was challenging and fun, but you always came back with a subtle question: "how is research"?

In addition to Jan, I would like to thank three other supervisors that have been involved for shorter periods: Jos Nijhuis, Dieter Hammer and Paris Avgeriou. You all had a different perspective on research, which shaped my thoughts. Paris, thank you for the collaboration, supervision, and also for making it possible for me to teach at the university after I left. This teaching was fun and it also helped me to organize my thoughts on the research I was doing.

For this research, I have often asked others to provide me with input, either in the form of filling in a survey, or being interviewed. Thanks to all the participants, without you this research could have never been completed.

In the first period of my research, I enjoyed working with Johanneke, Marco, Sybren, Jens and Natasha. Special thanks to Anton, with whom I published my earliest works and who co-authored several of the publications that form the basis for this thesis. In the GRIFFIN project, we collaborated with researchers from the VU. Victor, Remco, Hans and Patricia, thank you for the fruitful discussions on ar-chitectural knowledge and the role of design decisions in this. Rik, I would like to thank you specifically as we were the first ’GRIFFIN-ers’. I liked the conversations we had in that period, personal as well as professional.

In the second period of my research I was not at the university, but did have contact with some researchers in Groningen: Dan, thanks for the interesting dis-cussions on research and other topics. Mircea, it was great to have a short collabo-ration with you on the Github paper.

Between the first and the second period, I worked at several companies. The people in one company shaped my thinking radically, which is also reflected in this thesis: Factlink. Tom, Remon, Gordon, Mark, Martijn and Jens, it was great to be part of the team. Special thanks to Merijn: I have learned a lot from you as you introduced me into the world of startups and showed me the joy of making products.

There is one person who was involved in the first period as well as the pause and the second period of my research. Ivor, somehow our lives keep crossing each other. Thank you for your numerous reflections on the software industry and research. Either at work, in the gym or with a small beer, we always had challenging and fun discussions. Also, thanks for giving me the opportunity to

(9)

viii

work with you at Crop-R. I could not have finished this thesis if I didn’t have the flexible employment you made possible for me. I know we will work together some day again, and look forward to it.

While mentioning this, thanks to the Crop-R guys and girls, I loved working with you: Jeroen, Kristina, Maarten, Cees, Geoffrie, Ronald, Erik-Jan, Gert, Ma-rina, Lud en Mark. The discussions during lunch sharpened my thoughts on re-search in many occasions. Special thanks for Nico, for the deadly fights we fought at the table-tennis table that kept me in shape.

When I started writing the introduction of my thesis, Jos van Essen came in interrupting me several times. In most occasions his interruptions ended up in fruitful discussions on the state of the world and software development. Thank you for this input Jos, you helped me shape my introduction to the form it cur-rently is.

One group of friends followed my whole trajectory: the Freestylers. Jur, Axel, Martijn, Bastiaan, Hylke, Maarten, Ferdinand, Edwin, Bobby, thanks for the nu-merous discussions on everything in all kinds of places around the world (most often on camping Neus). You guys inspired me to finish my thesis not by saying I should do it but by showing how it’s done while not making it bigger than it is.

Another group of friends kept me on the ground, while they also challenged me with philosophical discussions, handball and intriguing board-games. Rik, Marijn, Sjabbe and Chris, thanks for the relaxing moments we had together in the years I worked at my research.

Finally, I would like to thank my family for the support and reflection: Irene, Corry and Marijke. Without putting pressure on me, you kept believing I could finish this. Mare en Tara, thank you for your endless enthusiasm, you energized me all the time. Last but not least, Iris thank you very much for your support and patience, especially during the restless period when I was finishing my thesis. I could not have completed this without you.

(10)

ix

Contents

Acknowledgements vii

1 Introduction 1

1.1 Introduction . . . 1

1.2 A Brief History of Software Development . . . 3

1.3 Software Architecture. . . 5

1.4 Architectural Design Decisions . . . 6

1.5 Research Questions . . . 9

1.6 Research Methodology . . . 11

1.7 Structure of this Thesis . . . 12

1.8 Publications . . . 13

2 Exploring Use Cases for Architectural Decisions 17 2.1 Introduction . . . 17

2.2 Architectural Decisions . . . 19

2.3 From industrial needs to Use Cases . . . 20

2.4 The Use Case Model . . . 21

2.5 Use Case Validation . . . 24

2.6 Related Work . . . 30

2.7 Conclusions and Future Work . . . 32

3 Design Decisions: the Bridge between Rationale and Architecture 37 3.1 Introduction . . . 37

3.2 Software architecture . . . 38

3.3 Rationale in software architecture . . . 41

3.4 Design decisions: the bridge between rationale and architecture . . 43

3.5 Archium . . . 49

3.6 Related work and further developments . . . 51

3.7 Summary . . . 54

4 Enriching Software Architecture Documentation 55 4.1 Introduction . . . 55

4.2 Challenges for Software Architecture Documentation . . . 57

4.3 Enriching Documentation with Formal AK . . . 59

4.4 The Knowledge Architect . . . 61

4.5 Resolved Challenges . . . 65

4.6 The LOFAR Example . . . 67

4.7 Quasi-Controlled Experiment . . . 76

4.8 Related Work . . . 88

(11)

x

4.10 Future Work . . . 90

5 Exploring the Context of Architectural Decisions 93 5.1 Introduction . . . 93

5.2 Research Methodology . . . 94

5.3 The Agile Architecture Axis Framework . . . 95

5.4 Industrial Cases . . . 99

5.5 Analysis . . . 107

5.6 Reflection . . . 110

5.7 Related and Future Work . . . 111

5.8 Conclusions . . . 112

6 Busting Software Architecture Beliefs 117 6.1 Introduction . . . 117 6.2 Background . . . 119 6.3 Experimental Setup . . . 121 6.4 Results . . . 123 6.5 Reflection . . . 126 6.6 Related Work . . . 127 6.7 Conclusions . . . 128

7 Pivots and Architectural Decisions: Two Sides of the Same Medal? 133 7.1 Introduction . . . 133

7.2 Conceptual Model . . . 135

7.3 Software Architecture. . . 136

7.4 New Product Development . . . 139

7.5 Analysis . . . 144

7.6 Guidelines . . . 146

7.7 Related Work . . . 147

7.8 Future Work . . . 147

7.9 Conclusions . . . 148

8 Towards Reusing Decisions by Mining Open Source Repositories 149 8.1 Introduction . . . 150

8.2 Context . . . 151

8.3 Research Approach: Mining Decisions . . . 154

8.4 Programming Language Comparison . . . 161

8.5 Decision Mining . . . 166

8.6 Accessing Decision Rationale . . . 169

8.7 Discussion . . . 174 8.8 Conclusions . . . 178 9 Conclusions 183 9.1 Research Questions . . . 183 9.2 Contributions . . . 185 9.3 Future Work . . . 187 List of Figures 189

(12)

xi List of Tables 191 Abbreviations 193 Abstract 195 Samenvatting 197 Bibliography 199

(13)

Referenties

GERELATEERDE DOCUMENTEN

The beliefs range from the amount of effort needed for architecture documentation, to the size of the team or the persons responsible for making the architectural decisions..

We focus our research on the two most important aspects of these movements: the architectural decision and the pivot, and show that they can be seen as two sides of the same

When relat- ing this to the number of projects, on average every open source project we used contained 6 decisions in commits and 3 commit messages with relevant rationale..

The developed model was used in the work of Chapter 4 , where we showed that it is possible to assist architects and reviewers in preserving tacit knowledge on architectural

3.1 An abstract view on the software architecture design

Other than for strictly personal use, it is not permitted to download or to forward/distribute the text or part of it without the consent of the author(s) and/or copyright

Other than for strictly personal use, it is not permitted to download or to forward/distribute the text or part of it without the consent of the author(s) and/or copyright

We show how explicit decisions can form the bridge between the tacit knowledge of architects and the artifacts that are used in software architecture.. For example, one of the