Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Martin Kropp is active.

Publication


Featured researches published by Martin Kropp.


conference on software engineering education and training | 2013

Teaching agile software development at university level: Values, management, and craftsmanship

Martin Kropp; Andreas Meier

Agile methodologies have come a long way over the last decade. Several recent surveys show that agile methodologies like Scrum, Extreme Programming and, more recently, Kanban have been successfully adopted by many companies to develop their software. However, the same surveys show that only few of the agile practices are used and even fewer are applied consequently and thoroughly. This is to a great extent due to the lack of skilled personnel. Although teaching agile software development has drawn some attention in recent research and has been discussed in several papers, we do not yet seem to be able to “deliver” the appropriately skilled personnel. What is the reason for this, and more importantly, how can we improve the situation? In this paper we propose a more holistic approach for teaching agile software development, in which the required agile practices and values are not only integrated theoretically into our courses but also practically applied and repeated until they become a habit to our graduates. The proposed concept was realized in a new Software Engineering course held at Zurich University of Applied Sciences during 2012. The evaluation shows very encouraging results, but also leaves some challenges and problems to be solved.


conference on software engineering education and training | 2014

Teaching and learning agile collaboration

Martin Kropp; Andreas Meier; Magdalena Mateescu; Carmen Zahn

Agile methods are widely adopted in software development. They are based on agile principles that sharply contrast to traditional command-and-control management methods. Such methods emphasize the importance of highly interactive self-organizing teams and close collaboration of all stakeholders, as well as values like courage, openness and respect. However, recent studies show that graduates and undergraduates of computer science often lack the collaborative and communicative skills necessary for agile methods and, thus, are not yet well enough educated for agile development approaches. Therefore, new approaches or more adequate educational methods for teaching the necessary communication and collaboration skills need to be developed. In a recent interview study, the authors elicited specific collaboration and communication skills needed in agile teams. In this paper, we present results from this study and discuss teaching concepts for collaboration skills from both engineering and psychological points of view. We suggest an approach on how to integrate these concepts into university courses, that focuses on active learning of agile collaboration. We have started implementing the proposed concept in a software engineering course and report on the experiences we have made and on the challenges that we have encountered.


Proceedings of the 4th Workshop on Refactoring Tools | 2011

Automated acceptance test refactoring

Rodrick Borg; Martin Kropp

With the increasing popularity of agile software development and Test-Driven-Development, also maintenance of acceptance test has become an important issue. In this paper, we describe a concept and a tool for automated acceptance test maintenance using a refactoring approach. Acceptance tests are user tests which are used to determine if a system satisfies acceptance criteria and to enable a customer to determine whether or not to accept the system. In agile development acceptance test are also used as a mean for specification, i.e. acceptance tests are written in advance to the production code (called Behavior-Driven-Development - BDD). In an agile project this poses three major challenges with respect to maintenance of acceptance tests: new requirements may cause changes in the acceptance criteria, which require the system under test to be adapted; when the system under test undergoes a major restructuring, even the acceptance test might have to be adapted; with the increasing acceptance test suite in an agile project the tests themselves may undergo a major reorganization. Having a large acceptance test base, doing these refactorings manually is error prone and causes a lot of effort. In this paper we present a concept and tool for executing automated refactoring for Fit acceptance tests, which significantly reduces the effort for test maintenance and makes them much less error prone.


global engineering education conference | 2014

New sustainable teaching approaches in software engineering education

Martin Kropp; Andreas Meier

Ten years ago, it was usual that projects in the software industry ran on for years before the customer was able to lay his hands on the product he had ordered. This often resulted in delays, budget overruns and disappointing deliverables. During the last decade, the Agile approach has been taking over software project management, shortening product development cycles from a few years to a few weeks or even days. Recently, the agile approach has even been used for developing a new car which runs 100 miles per gallon [1]. Several recent surveys [2], [3] show that agile methodologies like Scrum, Extreme Programming or Kanban have successfully been adopted by many companies to develop software. However, agile methodologies do not come for free. A different set of skills, or agile practices as they are called, are necessary for the software engineers in order to be able to sucessfully deliver high-quality software at the end of every iteration. The same surveys show that only few of the agile practices are used and even fewer are applied consequently and thoroughly. This is to a great extent due to the lack of skilled software engineers. Although teaching agile software development has drawn some attention in recent research, we do not yet seem to be able to “deliver” the appropriately skilled engineers. What is the reason for this, and more importantly, how can we improve the situation? In this position paper we propose a more holistic approach for teaching agile software engineering, in which the required agile practices and values are not only integrated theoretically but also practically applied and repeated until they become a habit to students and software engineers.


product focused software process improvement | 2016

Agile practices, collaboration and experience an empirical study about the effect of experience in agile software development

Martin Kropp; Andreas Meier; Robert Biddle

Agile Software Development has been around for more than fifteen years and is now widespread. How does experience effect the application of agile methods in organizations and what are the implications on the individual and organizational culture? This paper presents in-depth analysis of the Swiss Agile Study 2014. Switzerland offers an illustrative microcosm of software development, with a range of industry domains and sizes, and well-educated and internationally aware professionals. The study included more than a hundred professionals and managers, contacted through professional and industry associations. The topics addressed included experience with Agile development, motivations for adopting it, barriers perceived, specific practices used, and specific benefits realized. Analysis of the data identified important trends and differences. Agile experience seems to be an important factor, which affects many aspects of practice and workplace culture. More troubling is that it appears stress and overwork may be common among Agile professionals. All these findings illustrate important differences between Agile processes as prescribed, and as actually practiced.


conference on software engineering education and training | 2016

Teaching Agile Collaboration Skills in the Classroom

Martin Kropp; Andreas Meier; Robert Biddle

Agile methodologies like Scrum or Extreme Programming have come a long way over the last fifteen years. Recent quantitative studies show that many companies have successfully adopted agile methodologies. It was found that in agile software development, experience leads to collaboration. It could also be shown that successful professional agile teams tend to use more collaboration practices. In 2013, the new Computer Science studies at the University of Applied Sciences were started. For this, a new curriculum was developed. This paper presents and discusses the lectures, labs and educational software projects in the programming and software engineering modules. It is discussed how agile collaboration and collaboration practices can be taught in the classroom. For this, the setup and observations of an agile student project are presented and different online collaboration tools are discussed. It is argued that software engineering education benefits significantly from embracing the modern collaboration tools the Internet has made available.


conference on object-oriented programming systems, languages, and applications | 2009

Reverse generation and refactoring of fit acceptance tests for legacy code

Martin Kropp; Wolfgang Schwaiger

The Fit framework is a well established tool for creating early and automated acceptance tests. Available Eclipse plug-ins like FITPro support the writing of test data and the creation of test stubs quite well for new requirements and new code. In our project we faced the problem, that a large legacy system should undergo a major refactoring. Before this, acceptance tests had to be added to the system to ensure equivalent program behavior before and after the changes. Writing acceptance tests manually for existing code is very laborious, cumbersome and very costly. However reverse generation of fit tests based on legacy code is not foreseen in the current Fit framework, and there are no other tools available to do so. So we decided to develop a tool which allows generation of the complete Fit test code and test specification based on existing code. The tool also includes automatic refactoring of test data when refactoring production code and vice versa, when changing the Fit test specification, it also updates production code accordingly. This reduces the maintenance effort of Fit tests in general and we hope, this will help to spread the usage of Fit for acceptance and integration testing even more.


global engineering education conference | 2016

Collaboration and human factors in software development: Teaching agile methodologies based on industrial insight

Martin Kropp; Andreas Meier

Recent studies show that many companies have successfully adopted agile methodologies. In this paper the authors present results of their quantitative and qualitative studies, showing that only experienced companies apply agile collaboration practices properly. The studies also suggest that successful professional agile teams tend to use more collaboration practices and consciously live the agile values. This leads to the conclusion that applying the collaborative practices and living the agile values is difficult. Thus we educators should pay special attention to teaching these practices and values in courses on agile software development. This paper presents how agile collaboration is being taught in the classroom in a fourth semester software engineering module and explains the underlying assumptions. We use an agile coaching game as introduction to Scrum and discuss the mechanics of agile teams in the classroom. We present the setup of a hands-on agile student project with large student teams and the observations we made. Last but not least, we show and discuss how modern online collaboration tools act as enablers for agile collaboration in the classroom.


2013 3rd International Workshop on Developing Tools as Plug-Ins (TOPI) | 2013

ReFit: A Fit test maintenance plug-in for the Eclipse refactoring plug-in

Michael Druk; Martin Kropp

The Fit framework is a widely established tool for automated acceptance test-driven development (ATDD). Fit stores the test specification separate from the test fixture code in an easily human readable and editable tabular form in HTML format. Additional tools like the FitPro plugin or FitN esse support the writing of test specifications and test fixtures from within the Eclipse IDE or the Web. With the increasing popularity of agile test-driven software development, maintenance of the evolving and growing test base has become an important issue. However, there has been no support yet for automated refactoring of Fit test cases. In a recent research project, we developed the Eclipse plugin ReFit for automated refactoring of Fit test cases. Fit test refactoring can occur due to changing requirements or changing Java code, which in either case means a cross-language refactoring to keep test specification and test fixture in sync. In this paper the concept for the development of the ReFit Eclipse Plugin is described, which significantly reduces the effort for Fit test maintenance and makes refactoring less error prone. Besides a tight integration into the existing Eclipse refactoring plugin, major goals of the plugin were to make it easy extensible for additional refactorings, new fixture types and further test specification file formats. Challenges faced when adding new and modifying existing Eclipse refactoring behavior are described and are due to the strong dependency on the Eclipse JDK and LTK features, and the solutions developed are presented.


international conference on software engineering | 2018

Myagile: sociological and cultural effects of agile on teams and their members

Robert Biddle; Andreas Meier; Martin Kropp; Craig Anslow

Two main concepts in Agile software development are self-organized teams and direct contact with the customer or Product Owner. Additionally, constant feedback on different levels is considered to be of high importance. With constant feedback, transparency goes hand-in-hand. Compared to traditional software development, Agile approaches have much higher transparency, and this might be a problem for some people. What does it feel like to work in such an Agile team or organization for the individual? How do the software developers, testers or other team members experience this environment of high transparency and continuous feedback? In this paper we focus on a subset of the third Swiss Agile Study from 2016, a nationwide survey about software development, to shed some light on the sociological, cultural and cognitive aspects of Agile teams and their individual member. We found that despite the increased transparency, the majority of the participants reported working in an Agile environment, both on the individual and on the team level, as positive and satisfying. The analysis shows these positive influences have some strong correlations with certain Agile practices and with innovation and business aspects.

Collaboration


Dive into the Martin Kropp's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Craig Anslow

Victoria University of Wellington

View shared research outputs
Top Co-Authors

Avatar

Carmen Zahn

Northwestern University

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Dario Vischi

Northwestern University

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Rodrick Borg

Northwestern University

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge