The Top 5 Technological Challenges For Belgian Software Product Builders

At Sirris, we provide a benchmarking service towards software product builders. One of the outcomes of that service is that your challenges as a software product builder are charted against the collective. In that way, you'll learn for example that you are not the only one struggling with test automation of quickly responding to changing market needs. In this article I'll introduce 5 high level challenges we have observed in our 8 years of working systematically with software builders.

The Flexibility Challenge

Speed of Light

How fast can you respond to a market opportunity? This collective challenge is all about speed. Many companies tell us that they want/need to go faster than what they are currently doing. "How fast can you respond to a request for proposal?", "How fast can you deliver a new feature, a next release?" and at least equally important "How can I define that next release such that success is maximized?" are some of the often heard symptoms of the flexibility challenge. The large state of the art in Agile software development provides many pointers on how to tackle this challenge.

The Variability Challenge

How can you efficiently and effectively serve multiple customers without drowning in complexity? In Belgium, most software companies are in B2B. Their customers (other businesses) are often pretty demanding and don't settle for a one-size-fits-all solution. In order to address this demand, you'll typically introduce configurations and/or customizations in your software products, so that your customer's use cases are perfectly met. You'll introduce a significant amount of complexity in your code base along the way. The key question for the Variability challenge: how do you marry customer intimacy with complexity? Sirris currently has an R&D project on this topic: VariBru. Stay tuned for their upcoming gathering on April 24!

The Risk Management of Failures Challenge

Many embedded software builders see the big potential of adding software to their products: e.g. in automotive, many of today's innovations do not come from breakthroughs in aerodynamics or mechanics, but from ICT and software. Unfortunately, software does not have the reputation to be error-free. Bugs can happen at all times, potentially leading to life threatening failures. Hence a paradox: how can you as a software builder innovate by adding software into your product mix, without endangering the stability and safety of your offering?

The Software Innovation challenge

The Art of Software InnovationThe price of an average software license has halved in the last 10 years (http://www.amazon.com/Business-Software-Manager-Programmer-Entrepreneur/...). The sheer fact that you could deliver software in itself was 10 years ago almost a recipe for success (ok, I admit, I'm exaggerating here). Today this is not the case anymore. Software companies come and go, chances are that your biggest competitor wasn't even launched 3 years ago. As a software developer, you're constantly being pushed outside of your comfort zone: technology advances at an ever increasing pace, leaving you wondering how to use that to your advantage. There is also a market push: software and ICT are now everywhere, the number of possibilities seem unlimited. Big question though is how you can deploy the necessary processes, tools and culture to take full advantage of that. (Disclaimer: together with my colleagues I contributed to one of the first books on the topic of innovation management for software companies, the art of software innovation, 8 practice areas to inspire your business)

 

The Limited Attention Bandwidth of Users Challenge 

Today, users are confronted with an increasing number of ICT devices and software apps. The amount of information users need to deal with is huge. At the same time, we humans don't necessarily obey Moore's law: our capability of dealing with inputs didn't change, there are still 24h in a day, humans cannot multitask as computers can. For you as a developer of software products, this means that in day to day operations, your ICT product competes with a whole slew of other ICT products for the attention of the user. Example: take apps on the iPhone: the iPhone only allows 1 application to run on the foreground, all other apps are pushed out of sight (and out of mind...). This means that your productivity application is competing with Angry Birds and the likes for attention of the user. I bet you didn't see Angry Birds as a competitor... ;)

Final Thoughts

Do you feel recognize some of these challenges? Would you be interested in participating in the surveys that lead to these conclusions? Feel free to contact us or leave your thoughts in the comments!