A few days ago you posted a video from the Software Center about doing continuous testing in regulated, safety critical environments. And it immediately attracted a bunch of objections from people in the comments. Do you remember?
Yes, I remember. I think I responded by asking something like “do you have any evidence that testing everything infrequently, and manually, and only at the end of a project is any better than doing fast, automatic, continuous testing?”
Yes, that’s the one. There seems to be a deeply held assumption that going slow is safe and that by increasing speed we increase risk. But it’s not true when we check it against the research. How do we overcome it?
This is why I do so many talks. One way to address this problem is for someone like me to create awareness within companies. Almost every company in the Software Center has invited me to present this topic to their R&D people where I talk about exactly these things. So, that’s one thing we can do. We also need more enlightened leadership within companies where the people in decision-making positions are at least aware of what the science says.
Can we actually demonstrate to sceptics that this approach really works?
We have to make it real at the fringes of the business where it’s not too risky to practice things like continuous testing. By demonstrating that these practices are sound we can gradually work our way towards the center of the business and bring the sceptics with us. Unfortunately, I see too many people going straight for the absolute core of the business where people are least willing to change and where there is most resistance.
It seems like there’s a lot of opportunity on the horizon with emerging technologies like A.I. systems, IoT, and 5G coming together. Will new companies capture these future markets, or will existing companies in places like Software Center adapt and take advantage?
Thank you for such a trivial question! Ok, if we begin by looking at the main difference between the US and Europe we can see that in the US it’s more common for a new company to grow up around a new industry and the old companies go the way of the dinosaurs. In Europe, we focus a lot of energy on helping large and established companies reinvent themselves to make use of the sorts of technologies you’ve just mentioned. So, for use cases that are close to what companies are already doing, the incumbents are well placed to capitalize unless they make some fairly big strategic mistakes.
Where are the opportunities for the companies that don’t exist yet? The unicorns of tomorrow?
One of the areas where I see a big opportunity for new businesses is in data driven companies. For example, let’s say you have a personal finance app that’s used by millions of customers to keep track of their spending habits. It’s possible to create a two-sided market where you have a primary customer base generating all the data, and then a secondary customer base who wants to buy that data.
A two-sided market? How does that work in practice?
So, your primary customers gain personal insights into their spending, and your secondary customers gain insights into the spending habits of a representative slice of the whole population. From there you can use the money made on the secondary side to subsidize the primary side. That makes your product cheaper, more people download and use it, and you gather more data which you can sell. You’ve created a sort of virtuous cycle that’s incredibly hard to compete against on the primary side. This kind of thinking is where a lot of traditional European companies struggle because they find it difficult to think beyond one market with one type of customer buying one type of product.
Interesting. Ok, I have another highly non-trivial question for you. We’re 20 years on from the Agile manifesto and DevOps is over a decade old. Is there another big shift coming in the way we think about making software? What’s the next big thing?
How much do you know about AI? Reinforcement learning?
Erm. A bit?
Ok, imagine a product that has a clear understanding of what its best possible performance looks like, is able to continuously experiment with the way it solves problems and represents its functionality, and then learns from those experiments.
Interesting!
This means two things. First, your product will learn about your preferences as a user and become better for you to use on a continuous basis. The second thing is, imagine you have thousands or even millions of products out in the wild and they’re all experimenting and then exchanging their learnings with each other. You will have a situation where every product is not only optimizing its behavior for its own user, it’s also learning from all the other devices on better ways of solving problems. I think this fast moving improvement cycle will be the next big innovation in software.
And we fit our DevOps around this cycle?
Yes, outside of that, we will have the DevOps improvement cycle where we develop software, push new versions, push new machine learning models, and new types of data generation. And then outside that we’re already beginning to see “agile principles” coming to electronics and mechanics. If we take cars as an example, we will not only update the software, we will also, at a slower frequency, start to update the electronics. And then you can even start to think about updating the mechanics in the car as well. So, I think we’re going to see a reinforcement learning loop inside the DevOps loop, and outside of that we’re going to see an electronics upgrade loop and maybe even a mechanics upgrade loop for embedded systems. I believe that this is where we are heading.
That is absolutely fascinating, Jan. It’s really great to have you on board with us at Kosli. I want to end by asking - with all of the many interesting things you could be doing, what is it about Kosli that made you want to invest in us?
Adopting DevOps is one of the critical steps forward that we have to take in embedded and regulated systems. And one of the major barriers to adoption is the question of how to deal with regulation, certification and compliance. In every one of the companies that I work with in Software Center, and in many of the other companies I work with outside, the transition from prototyping and experimentation to real industrial deployment hangs on the question of certification and regulatory compliance. Kosli already solves this for fintech and it can go on to solve it for the other industries we’ve talked about. That’s my answer!
If you enjoyed part 3 of our interview with Jan you might like to revisit parts 1 and part 2. You can also find Jan’s latest news on his website.