Jan Bosch is professor of software engineering and director of the software research center at Chalmers University Technology in Gothenburg, Sweden. Earlier, he worked as Vice President Engineering Process at Intuit Inc where he also lead Intuit's Open Innovation efforts and headed the central mobile technologies team. Before Intuit, he was head of the Software and Application Technologies Laboratory at Nokia Research Center, Finland. Before joining Nokia, he headed the software engineering research group at the University of Groningen, The Netherlands, where he holds a professorship in software engineering. He received a MSc degree from the University of Twente, The Netherlands, and a PhD degree from Lund University, Sweden. His research activities include open innovation, innovation experiment systems, compositional software engineering, software ecosystems, software architecture, software product families and software variability management. He is the author of a book "Design and Use of Software Architectures: Adopting and Evolving a Product Line Approach" published by Pearson Education (Addison-Wesley & ACM Press), (co-)editor of several books and volumes in, among others, the Springer LNCS series and (co-)author of a significant number of research articles. He is editor for Science of Computer Programming, has been guest editor for journal issues, chaired several conferences as general and program chair, served on many program committees and organized numerous workshops.
In the startup space, Jan is chairman of the board of Fidesmo in Stockholm, and Remente, in Gothenburg, Sweden. He serves on the advisory board of Assia Inc. in Redwood City, CA, as well as the advisory board of Burt, in Gothenburg, Sweden. Also, he acts as an external business advisor for the School of Entrepreneurship at Chalmers University of Technology, Gothenburg, Sweden.
As a consultant, as a professor and as an employee, Jan has worked with and for many companies on innovation and R&D management including Philips, Thales Naval Netherlands, Robert Bosch GmbH, Siemens, Nokia, Ericsson, Grundfos, Tellabs, Avaya, Tieto Enator and Det Norska Veritas. More information about his background can be found at his website: www.janbosch.com.
When not working, Jan divides his time between his family, a spouse and three sons, reading science fiction and sports, preferably long distance running, swimming, biking and horseback riding.
Keynote Tag 2: Do as I say, not as I do
Keynote Tag 2: Managing Variability for a Family of Products
Do as I say, not as I do
Asking users what they would like to have built is probably the worst question in the history of software engineering. Users don’t know what they want and it’s the engineer’s job to find this out. Answering this question requires a systematic approach to exploring a broad set of hypotheses about functionality that might add value for customers at different stages of development. The talk introduces the notion of Innovation Experiment Systems as a systematic method for optimizing the user experience of existing features, developing new features as well as developing new products. The method uses different techniques dependent on the stage of development, including pre-development, development and commercial deployment. In each stage, frequent customer involvement, both active and passive, is used to constantly establish and improve the user experience. The method is based on data from eight industrial cases and stresses the importance of speed and rapid iterations in development. The talk uses numerous examples from industry are used to illustrate the concepts.
Managing Variability for a Family of Products
Software product lines represent the most successful approach to intra-organizational sharing of software between products. However, adopting a software product line has a wide range of implications, including business strategy, architecture and technology, process, ways of working and tools. One of the key challenges is effectively managing the variability between the products in the family. Managing variability is concerned with identifying the required differences between products, modelling these points of variation, realising these in the code as well as providing effective mechanisms for deriving products. In addition, variability requirements evolve over time and the models, variability realisation and derivation mechanisms need to updated accordingly. The keynote first introduces the concept of software product lines as well as of software variability management. Subsequently, it provides concrete approaches to managing variability over time. Finally, it provides several examples of companies that have successfully adopted software product lines and that have found effective variability management techniques.