2016 in software engineering, a year in review

Christmas and New Year are only a few days away. For me it’s a good moment to take a step back and reflect on what I have been doing over the last few years and what I expect to happen next. 

A bit of history

I joined the Sirris Software Engineering and ICT group early 2008. Before that, for over ten years I worked on software products as a developer, a SCRUM master, a tester, a test automation engineer, a DBA and sometimes as a devil-does-all. I was attracted to working for Sirris because the goal of the Software Engineering and ICT group was to help software companies overcome their innovation challenges. And since I had worked for software companies for over ten years, I had a pretty good idea of what they struggle with. 

When I started at Sirris, the challenges software entrepreneurs were confronted with, were mainly related to engineering: many wondered how they could speed up their development in order to respond faster to changes and opportunities in the market. Many companies were looking at agile software development for help. Many complained about complexity too: many software companies in Belgium build high-end B2B software, where each customer is serviced by a mix of a more or less standardised product offering, augmented with bespoke customisations. Often this strategy leaves the software company with a complex code structure (who loves branches?), stressful releases and the maintenance burden of supporting dozens of versions of the software in the field. Software companies who offered solutions that involved both software and hardware had issues with hardware/software co-design, often due to the different development life cycles of software and hardware. 

Late 2000s and early 2010, cloud computing became accessible for all (Amazon Web Services or AWS became a viable platform for building applications). Gone were the days of investing heavily in hardware and infrastructure before you could launch your software. AWS simply offered infrastructure in a pay-as-you-go way, bringing down the threshold for successfully rolling out software on a large scale significantly. 

Around the same time, mobile took off quickly to become mainstream. Many software entrepreneurs I talked to at the time were wondering: how can we create more value for our customers, now that we have mobile devices, cheap (open source) hardware and sensors to our advantage, a challenge that is as pertinent then as it is today's IoT world. 

Because of these trends, I saw two big changes in my work with software entrepreneurs:

  1. Software as a Service, or SaaS in short, became a paradigm looked at by many software builders. Our team quickly realised that transitioning from a traditional, on premise offering to a SaaS is a business model transformation, impacting every aspect of your business, not just your software architecture.
  2. Methodologies like lean startup and customer development surfaced and gave startups tangible to-do-lists on how to go from idea to IPO. Experience and knowledge that was previously only available by an inner circle in Silicon Valley became available for every entrepreneur to apply. Lean startup and Cloud/SaaS dramatically changed the way software companies go to market: gone are the days that you build a full-blown product that you release once every 6-12 months: incremental development, from MVP to MVP, with a direct feedback loops from customers on what works and what doesn’t, that’s how it’s done today. 

Today and tomorrow

Which brings me to where we are today, at least how I personally see where we are in terms of challenges for software entrepreneurs: it has never been easier to build a software product; there is so much open source and cloud today, 90 percent of your application can probably be built by combining and integrating open source libraries and frameworks with a few APIs. Consequently, the stakes are high: in the past, a significant amount of effort had to be spent on building the software and little cycles could be spent on UI and user experience. Today, crafting superior user experiences is the norm: not only does modern software look good (just check on your smart phone, how much “ugly” apps do you have?), the whole customer journey today is engineered so that a user goes from one 'wow' moment to the next. Today, go-to-market, market research, product development and servicing customers all go hand in hand in one giant experiment. That’s why I’ll be working a lot on analytics and data driven product management for software companies. It’s amazing today how much you can learn from your customers if you start implementing some basic analytics in your SaaS and learn from that data. Which brings me to security and privacy. Here too, the stakes are higher than they used to. Customers are becoming much more aware of privacy and security, and legislation, most notably GDPR, is expected to impact virtually every software building that has some of her software components in the cloud. That’s why at Sirris we strongly believe in security by design.  

I don’t want to give the impression that the challenges from the past (such as fast and flexible development, dealing with the complexity of servicing multiple B2B customers with a customisable offering and go-to-market) are all solved. In fact, these challenges are as pertinent as they were when I started at Sirris. I do feel the “solution space” is vastly broader than eight years ago: today, we have an abundance on technologies and methodologies to deal with these challenges. It’s hard for a software entrepreneur to assess whether “micro services”, “Docker”, “Spark Streaming” or any other buzzword new technology will make sense in solving their challenges. 

That’s why I expect that in 2017, our team and I will continue to have discussions on how today’s technologies and methodologies can be used for fun and profit and how that contrasts with the technology stack they are currently using. In my experience, many of these CTO level conversations lead to the identification of funding opportunities on regional or European level, because frankly, some of these challenges are hard to tackle, require a mid or long term investment, for which R&D subsidies are available. And while my focus is a technological one, being an (ex) software engineer myself, one cannot work with technology entrepreneurs if one cannot appreciate the difficulties related to go-to-market, testing ideas and building MVP’s; the software equivalent of business development

I’d like to end my personal review with wishing you a productive 2017, may your software business scale, grow and flourish. Don’t hesitate to have a chat with me if you recognise some of these challenges, I'd be more than happy to have a coffee together.