User Data a Key to Great Software Development

Thoughts about Software Engineering
Av Peggy Oskarsson
We continue our interview series, where the Swedish Academy reflects on Software Engineering, with Jan Bosch

It’s the fifth time the call gets dropped. Mobile-phone coverage is sometimes spotty along the train route between Stockholm and Gothenburg, and passenger Jan Bosch has an extremely hectic schedule; it’s late afternoon, and most people have left their jobs for the day. Despite the numerous interruptions, he rearranges other calls so he can listen patiently to all my questions, answering with clarity, insight and humour. This is a man who loves his job.

Jan Bosch is a Professor in the Software Engineering division at the Department of Computer Science and Engineering at Chalmers University of Technology in Gothenburg, Sweden. He has more than two decades of experience as an engineer, executive, professor, innovator, author and consultant in the software industry. He has led research and development efforts in companies such as Intuit in California’s Silicon Valley and Nokia’s software research centre in Finland.

He also serves as the director of Chalmers’ Software Center organization, a cooperation with companies such as Ericsson AB, Volvo Cars and Saab AB created to cultivate methods, processes and tools for enhancing software development productivity.

The Software Center currently has 12 partners – seven companies and five universities – focused on collaboration that will benefit Swedish industry and business as a whole. Bosch can provide examples of strong progress, but says that more companies need to join the effort.

By becoming much stronger in software development through innovation and cooperation, both individual companies and Swedish business at large can meet and overcome the cost and competence pressures exerted by US and Asian companies.

Without innovation, Swedish companies are between a rock and a hard place

Companies like Apple, Cisco and Tesla are skilled at keeping costs low and competence high. This is a dilemma for Swedish firms. “Despite the artificially low salaries here in Sweden, we can’t compete with the significant price reductions that competitors can achieve. I’ve heard that in some industries, competitors can push down prices up to 15% each year. If we don’t innovate, we can’t maintain a strong position in the market.

“The solution is to ensure that software is a driving force in companies across the board. A lot of Swedish companies aren’t thought of as software firms – but in reality, that’s the cornerstone of their business,” says Bosch.

Moving beyond conventional attitudes to software development

Even if Sweden has clearly excelled in high-tech, adherence to old, familiar processes is creating barriers to innovation. Bosch mentions the tried-and-true model. “Traditionally, we bundle software with hardware, test the heck out of the product, and then put it on the market. That’s just not good enough anymore,” says Bosch.

Internet has completely changed how customers interact with a company and its brand. “Now, I am continuously providing new functionality to my customers, through our connections on the Web. Rather than selling a product as a one-time transaction, I am developing a continuous relationship with my customer. This relationship affects every single part of the company – not just sales, but R&D, accounting, support…it has a huge impact on companies.”

More than half of features unnecessary

Software has entered into every phase of daily life, on every level of society. In recent decades we’ve come to be fascinated and impressed by functionality. Yet we use less than half of the features in most products.

Bosch explains that there’s a disconnect between software companies and customers – from the average consumer all the way up to national governments. “We’ve worked so hard to include every eventuality, instead of looking at what the customer is really using. In the conventional software world, when we’re going to develop a new product or upgrade an existing one, we start with a requirement specification, where we’ve included everything we believe the customer will want and will thus generate profit for us. We think: ‘No, we can’t remove this feature! Somebody might want it! We don’t know who’s using it (or not) so we can’t take it out.’”

So what’s the alternative to satisfy an increasingly feature-hungry market? Bosch advocates several different tactics to drive innovation. The approach centres on data based on actual use instead of a more anticipatory, requirements-based design that includes many features to appeal to a possible – but not entirely known – market.

Bosch encourages software development that focuses on quantitative data instead of qualitative data. He says there is a significant gap between what people say they want and what they actually use. He cites the example of Swedes’ Friday-night TV tastes. “Swedes always responded in surveys that they wanted to watch more documentaries. But what do they really watch on Friday night? They want to relax and be entertained after a busy week at work, not dig in to a serious subject, even if on a more abstract level they might have a general desire to gain knowledge or be challenged by a documentary.” The important thing, he says, is to gather concrete data about what’s happening, and base software development on this information.

Another tactic is to collect user data early in the process. “Build 10% of the feature, and test it on target customers. If the data from the test is promising, then keep developing; otherwise put it aside. If it’s an important enough feature, it will return to the radar,” Bosch adds.

Is the data is right in front of us?

Some companies have been collecting the user data in ways that could be suitable for data-driven development. Large amounts of information are often acquired for support and troubleshooting, but not to inform development. It’s a matter of using the same data collection frameworks but in different ways.

Products owned by customers also offer an excellent line of communication with customers, and customers can also benefit directly from a supplier’s user data. “We need to offer the customer something of value, not just code. We can collect the right logs, events, and types of data to determine whether the feature is of value. In the long term that can help customers reduce costs and sell more.”

Concept and reality

I asked Bosch to describe the reception of the user-data approach in Swedish companies. He says that conceptually everyone buys in, but it’s that very difficult to realize on a practical level. The Software Center is conducting ongoing experiments with its partners. Bosch explains, “For example, we are collecting data to answers questions such as: ‘What change do we expect to see in behaviour if we change the feature?’ We can then develop hypotheses about why certain features didn’t change behaviour, and model products based on a clearer picture of what we really need to develop. Data collection can be used to find new features, improve features, and commoditize or remove a feature.”

Bosch continues, “Teams are applying the concept, in different parts of the world. B2C companies that have a strong online presence are great at collecting data – think of game developers, and subscription-based services. They’re doing a lot of data analysis already, and it’s easy to collect data online.

Data-driven development started in the B2C space. B2B is more complex; the customer often has more power and control. Companies must negotiate with the customer and explain why they should have access to user data. “But it’s certainly feasible,” Bosch says. Companies can offer something in return, and it doesn’t have to be monetary. Reputation, goodwill, early access to releases – these have significant value.”

More practitioners and partners needed

The user-data approach is beginning to emerge in the educational sphere. Budding engineers and developers are finding the subject in their curricula, and it is hoped that this introduction will encourage students to try the approach and then apply it in industry.

Jan Bosch also encourages companies to join the Software Center to promote the exchange between companies and research institutions.

Does this herald the death of requirement specs?

“Ok, a lot of people love the idea, but some are hesitant to leave established frameworks behind. It’s vital for more people to see the benefits and they need to be willing to experiment with user data in their own software development. Then we can compete and maintain a leading position in software.”

And the next guest is…

Bosch has selected Helena Holmström Olsson, Associate Professor at the Department of Computer Science at Malmö University. She took her PhD at the University of Gothenburg in 2004, and since then she has been active at a number of Swedish and international universities. She conducts research with the Chalmers Software Center and Internet Things and People as an expert in software ecosystems.

Peggy Oskarsson
Peggy Oskarsson
pao@letrix.net