Inner source software engineering
Inner source software development is software development utilizing open source best practices and processes for firm-internal software development. Engineering artifacts are laid open to the whole organization, inviting use and potential contribution across organizational boundaries. Inner source breaks down development silos and complements traditional top-down development structuring with bottom-up self-organization. Firms benefit from better code reuse and improved knowledge sharing, among other things.
Continuous deployment is the process of “continuously” putting engineering innovation into production. In software, done right, continuous deployment leads to innovation release cycles that are counted in minutes rather than months or years. We are researching the full tool chain, practices, and processes, ranging from code repository to live monitoring of the continuously deployed system. A current focus is on the “immune system”, the system monitoring component that recognizes a bad deployment and rolls it back.
Requirements engineering (QDAcity-RE)
Requirements engineering today is lacking “pre-RS” traceability—the ability to trace back requirements to stakeholders who asked for them and how conflicting requirements were resolved and decisions were made as to how to prioritize requirements. The QDAcity-RE project is utilizing qualitative data analysis (QDA) methods for determining requirements from “soft” input like interviews, workshops, and prior documentation. QDAcity-RE speeds up the elucidation process of high-quality, pre-RS-traceable requirements.
Corporate open source governance
Open source governance (and compliance) are the firm-internal processes that ensure that a firm can benefit from using high-quality open source components in their products. Risks posed by the ungoverned use of open source in products are loss of exclusive ownership of the source code and patents associated with the software as well as potentially high fines or lawsuit settlement costs when dragged into court. We are guiding firms to proper open source governance using a best-practice handbook (for good governance).
Open source business models
According to the forthcoming Bitkom manifest on open source, a successful software industry not only uses open source, but strategically leads open source projects. While contributing patches to non-differentiation open source components may be a no-brainer, deciding on when to join an open source foundation or start an open source project requires more thought. We are developing tools, practices, and processes for situation assessment and decision making on strategic leadership in open source software development.
Distributed knowledge collaboration (Sweble)
Git and related projects have given the world a new decentralized way of collaborating around source code. The Sweble project applies a similar collaboration model to knowledge content, e.g. wikis. Use cases are cross-department collaboration, vendor-customer collaboration, and cross-company collaboration. By replacing the centralized model of knowledge collaboration with a decentralized one, Sweble gives different groups and companies independence of work while allowing for fast and efficient integration when desired.