SERT – Software Engineering ReThought is a groundbreaking research project with the aim to take on the next generation challenges facing companies developing software intensive systems and products. We as an engineering lab are blazing the road introducing 3:rd generation empirical software engineering – denoting close co-production of pragmatic problem solving in close collaboration with our industrial partners as we perform engineering research into topics critical for engineering and business success. SERTs formulation of 3:rd generation empirical software engineering will utilize related knowledge areas as catalysts to solve challenges. Value-based engineering, Data-driven evidence based engineering, and Human-based development will complement software engineering competence in an integrated eco-system of competence focused on the challenges at hand.
All areas in software engineering, ranging from inception, realization to evolution are part of the research venture – reflecting that companies need solutions covering their entire ecosystem.
SERT – Software Engineering ReThought is a groundbreaking research project with the aim to take on the next generation challenges facing companies developing software intensive systems and products. We as an engineering lab are blazing the road introducing 3:rd generation empirical software engineering – denoting close co-production of pragmatic problem solving in close collaboration with our industrial partners as we perform engineering research into topics critical for engineering and business success.
SERTs formulation of 3:rd generation empirical software engineering will utilize related knowledge areas as catalysts to solve challenges. Value-based engineering, Data-driven evidence based engineering, and Human-based development will complement software engineering competence in an integrated eco-system of competence focused on the challenges at hand.
Software is at the core of almost every product and service today. Doing your taxes and bank business, driving a car, or even booking a dentist appointment – all powered by software. Software has created unprecedented benefits for companies to be more effective, efficient and to create smarter products to compete in the marketplace. Software even enables the creation of completely new types of business as we see almost daily. However, as more companies are created, and old companies in essence become software development companies, the amount of software, and the amount of software development organizations, is exploding. The software is also increasing in size, complexity, and software component interactions at an uncontrollable pace. This puts new demands on how software is conceived, developed, evolved and maintained – in essence software engineering. Striking a balance between creating business and customer value, as fast and sustainably as possible, whilst keeping costs as low to maximize market competitiveness.
The research profile Software Engineering ReThought combines an existing and solid knowledge base in empirical software engineering with multi-vocal co-production to formulate a new research philosophy to start rethinking how we do research to solve and then solve software engineering problems. Multi-vocal means that we as software engineering researchers use knowledge and expertise from other research disciplines to address specific challenges within software engineering. In a world that is increasingly run by software the number of factors that affect that software, its use, and its production increase. We need multiple perspectives to create well-adapted solutions. Multi-vocal co-production is achieved by involving expertise from the areas of human-, data-, and value-focused engineering as catalysts to accelerate research together with industrial partners to solve real challenges identified in industry.
The profile team has, through close collaboration with its eleven industrial partners, identified six main challenges related to industry’s future and critical needs. To address these challenges a total of seven sub-projects are formulated, each with clear research questions and goals. Every sub-project is connected to several of the identified challenges that, in turn, are connected to several of our partners. These connections allow us to work in close collaboration with our partners to achieve real symbiosis between the sub-projects, researchers and companies. The profile has a strong emphasis on working with companies to solve their problems in a real setting to achieve actual impact in practice (co-production).
The Software Engineering Research Lab at Blekinge Institute of Technology (BTH)has been part in leading the evolution from “technical” software engineering in a “lab environment” to empirically founded software engineering, as a science, with solutions tested in real industrial contexts. This started with the early work of the BESQ profile in 2002, and continued to this date through collaborations with 30+ companies. Software engineering as a field evolved towards evidence-based research, which can be seen in that top scientific venues now focus on empirical work (e.g. International Conference on Software Engineering (ICSE) empirical track, Empirical Software Engineering and Measurement (ESEM) conference upgraded to grade A in CORE, Empirical Software Engineering journal has gotten the highest impact factor, etc.
However, during the last decade of empirical work, through close collaboration with industry, we have seen escalating evidence that this is still not enough. There is a need to rethink how we do software engineering. We can do more, reach higher, and solve larger and more fundamental challenges – both new and old ones – through integration of multiple competences – to create more comprehensive, usable and useful solutions. In particular we have seen that empirical software engineering needs to integrate; (i) more intelligent automation and data-focused approaches utilizing competence from machine learning and AI research, (ii) value focused, effective and efficient solutions utilizing competences from business economics, and (iii) human focused solutions taking the human stakeholders of software use and engineering into account, drawing from social and behavioural sciences. Hence, one new perspective or driver is not enough; it is time for integration of multiple competences and perspectives in each improvement.
This will result in the creation of better software engineering solutions for pressing challenges in industry. It will also result in an improved understanding of how to create more comprehensive solutions which take multiple aspects and knowledge areas into account to achieve multi-vocal co-production (see Section 1.3.1 for definition).
The Software Engineering Lab at BTH will thus not only build up competence in the three central areas identified above but also build process and methodological knowledge as to how to achieve multi-vocal co-production of practical, software engineering solutions. That is, how to utilize competence and knowledge from several scientific areas, integrate them into software engineering, to solve real challenges in industry and achieve maximal impact.
Multi-vocal co-production will enable the creation of new software engineering principles and practices that take more aspects into account and can thus better adapt to real-world situations and challenges. This translates both to research and better solutions, but also to the training and education of the next generation of software engineers. Engineers who stand on a solid base in software engineering, but with an ability to identify broad, real-world challenges and see it as normal to solve these challenges by capitalizing on knowledge areas traditionally outside of software engineering.
Multi-vocal co-production for this profile project means using the core empirical software engineering base at the Software Engineering Lab at BTH, integrating knowledge and competences from three main related areas, to start researching solutions to the challenges identified in collaboration with our eleven industry partners. We call this ReThinking software engineering.
Javier Gonzalez Huerta