Unwrapping and Experiences with Installing Devolo Home Automation Thermostats

As my first (rather small) home automation project I decided to install remote controlled radiator thermostats. (This is also known as a central thermostat and comes with most modern apartments, but then my new Berlin apartment is rather old and charming. It has no central thermostat, making me run around the apartment every morning to manually adjust the seven radiators.)

I chose Devolo’s “Home Control” thermostats and control center. This is an affordable entry-level product into the space of home automation, though the total of seven thermostats and one (proprietary) control center set me back about EUR 600.

Continue reading

Making Introductions for Job Interviews

(Cross-posting from http://osr.cs.fau.de.)

As a human being, as a professional, and more recently as a professor, I’m happy to help people find jobs (time permitting). In fact, as a professor we have tagged HR professionals in our CRM database so that we can reach out easily to them. Still, introductions for job interviews require preparation on the side of the job seeker. There are a couple of things to consider.

The most common mistake that job seekers make is to ask me: Help me find a job in software engineering or product management or something else. Even if accompanied by a resume, what am I supposed to make of this? Pass on the resume to every company in the world?

The job of job seeking starts with the job seeker. They must find out where they want to go.

If they can’t, they should at least determine some companies of interest to them and provide them to me so that I can decide whether I can actually be of help.

Continue reading

Chaos Testing (Student Project, FU Berlin, Summer 2016)

Project name Chaos Testing
Project logo  
Project vision A system to test, if new data and code versions for the DB ticket booking system are valid. The system is deployed in a Docker container to be used in a continuous delivery process. The data and code versions are integrated into a VM, given to us by DB Systel, which can get booking requests and replies with the same information the DB booking site would. By validating, if these replies are what we expected, we can detect if the new code has errors a lot faster than before, thus improving overall developing speed of DB Systel.
Industry partner DB Systel
Project summary See project vision
Illustration See final project presentation
Source code https://github.com/AMOS-FUB-2016/amos-ss16-proj1
Materials Final project presentation

Inner Source Definition, Benefits, and Challenges

Abstract: Inner Source (IS) is the use of open source software development practices and the establishment of an open source-like culture within organizations. The organization may still develop proprietary software but internally opens up its development. A steady stream of scientific literature and practitioner reports indicates the interest in this research area. However, the research area lacks a systematic assessment of known research work: No model exists that defines IS thoroughly. Various case studies provide insights into IS programs in the context of specific organizations but only few publications apply a broader perspective. To resolve this, we performed an extensive literature survey and analyzed 43 IS related publications plus additional background literature. Using qualitative data analysis methods, we developed a model of the elements that constitute IS. We present a classification framework for IS programs and projects and apply it to lay out a map of known IS endeavors. Further, we present qualitative models summarizing the benefits and challenges of IS adoption. The survey provides the first broad review of IS literature and systematic arrangement of IS research results.

Keywords: Inner source, inner source definition, inner source benefits, inner source challenges

Reference: Capraro, M., & Riehle, D. (2016). Inner Source Definition, Benefits, and Challenges. ACM Computing Surveys, vol. 9, no. 4, article no. 67.

The paper is available as a PDF file.

Platforms but no Platform Organizations

One result of our recent case study research on inner source is that companies may not always need platform organizations to get to a platform of shared reusable assets. They will certainly need platforms, but they won’t need a dedicated organizational unit to develop and maintain this platform.

You don’t have to read the research paper to come this conclusion; common sense is just fine: Through the Apache Software Foundation (ASF), for example, companies like IBM, Oracle, and SAP are able to collaboratively develop the infrastructure of the Internet. The ASF has almost no employees; all work is done by the participating companies (and a few individuals). If companies like these, who fight each other to the death in front of a customer, can join hands to develop competitively non-differentiating software, why can’t organizational units inside software companies do this?

This is the idea of inner source: You don’t always have to have a dedicated organizational unit to work on a particular component. If the component is of broad enough interest within the company, users of this component might as well chip in and collaboratively develop the component. In the extreme case, and perhaps this is also the best case, no dedicated organizational unit is needed any longer for the development of shared reusable components.

The idea of doing away with a platform organization flies in the face of conventional wisdom. Given that textbooks tell you that product line engineering requires a dedicated platform organization, and leading companies are typically set-up this way, doing away with the platform organization may indeed prove to be too disruptive in the short-term. For this reason, we have developed several solutions that let companies keep their platform organizations.

Read more in the paper or contact us through my group’s homepage for research or my company’s homepage for commercial consulting.

Challenges to making software engineering research relevant to industry

I just attended FSE 2016, a leading academic conference on software engineering research. As is en vogue, it had a session on why so much software engineering research seems so removed from reality. One observation was that academics toil in areas of little interest to practice, publishing one incremental paper of little relevance after another. Another observation was that as empirical methods have taken hold, much research has become as rigorous as it has become irrelevant.

My answer to why so much software engineering research is irrelevant to practice is as straightforward as it is hard to change. The problem rests in the interlocking of three main forces that conspire to keep academics away from doing interesting and ultimately impactful research. These forces are:

  • Academic incentive system
  • Access to relevant data
  • Research methods competence

Continue reading