Photo by Jon Tyson on Unsplash

After decades in the industry, I have yet to meet the first company that doesn’t claim they’re customer centric. There remains a widely held belief that if we focus all our energy on the customer and build what the customer tells us to build, we’re going to continue to be successful. Still, the quote from Henry T. Ford about asking customers what they want (a faster horse) is relevant in today’s world as well. We shouldn’t ask our customers but rather invent the future ourselves and then request feedback.

The focus of this post, however, is on the business ecosystem…


Image by Gerd Altmann from Pixabay

Embedded systems, by their definition, contain mechanical and electronic components and, through that, interact with the real world. Many of these systems may cause harm to humans if they act in erroneous ways. This is, of course, the case for aeronautical and automotive applications as well as for medical equipment. But also most systems that are intended for operation without human supervision, such as heating systems, pumps and the like, need to provide evidence that they’re safe in terms of not causing fire hazards or other types of risks.

To address this, a sizable community of safety experts has emerged…


Photo by Jason Dent on Unsplash

In the online world of software as a service (SaaS), A/B testing in some form is used continuously for virtually any type of development. For an A/B test, two alternative realizations of a feature or some functionality are developed and presented to a test group (alternative B) and a control group (alternative A). Some outcome metric is tracked and measured for both groups, eg conversion, to determine which of the alternatives performs better. …


Image by Comfreak from Pixabay

A few decades ago, the first reports were published on software errors resulting in financial losses exceeding 1 billion euros. Since then, many more accounts of software errors costing hundreds of millions or more have been in the news. The response in the larger community was twofold. First, test the heck out of every piece of software going out and take the time it needs to achieve that. Second, once a product containing software has left the factory, do everything you can to avoid having to change the software.

The reason to avoid changing software in a shipping product was…


Photo by Luke Chesser on Unsplash

Digitalization is concerned with the three key enabling digital technologies software, data and artificial intelligence. These build on each other as it typically is software that generates the data from systems in the field and it’s this data (preferably labeled) that forms the basis for machine learning and deep learning. The software-intensive systems industry, as the name suggests, has fully embraced the role and importance of software and many companies are actively experimenting with and prototyping ML/DL models. Data, however, remains a highly controversial subject in most of the companies I work with.

The reason data is so controversial is…


Image by Pete Linforth from Pixabay

A long time ago, I had a discussion with a software architect working for a consumer electronics company. We talked about development efficiency and he explained to me the economics of high-volume manufacturing. When you manufacture a million televisions and you can squeeze one euro out of the bill-of-materials cost, you’ve made the company a million.

This concept has of course spread far and wide in the industry and virtually any company has cost-down initiatives where, also after the initial release of the product, redesign efforts take place to squeeze the bill-of-materials cost. …


Photo by Alex Wong on Unsplash

In the software community, there’s a general belief that software ages, just like humans — David Parnas is famous for this quote (among many other things). Our findings don’t confirm this. We’ve studied architecture technical debt as well as other types of technical debt for a decade and we’ve generated all kinds of results. One of our most surprising findings, resulting from a survey with hundreds of respondents, was that there seems to be no correlation between system age and technical debt.

Our hypothesis to explain this is that there always is technical debt but that the type of debt…


Photo by Nicolas Thomas on Unsplash

There are few topics in software development that can get people going as much as testing and quality assurance. The notion of shipping low-quality code to customers feels like a humiliation to most engineers. It causes a perception of abusing the customer for testing purposes, which doesn’t sit right and to many feels like a way to get disrupted really fast.

Although everyone agrees that software needs to be tested and be of sufficient quality before shipping to customers, the discussion is often concerned with how to achieve that desired state. …


Image by PIRO4D from Pixabay

In the early 2000s, I was one of those people preaching the importance of careful design and analysis of a system’s architecture before starting development. The belief was that especially non-functional requirements, such as performance and robustness, are hard to ‘bolt on’ to the system once development is underway. So, the software architecture community, including me, developed all kinds of tools and techniques to structure and provide systematic means to take architecture design decisions, assess the architecture’s ability to meet the non-functional requirements, such as performance and maintainability, and ensure the alignment between requirements and the architecture.

Although these techniques…


Image by Steve Buissinne from Pixabay

Building software-intensive systems from scratch is far from trivial. One of the main reasons is that it’s hard to capture concisely and precisely what the system should look like in terms of functionality. Even if all stakeholders individually have a clear understanding of what they want, it doesn’t mean that the expectations are aligned. In many cases, there are conflicting needs and wishes that need to be managed.

Traditionally, this is addressed by embarking on a requirements elicitation process where the needs and wishes from all stakeholders are captured, conflicts are identified and resolved, resulting in a clear and crisp…

JanBosch

Academic, angel investor, board member and advisor working on the boundary of business and (software) technology

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store