Marco Kuhrmann

Marco Kuhrmann
Hochschule Reutlingen · Department of Business Informatics

Prof. Dr.

About

238
Publications
157,374
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
2,077
Citations
Introduction
Marco Kuhrmann currently works at the School of Informatics of the Reutlingen University. Marco does research in Software Engineering. His current project is 'HELENA SURVEY - Hybrid dEveLopmENt Approaches in software systems development.'
Additional affiliations
April 2019 - August 2021
Universität Passau
Position
  • Chair
June 2017 - March 2019
Technische Universität Clausthal
Position
  • Lecturer
March 2017 - March 2019
Technische Universität Clausthal
Position
  • PostDoc Position
Education
July 2008 - June 2014
Technische Universität München
Field of study
  • Computer Science (Software Engineering)
April 2004 - June 2008
Technische Universität München
Field of study
  • Computer Science (Software Engineering)
September 1999 - March 2004
Universität Potsdam
Field of study
  • Computer Science (Software Engineering)

Publications

Publications (238)
Conference Paper
Full-text available
For years, agile methods are considered the most promising route toward successful software development, and a considerable number of publications studies the (successful) use of agile methods and reports on the benefits companies have from adopting agile methods. Yet, since the world is not black or white, the question for what happened to the tra...
Conference Paper
Full-text available
Software and system development faces numerous challenges of rapidly changing markets. To address such challenges, companies and projects design and adopt specific development approaches by combining well-structured comprehensive methods and flexible agile practices. Yet, the number of methods and practices is large, and available studies argue tha...
Conference Paper
Full-text available
Software development methods are usually not applied by the book. Companies are under pressure to continuously deploy software products that meet market needs and stakeholders’ requests. To implement efficient and effective development processes, companies utilize multiple frameworks, methods and practices, and combine these into hybrid methods. A...
Conference Paper
Full-text available
Among the multitude of software development processes available, hardly any is used by the book. Regardless of company size or industry sector, a majority of project teams and companies use customized processes that combine different development methods - so-called hybrid development methods. Even though such hybrid development methods are highly i...
Article
Together with many success stories, promises such as the increase in production speed and the improvement in stakeholders' collaboration have contributed to making agile a transformation in the software industry in which many companies want to take part. However, driven either by a natural and expected evolution or by contextual factors that challe...
Conference Paper
Startups play a key role in software-based innovation. They make an important contribution to an economy's ability to compete and innovate, and their importance will continue to grow due to increasing digitalization. However, the success of a startup depends primarily on market needs and the ability to develop a solution that is attractive enough f...
Preprint
Together with many success stories, promises such as the increase in production speed and the improvement in stakeholders' collaboration have contributed to making agile a transformation in the software industry in which many companies want to take part. However, driven either by a natural and expected evolution or by contextual factors that challe...
Chapter
Eine der Kernaufgaben in der Entwicklung von Software ist die Implementierung des Softwaresystems mit Hilfe einer oder mehrerer passend gewählter Programmiersprachen. Dadurch wird ein ablauffähiges Programmsystem geschaffen. Abhängig vom gewählten Vorgehensmodell wird mit der Implementierung vergleichsweise früh begonnen, etwa bei Scrum, oder nach...
Chapter
Die Entwicklung von Software erfolgt im Rahmen von Projekten. Projekte benötigten eine angemessene Vorgehensweise. Wir sprechen von Vorgehensmodellen. Diese beschreiben die Aufbauorganisation sowie die Ablauforganisation eines Projektes. In der Aufbauorganisation wird die Teamstruktur festgelegt und in der Ablauforganisation der Prozess für die ein...
Chapter
Architekturen dienen entscheidend der Strukturierung von Softwaresystemen. Ist diese Strukturierung gut gewählt, entstehen in sich geschlossene Teilsysteme, die separat zu verstehen und zu realisieren sind. Ein so strukturiertes Softwaresystem ist auch leichter zu ändern und zu warten, da in der Regel die Änderungen nur bestimmte Teilsysteme betref...
Chapter
Software Engineering ist in wenigen Jahren von einer Nischendisziplin zu einer dominanten Technologie geworden. Software Engineering ist die beherrschende Disziplin bei der Entwicklung digitaler Systeme. Sie umfasst die technische Realisierung (Implementierung) von Software durch Programmierung ebenso wie Fragen, in welchen Bereichen Software gewin...
Chapter
Softwaresysteme können enorme Umfänge annehmen, weshalb es unabdingbar ist, sie angemessen zu strukturieren. Dies erfolgt durch die Gliederung in Teilsysteme und die Beschreibung des Zusammenwirkens der Teilsysteme. Schnittstellen kapseln die Teilsysteme. Über die Schnittstellen wird festgelegt, welche Einwirkungsmöglichkeiten es von außen auf ein...
Chapter
In den im Laufe der Entwicklung von Softwaresystemen zu erstellenden Artefakten sind sehr unterschiedliche Zusammenhänge von oft hoher Komplexität zu erfassen. Dies umfasst die Beschreibung des Verhaltens eines Softwaresystems oder seiner Bestandteile und die Beschreibung von Daten, Prozessen, Zuständen oder Strukturen. Für die angemessene Beschrei...
Chapter
Bei der Erhebung von Anforderungen ist es erforderlich, ausgehend von den Zielen einer Softwareentwicklung die wesentlichen Bedürfnisse der Nutzer im Hinblick auf die Aufgaben, die mit dem Softwaresystem zu erledigen sind, zu verstehen und festzulegen. Daraus ist ein Konzept zu entwickeln wie das Softwaresystem grundsätzlich diese Aufgaben zu bewäl...
Chapter
Technisch gesehen sind Softwaresysteme große Ansammlungen von Programmcode und Daten, die auf verfügbaren Rechenanlagen zur Ausführung gebracht werden können. In dieser technischen Sichtweise und Darstellung sind Softwaresysteme für Menschen kaum verständlich, da sie für die Ausführung auf Maschinen gemacht sind. Für das Verständnis eines Softwares...
Chapter
Der Entwurf einer Architektur erfolgt im Rahmen eines Architekturentwicklungsprozesses. Hier wird definiert, in welche Teilsysteme ein System untergliedert wird und wie die Teilsysteme (Komponenten) dargestellt und modelliert werden. Insbesondere wird in der Gliederung festgelegt, wie die Schnittstellen einschließlich des Schnittstellenverhaltens f...
Chapter
Zentral in der Anforderungsanalyse ist die Frage: Welchen Wert schafft die zu entwickelnde Software für den Auftraggeber? Das zielt primär auf die zu schaffende Funktionalität. Liegt der Funktionsumfang fest, muss die geforderte Funktionalität im Detail beschrieben werden. Dabei stößt man in der Regel immer wieder auf Einzelfragen, wie ein System i...
Chapter
Was ist das Ziel eines Softwareentwicklungsprojekts? Welche Eigenschaften soll das zu entwickelnde Softwaresystem haben? Welche Aufgaben soll es unterstützen? Welche Funktionalität soll es in welcher Form anbieten? Welche Qualitätseigenschaften soll das Softwaresystem haben? – Dies sind die zentralen Fragen bei der Entwicklung von Software, deren B...
Chapter
In den zurückliegenden Kapiteln haben wir die Software- und Systementwicklung so beschrieben, als würden wir auf der grünen Wiese starten und ein neues Softwaresystem von Grund auf entwickeln. Dadurch konnten wir die einzelnen Aufgaben der Softwareentwicklung gut abgegrenzt darstellen. Eine völlige Neuentwicklung ist aber in der Praxis eher die Aus...
Chapter
Liegen Teile der Software implementiert vor, kann damit begonnen werden, die Software zu verifizieren und die Teile zu integrieren. Typischerweise werden einzelne Teile zunächst für sich getestet und dann, soweit sie vorgegebenen Qualitätsanforderungen genügen, mit anderen Teilen zusammengefügt. Abhängig von der Vorgehensweise kann wieder sehr früh...
Preprint
Full-text available
Hardly any software development process is used as prescribed by authors or standards. Regardless of company size or industry sector, a majority of project teams and companies use hybrid development methods (short: hybrid methods) that combine different development methods and practices. Even though such hybrid methods are highly individualized, a...
Article
Full-text available
Context Test-driven development (TDD) is an agile software development approach that has been widely claimed to improve software quality. However, the extent to which TDD improves quality appears to be largely dependent upon the characteristics of the study in which it is evaluated (e.g., the research method, participant type, programming environme...
Preprint
Software and system development is complex and diverse, and a multitude of development approaches is used and combined with each other to address the manifold challenges companies face today. To study the current state of the practice and to build a sound understanding about the utility of different development approaches and their application to m...
Article
Full-text available
A considerable share of innovative software-intensive products is developed by startups. However, product development in an early-stage startup is not a sequential process. A business idea is usually based on a number of assumptions. The riskiest assumptions need to be tested. Depending on the test results, a product strategy may change several tim...
Preprint
Software development methods are usually not applied by the book. Companies are under pressure to continuously deploy software products that meet market needs and stakeholders' requests. To implement efficient and effective development processes, companies utilize multiple frameworks, methods and practices, and combine these into hybrid methods. A...
Preprint
Full-text available
Among the multitude of software development processes available, hardly any is used by the book. Regardless of company size or industry sector, a majority of project teams and companies use customized processes that combine different development methods -- so-called hybrid development methods. Even though such hybrid development methods are highly...
Preprint
Software engineering educators are continually challenged by rapidly evolving concepts, technologies, and industry demands. Due to the omnipresence of software in a digitalized society, higher education institutions (HEIs) have to educate the students such that they learn how to learn, and that they are equipped with a profound basic knowledge and...
Book
Full-text available
Selecting a suitable development method for a specific project context is one of the most challenging activities in process design. To extend the so far statistical construction of hybrid development methods, we analyze 829 data points to investigate which context factors influence the choice of methods or practices. Using exploratory factor analys...
Book
Das Buch führt in die Grundlagen der Softwaretechnik ein. Dabei liegt sein Fokus auf der systematischen und modellbasierten Software- und Systementwicklung aber auch auf dem Einsatz agiler Methoden. Die Autoren legen besonderen Wert auf die gleichwertige Behandlung praktischer Aspekte und zugrundeliegender Theorien, was das Buch als Fach- und Lehrb...
Preprint
Full-text available
Selecting a suitable development method for a specific project context is one of the most challenging activities in process design. Every project is unique and, thus, many context factors have to be considered. Recent research took some initial steps towards statistically constructing hybrid development methods, yet, paid little attention to the pe...
Preprint
Full-text available
Context: Test-driven development (TDD) is an agile software development approach that has been widely claimed to improve software quality. However, the extent to which TDD improves quality appears to be largely dependent upon the characteristics of the study in which it is evaluated (e.g., the research method, participant type, programming environm...
Article
Hardly any software development process is used as prescribed by authors or standards. Regardless of company size or industry sector, a majority of project teams and companies use hybrid development methods (short: hybrid methods) that combine different development methods and practices. Even though such hybrid methods are highly individualized, a...
Conference Paper
Full-text available
Selecting a suitable development method for a specific project context is one of the most challenging activities in process design. Every project is unique and, thus, many context factors have to be considered. Recent research took some initial steps towards statistically constructing hybrid development methods, yet, paid little attention to the pe...
Preprint
Full-text available
Hardly any software development process is used as prescribed by authors or standards. Regardless of company size or industry sector, a majority of project teams and companies use hybrid development methods (short: hybrid methods) that combine different development methods and practices. Even though such hybrid methods are highly individualized, a...
Article
Software engineering is a key discipline in computer science. Its purpose is to develop software products and services of high quality within economic constraints that meet customer requirements and create value. Considerable shares of the societal and industrial infrastructure depend on software, and software has become a key driver for innovation...
Article
Full-text available
Software is an integrated part of new features within the automotive sector and the number of software-based functions is steadily increasing. For German car manufacturers, the HIS (Hersteller Initiative Software) consortium defined metrics to determine software quality. Yet, problems with assigning metrics to quality attributes often occur in prac...
Article
Full-text available
Context: Software testing is an important and costly software engineering activity in the industry. Despite the efforts of the software testing research community in the last several decades, various studies show that still many practitioners in the industry report challenges in their software testing tasks. Objective: To shed light on industry’s...
Article
Standard Reviewing Procedures The final acceptance decision for a paper can be taken by following different alternative peer-reviewing processes (these review processes are implemented for both conferences and journals). The standard setup can be described as follows: while authors are usually not aware of the reviewers' identity (so-called blind r...
Book
Full-text available
This volume contains papers from the conference “Projektmanagement und Vorgehensmodelle 2019” (PVM 2019) held in Lörrach on October 24 - 25, 2019. Software engineering approaches have changed, new software development processes are established within agile or hybrid frameworks. The conference papers report on project management methods within new o...
Article
Full-text available
Artefacts play a vital role in software and systems development processes. Other terms like documents, deliverables, or work products are widely used in software development communities instead of the term artefact. In the following, we use the term ‘artefact’ including all these other terms. Despite its relevance, the exact denotation of the term...
Article
Full-text available
The emergence of agile methods and practices has not only changed the development processes but might also have affected how companies conduct software process improvement (SPI). Through a set of complementary studies, we aim to understand how SPI has changed in times of agile software development. Specifically, we aim (1) to identify and character...
Article
Full-text available
The International Conference on Software and System Processes (ICSSP) provides a leading forum for the exchange of research outcomes and industrial best practices in process development from software and systems disciplines. ICSSP 2018 was held in Gothenburg, Sweden, May 26 to 27, 2018, colocated with the 40th International Conference on Software E...
Conference Paper
Full-text available
Software process improvement (SPI) is around for decades, but it is a critically discussed topic. In several waves, different aspects of SPI have been discussed in the past, e.g., large-scale company-level SPI programs, maturity models, success factors, and in-project SPI. It is hard to find new streams or a consensus in the community, but there is...
Conference Paper
Full-text available
Empirical studies have become a central element of software engineering research and practice. Yet, teaching the instruments of empirical software engineering is challenging, since students need to understand the theory of the scientific method and also have to develop an understanding of the application of those instruments and their benefits. In...
Conference Paper
Full-text available
Software engineering educators are continually challenged by rapidly evolving concepts, technologies, and industry demands. Due to the omnipresence of software in a digitalized society, higher education institutions (HEIs) have to educate the students such that they learn how to learn, and that they are equipped with a profound basic knowledge and...
Technical Report
Full-text available
HELENA-Edu is a international survey that aims at collecting data regarding the general use of software and system development approaches in teaching. The overall goal is to study if the frameworks, methods and practices thaught at institutions of higher education reflect industrial practice. This report presents selected key findings of the HELENA...
Data
This file contains the basic research and questionnaire designs and research (raw) data for the second stage of the HELENA-Edu study.
Article
Full-text available
The International Conference on Software and System Processes (ICSSP), continuing the success of Software Process Workshop (SPW), the Software Process Modeling and Simulation Workshop (ProSim) and the International Conference on Software Process (ICSP) conference series, has become the established premier event in the eld of software and systems en...
Article
The International Conference on Software and System Processes (ICSSP), continuing the success of Software Process Workshop (SPW), the Software Process Modeling and Simulation Workshop (ProSim) and the International Conference on Software Process (ICSP) conference series, has become the established premier event in the eld of software and systems en...
Article
The International Conference on Software and System Processes (ICSSP), continuing the success of Software Process Workshop (SPW), the Software Process Modeling and Simulation Workshop (ProSim) and the International Conference on Software Process (ICSP) conference series, has become the established premier event in the field of software and systems...
Technical Report
Full-text available
HELENA is a large-scale international survey that aims at collecting data regarding the general use of software and system development approaches in practice. In a 2-year endeavor, a team of up to 75 researchers developed the HELENA instrument and collected data from almost 1,500 project/product teams worldwide. This report presents selected key fi...
Data
This file contains the basic research and questionnaire designs and research (raw) data for the second stage of the HELENA study. Instructions and directory outline is included in the zip-file.
Article
Full-text available
Context: Organizations increasingly develop software in a distributed manner. The Cloud provides an environment to create and maintain software-based products and services. Currently, it is unknown which software processes are suited for Cloud-based development and what their effects in specific contexts are. Objective: We aim at better understandi...
Preprint
Full-text available
The International Conference on Software and System Processes (ICSSP), continuing the success of Software Process Workshop (SPW), the Software Process Modeling and Simulation Workshop (ProSim) and the International Conference on Software Process (ICSP) conference series, has become the established premier event in the field of software and systems...
Article
Full-text available
Software ist in nahezu allen Industriesektoren zu einem Treiber für Innovation geworden. Deshalb benötigen Unternehmen Methodenkompetenz zur Softwareentwicklung. Hier werden eine Vielzahl unterschiedlicher Prozesse, Methoden und Praktiken verwendet. Die HELENA-Studie untersucht empirisch die in der Praxis eingesetzten Softwareentwicklungsansätze. E...
Preprint
Full-text available
Artefacts play a vital role in today's software and systems development processes. The notion of artefacts is widely used in software development communities. Despite the relevance and frequent use of the term `artefact', the exact denotation of this term is still not clear, due to a variety of different understandings of the term and to a careless...
Conference Paper
Full-text available
Even though agile methods have been flourishing in the last decades, their implementation in (globally) distributed arrangements still present hard challenges. Due to this tension, practices are either modified or added to compensate with the additional control required by the setup. In this paper, we present a case study about a company that manag...
Conference Paper
Full-text available
Software engineering courses have to deliver theoretical and technical knowledge and skills while establishing links to practice. However, due to course goals or resource limitations, it is not always possible or even meaningful to set up complete projects and let students work on a real piece of software. For instance, if students shall understand...
Conference Paper
Full-text available
Background: The sensitivity of Requirements Engineering (RE) to the context makes it difficult to efficiently control problems therein, thus, hampering an effective risk management devoted to allow for early corrective or even preventive measures. Problem: There is still little empirical knowledge about context-specific RE phenomena which would be...
Article
Full-text available
Agile and traditional development approaches are used in combination in today’s software development. To improve the understanding and to provide better guidance for selecting appropriate development approaches, it is important to analyze such combinations in practice. Results obtained from an online survey strongly confirm that hybrid development...
Article
Full-text available
The first international HELENA workshop was held co-located with the 2017 International Conference on Software and Systems Process (ICSSP). The goals of this workshop were to bring the HELENA team together, foster general networking, discuss the current state of the project, and develop a roadmap towards future activities. From the 84 researchers a...
Article
Full-text available
Systematic literature studies have received much attention in empirical software engineering in recent years. They have become a powerful tool to collect and structure reported knowledge in a systematic and reproducible way. We distinguish systematic literature reviews to systematically analyze reported evidence in depth, and systematic mapping stu...
Conference Paper
Full-text available
To ensure the dependability and safety of spaceflight devices, rigorous standards are defined. Among others, one requirement from the European Cooperation for Space Standardization (ECSS) standards is 100% test coverage at software unit level. Different stakeholders need to have a good knowledge of the implications of such a requirement to avoid ri...
Conference Paper
Full-text available
Software and system development is complex and diverse, and a multitude of development approaches is used and combined with each other to address the manifold challenges companies face today. To study the current state of the practice and to build a sound understanding about the utility of different development approaches and their application to m...
Conference Paper
Full-text available
Organizations increasingly develop software in a distributed manner. The Cloud provides an environment to create and maintain software-based products and services. Currently, it is widely unknown which software processes are suited for Cloud-based development and what their effects in specific contexts are. This paper presents a process simulation...