DevOpsUse & Tools: Acknowledging the Role of End Users in Software Development Processes
Main impacts
- Improved communication of all stakeholders in software development
- Produced a blueprint for technological integration in technology-enhanced learning
The situation before Layers
Highlights
Over the last 20 years, agile development methods have realigned software development practices towards an increased focus on end users, resulting in ever-faster release cycles. These cycles require increased collaboration between developers (Devs) and operators (Ops) through the automation of software deployment, something recently known as DevOps. With the help of dedicated tools, DevOps integrates development and operations for more efficient collaboration and communication. However, despite the growing importance of end-users in innovation, design and evaluation, their role was underrepresented in DevOps models and tools.
Description
Coming from the traditional waterfall models, agile methods have started to change practices of developers at the end of the last century. The Agile Manifesto has settled values like focusing on individuals and actions instead of processes and tools, and collaborating with customers instead of negotiating contracts. Following these ideas, shorter release cycles were adopted, arriving at a state where software companies are now able to release their software multiple times a day. To cater for this, a tighter collaboration between the traditionally separated developer (Dev) and operator (Ops) teams needs to take place, together with a higher automation. This mutual engagement has been named DevOps, a compound word of the aforementioned Devs and Ops’. A wide range of DevOps tools thereby supports the integration of work processes and closer communication and collaboration. Typical examples are tools for issue tracking, revision control, or continuous integration. In parallel, IT companies are increasingly opening towards active end-user participation, not only in the evaluation of existing, but also in the innovation and design of new services and products, e.g. with social media campaigns or Open Source Software initiatives. Despite a high potential for beneficial synergies of bringing end-user voice and contribution closer to development and operations, the current DevOps model does not include any explicit notion for such end-user participation. Furthermore, current DevOps tools are often too technical and confusing for end-users, thus effectively hampering an effective collaboration with them.
What Layers did
Highlights
Layers developed the DevOpsUse methodology model as conceptual extension of the standard DevOps cycle by an additional cycle of end-user contributions. To lower entry barriers for end users, Layers developed several open source tools (e.g. (Requirements Bazaar)[link:I-17], (MobSOS)[link:I-09], (SWeVA)[link:I-19]) designed for end-user inclusion, increased awareness, and seamless integration with established DevOps tools.
Description
In Layers, we conceptually extended the DevOps methodology by the missing perspective of end-user participation in innovation, design, and evaluation, and thus coined the term DevOpsUse. This conceptual extension is reflected in our addition of a parallel cycle around the de-facto standard DevOps cycle model, highlighting the roles and contributions of end-users.
Figure 1: DevOpsUse Life Cycle
In our extension, we explicitly reflect end-user contributions, such as ideas and needs, co-design, feedback from beta-tests, and better understanding of the user base context, practical experience, etc. In the other direction, end users become more involved and motivated by an increased awareness of ongoing design processes. In order to support end-users with an easier and less confusing entry into useful contributions to the DevOpsUse methodology, we further developed several open source tools such as Requirements Bazaar for social requirements engineering and MobSOS for community success-aware evaluation, based on experiences from Layers and other projects. As additional support in terms of training material, we produced the Layers DevOpsUse Webinar series with eight short training videos introducing the DevOpsUse approach and tools.
The situation after Layers
Highlights
After Layers, we are ready to sustain the established open source software development infrastructure beyond the project lifetime.
Description
From start on, the tools were setup and provided for a high impact and sustainability beyond the project. We were able to place the methodological findings at several research outlets. In the Architecture Board, the technical management board within Layers, the responsibilities were clarified and project partners committed to keep the DevOps tools running beyond the project lifetime.
Impact that Layers created
Impact was created well beyond the boundaries of the Learning Layers project. On several occasions, like the yearly open source conference FOSDEM, we presented our approach and tools to a wider audience. Beyond, we published our methodological findings at research conferences. Within the technology-enhanced learning community, we offered our approach as a blueprint to ease the initial setup time of future research projects.
Enhanced digital competence
Following the Layers approach of co-design, we developed and extended tools that support the involvement of end users in the development process beyond direct face-to-face feedback. E.g., the Requirements Bazaar allows to post and discuss new ideas concerning a software, without the hassle of understanding issue managers such as JIRA and GitHub issues.
Changed Development Practices
The DevOpsUse life cycle model aims at increasing the collaboration between all stakeholders involved in the development process, i.e. developers, operators, researchers and last but not least the end users. The focus on development tools that enable automation of many tedious tasks like testing, releasing and deploying allows developers to focus on fixing bugs and adding new features to the software. DevOpsUse acknowledges the role of end users in the development process by providing mechanisms to give feedback and measure the success of services and apps.
Ease of Integration
The instantiation of concrete tools to enable stakeholders to follow the DevOpsUse life cycle, as used in the Learning Layers project, saves time for developers by automating tasks. New features and services can be added easily by following the provided tutorials in the Open Developer Library.
Links to other sections
- Infrastructure
Further Reading
DevOpsUse - Scaling Continuous Innovation, Learning Layers Report [1]
Blueprint for Software Engineering in Technology Enhanced Learning Projects, EC-TEL 2014 [2]
Distributed Software Engineering in Collaborative Research Projects, IEEE ICGSE [3]
DevOpsUse for Rapid Training of Agile Practices Within Undergraduate and Startup Communities [4]
References
- R. Klamma, I. Koren, P. Nicolaescu, D. Renzel, M. Kravčík, M. Shahriari, M. Derntl, G. Peffer, and R. Elferink, “DevOpsUse - Scaling Continuous Innovation,” Learning Layers Project, Deliverable D6.3/Report 4, 2015.
- M. Derntl, I. Koren, P. Nicolaescu, D. Renzel, and R. Klamma, “Blueprint for Software Engineering in Technology Enhanced Learning Projects,” in Open Learning and Teaching in Educational Communities - 9th European Conference on Technology Enhanced Learning, EC-TEL 2014, Graz, Austria, September 16-19, 2014, Proceedings, vol. 8719, C. Rensing, S. de Freitas, T. Ley, and P. J. Muñoz Merino, Eds. Switzerland: Springer, 2014, pp. 404–409. DOI: 10.1007/978-3-319-11200-8_33
- M. Derntl, D. Renzel, P. Nicolaescu, I. Koren, and R. Klamma, “Distributed Software Engineering in Collaborative Research Projects,” in 2015 IEEE 10th International Conference on Global Software Engineering, ICGSE 2015, Ciudad Real, Spain, July 13-16, 2015, Los Alamitos, CA, USA, 2015, pp. 105–109. DOI: 10.1109/ICGSE.2015.12
- P. de Lange, P. Nicolaescu, R. Klamma, and I. Koren, “DevOpsUse for Rapid Training of Agile Practices Within Undergraduate and Startup Communities,” in Adaptive and Adaptable Learning - 11th European Conference on Technology Enhanced Learning, EC-TEL 2016, Lyon, France, September 13-16, Berlin-Heidelberg, 2016, vol. 9891, pp. 570–574. DOI: 10.1007/978-3-319-45153-4_65