Keynote:  Shall I buy, outsource, or develop myself ? Decision-making support for Component-based systems, by Ivica Crnkovic


Ivica Crnkovic is a professor of software engineering at  Chalmers University, Gothenburg, and a Director of ICT Area of Advance.  His research interests include component-based software engineering, software architecture, software and system modeling, and software engineering in general. Professor Crnkovic is the author of more than 200 refereed articles and papers on software engineering topicsand a co-author and co-editor of several books. He has organized several conferences software engineering conferences (CBSE 2006, Euromicro SEAA 2006, , ESEC/FSE 007,  WICSA and CompARCH 2011, ASE 2014, ECSA 2015, SERENE 2016, as is the general chair for ICSE 2018). His teaching activities cover several courses in the area of Software Engineering undergraduate and graduate courses. From 1985 to 1998, Ivica Crnkovic worked at ABB, Sweden, where he was responsible for software development environments and tools. He was a project leader and manager of a group developing software configuration management systems and other software development environment tools and methods for distributed development and maintenance of real-time systems. From 1980 to 1984, he worked for the Koncar company in Zagreb, Croatia.  More information is available on


Software-intensive systems will in the future be significantly more flexible, adaptable, and will require continuous evolution to instantaneously provide improved and new features to their users. An efficient and informed selection of existing components and services, and fast architectural adaptations will be crucial for companies’ success. This in turn requires a systematic approach in the decision-making process with respect to strategic component or service selection from a mixture of different options: in-house development, subcontracting, open source, COTS or services.  Is a systematic approach and a support for this type of architectural decision possible and feasible, and if yes, what are the main directions and challenges to build up such support? This talk will discuss this question and will present some ideas to provide such support: which types of decisions we can make in which context, how general can be such support, what are the specifics of decisions for component-based systems?