Proceedings of the Fifth International Symposium on Business Modeling and Software Design, 2015
Evaluating the IT business value is a challenging combination of managing the complexity of value... more Evaluating the IT business value is a challenging combination of managing the complexity of value phenomenon and the complexity of broad IT impacts. This study analyses the focal characteristics of IT business value evaluation and proposes a research agenda towards systemic evaluation approach. The systemic approach combines concepts of goal driven perspective for benefits, value as a combination of benefits and costs, and the lifecycle view of potential and realised value. These concepts are integrated through system dynamics modelling to understand the IT impact structures and dynamic value creating behaviour emerging from the structures. Finally, systemic approach should be supported by evaluation workflow practices that facilitate seamless data retrieval for the evaluation process, and the integration of evaluation outputs within the organisation.
In this paper we present experiences on configurable products gathered in co-operation with Finni... more In this paper we present experiences on configurable products gathered in co-operation with Finnish companies. The reasons that made configurable products important include the ability to efficiently fulfil a wide range of customer requirements, shorter lead times in the sales-delivery process and increased control of production. We discuss the product development and sales-delivery processes of configurable products and their practical problems. These included partially configurable products, poor quality of configuration models and lack of clearly defined product policy. Companies had migrated to configurable products from one-of-a-kind products and fixed products (i.e. products manufactured repetitively according to a fixed specification). The direction of migration affects the benefits, problems and necessary changes. The requirements of the sales-delivery process and the product must be understood to gain full benefit from a product configurator. In addition, the process must u...
The Department of Computer Science at the University of Helsinki started recruiting students to t... more The Department of Computer Science at the University of Helsinki started recruiting students to the Master's programmes from abroad so that the first set of foreign students started at the beginning of the 2010 autumn term. In autumn 2010 18, 2011 23 and 2012 23 foreign Master's students started at the department. In addition two students started in the spring terms. In this report we follow the study success of these students and seek reasons for varying study success. We compare the study success of foreign students to the study success of domestic students who completed their Bachelor's degrees at the Department of Computer Science, University of Helsinki. We describe the application procedure, the origins and numbers of applicants and selection processes and criteria. Reception of students and introducing them to the local study culture play an important role in a good start of studies. We describe our efforts to smooth out the initial stages. The Master's programme in Bioinformatics and Cross-Border University Master's programme in Information and Communication Technology have started earlier and are international. We present briefly the study success of their students. Finally we suggest actions for further consideration to make the Master's programmes more successful for students and the department. The main findings include the observation that students with previous training that differ from UH Bachelor's degree requirements are likely to fail courses more often than students with training more similar to UH requirements. Among foreign students the variation in study success seems to be larger than among domestic students. Cultural differences in scientific writing must be addressed carefully and also differences in self-directions of students are substantial.
Service-oriented computing develops applications by composing services. In software product famil... more Service-oriented computing develops applications by composing services. In software product families, applications are developed by reusing existing assets. Hence, the approaches seem to have several similarities, although there are also differences. In this position paper, we discuss modeling methods in these two approaches. We conclude with directions for future studies for combining modeling in software product families and service-oriented computing that include variability modeling in service-oriented computing, behavior modeling and analysis in software product families, correct modeling concepts, unification modeling concepts in software product families, and reuse and a combination of methods between approaches.
Extreme Programming (XP) avoids up-front design by concentrating only on current needs in environ... more Extreme Programming (XP) avoids up-front design by concentrating only on current needs in environments of uncertain requirements. Software architecture design approaches produce architectures to match functional and quality requirements before detailed design and implementation. The approaches seem to be in tension with respect to the role of up-front design. In this paper, XP and three software architecture design approaches are compared in terms of problems they address, solutions to the problems, and applicability in dierent circumstances. In addition, the capability of answering problems addressed by other approaches is analyzed. While applicability of XP or software architecture design approaches depends on several factors, both seem to be able to learn from the practices the other applies, such as concentration on architectural drivers stemming from software architecture design approaches or value of simplicity stemming from XP.
Product configuration is an information intensive task for creating valid component combinations ... more Product configuration is an information intensive task for creating valid component combinations or descriptions from specifications. Information included in this process consists of product models, component models, actual partially or fully specified configurations, plus information of the configuration process itself. A system utilizing only a snapshot of this information can be built in a straightforward manner, but keeping all the information up-to-date within a constantly evolving environment is far from trivial. So far there has not been much research done on how this evolution of knowledge could be mastered. We start by describing the requirements for a configuration management system for a world-wide industrial enterprise. We then present a data model for a configuration environment where multiple partners take part in the process. From data engineering point of view the main problem is that configuration data in the system should be accessible for long periods of time and ...
In a software product family, a set of products that share similarities but also differ from each... more In a software product family, a set of products that share similarities but also differ from each other are derived from reusable assets [2, 6]. The ability to differentiate is referred to as variability; different variants are obtained by binding variability in different ways. As a means of managing variability in software product families, several modelling methods have emerged [5, 6, 3]. When variability is expressed rigorously, for example with models with welldefined syntax and semantics, efficient tool support can be developed. Besides hiding concrete syntax behind a graphical user interface, tools can prevent errors and give guidance to the user. We describe a tool set called Kumbang Tools for managing variability in software product families. Currently, two tools constitute Kumbang Tools. Kumbang Modeller enables creating models of software product family variability from a feature and architecture point of view, whereas Kumbang Configurator enables deriving configurations o...
Virtualization technologies have become common-place both in software development as well as engi... more Virtualization technologies have become common-place both in software development as well as engineering in a more general sense. Using virtualization offers other benefits than simulation and testing as a virtual environment can often be more liberally configured than the corresponding physical environment. This, in turn, introduces new possibilities for education and training, including both for humans and artificial intelligence (AI). To this end, we are developing a simulation platform AILiveSim. The platform is built on top of the Unreal Engine (www.unrealengine.com) game development system, and it is dedicated to training and testing autonomous systems, their sensors and their algorithms in a simulated environment. In this paper, we describe the elements that we have built on top of the engine to realize a Virtual Environment (VE) useful for the design, implementation, application and analysis of autonomous systems. We present the architecture that we have put in place to tran...
Researchers from University of Helsinki are working on intelligent, open-source requirements mana... more Researchers from University of Helsinki are working on intelligent, open-source requirements management platform with decisionsupport capabilities. This poster presents the planned research approach and expected deliverables.
In most autonomous robot approaches, the individual robot’s goals and cooperation behavior are fi... more In most autonomous robot approaches, the individual robot’s goals and cooperation behavior are fixed during the design. Moreover, the robot’s design may limit its ability to perform other than initially planned tasks. This leaves little room for novel dynamic cooperation where new (joint) actions could be formed or goals adjusted after deployment. In this paper, we address how situational context augmented with peer modeling can foster cooperation opportunity identification and cooperation planning. As a practical contribution, we introduce our new software architecture that enables developing, training, testing, and deploying dynamic cooperation solutions for diverse autonomous robots. The presented architecture operates in three different worlds: in the Real World with real robots, in the 3D Virtual World by emulating the real environments and robots, and in an abstract 2D Block World that fosters developing and studying large-scale cooperation scenarios. Feedback loops among thes...
Agile Processes in Software Engineering and Extreme Programming – Workshops
In 2020, the global COVID-19 pandemic affected almost every company in some way also in the Nordi... more In 2020, the global COVID-19 pandemic affected almost every company in some way also in the Nordic countries. Depending on the different industry sectors of the companies, the impacts have varied from minor risks to severe disruptions but also even booming businesses. In all, agility and resilience have been required to continue and even to survive. In 2018, we started conducting large-scale agile surveys in Finland and Sweden. For the 2020 survey round, we included questions about the current pandemic situation impacts and how agility has helped to respond. The respondents represented software professionals from different industries, not limited to information and communication technology (ICT) companies. The results indicate that although the perceived impacts have mostly been negative (53%), it is not all so. One-third (33%) reported positive impacts such as increased business and better well-being. The majority (55%) of the responses indicated that agility has helped to respond ...
2017 IEEE/ACM 39th International Conference on Software Engineering: Software Engineering Education and Training Track (ICSE-SEET)
Internet of Things (IoT) provides a thematic umbrellathat allows educators to combine various the... more Internet of Things (IoT) provides a thematic umbrellathat allows educators to combine various theoretical aspectsof computer science with substantial problems in everydaylife. As such, building IoT device prototypes has been suggestedby many as a means for teaching computer science and softwareengineering. However, how assessment should be conducted inthese exploratory courses is often left vague, and thus, there isa need for applicable assessment methodologies. This article reports results from three years of action researchin teaching prototyping of Internet of Things devices in apractical, problem-based setting. We present an example courseoutline for arranging learning experiences in IoT prototyping andprovide a general assessment framework, along with recommendationsfor best practices for facilitating personalized learning insimilar contexts. The results highlight that a general evaluation criteria can becomposed, despite the versatile nature and varying complexity ofthe students' project outcomes. Also, we underline that students'learning can be evaluated in detail, despite large variationsin their prior knowledge of IoT technologies or new productdevelopment as they enter the classroom for the first time.
Data science has the potential to create value and deep customer insight for service and software... more Data science has the potential to create value and deep customer insight for service and software engineering. Companies are increasingly applying data science to support their service and software development practices. The goal of our research was to investigate how data science can be applied in software development organisations. We conducted a qualitative case study with an industrial partner. We collected data through focus group interviews, feedback sessions and workshops. This paper presents the data science process recommended by experienced data scientists and describes the key characteristics of the process, i.e., agility, continuous learning process and end-to-end process. We also report the challenges experienced while applying the data science process in service and software engineering projects. For example, the data scientists highlighted that it is challenging to identify the right problem and ensure that the results will be utilised. The results indicate that it is possible to put in place an agile, iterative data science process that supports continuous learning while focusing on a real business problem to be solved. However, the application of data science can be demanding and requires skills for addressing human and organisational issues.
IFIP Advances in Information and Communication Technology, 2017
This paper reports governance practices of three profit oriented companies that develop OSS softw... more This paper reports governance practices of three profit oriented companies that develop OSS software with the help of their respective open development communities. We explore how the companies allow development contributions from external stakeholders, and what knowledge they let out of their internal software development activities. The results lay ground for further research on how to organize openness of the software development process in hybrid setups where the needs of different stakeholders are partly competing-yet complementary.
2017 ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM), Nov 1, 2017
Background: Online forums are instruments through which information or problems are shared and di... more Background: Online forums are instruments through which information or problems are shared and discussed, including expressions of interests and intentions. Objective: In this paper, we present ongoing work aimed at analyzing the content of forum posts of a hybrid open source company that offers both free and commercial licenses, in order to help its community manager gain improved understanding of the forum discussions and sentiments and automatically discover new opportunities such as sales leads, i.e., people who are interested in buying a license. These leads can then be forwarded to the sales team for follow-up and can result in them potentially making a sale, thus increasing company revenue. Method: For the analysis of the forums, an untapped channel for sales leads by the company, text analysis techniques are utilized to identify potential sales leads and the discussion topics and sentiments in those leads. Results: Results of our preliminary work make a positive contribution in lessening the community manager's work in understanding the sentiment and discussion topics in the hybrid open source forum community, as well as make it easier and faster to identify potential future customers. Conclusion: We believe that the results will positively contribute to improving the sales of licenses for the hybrid open source company.
Proceedings of the Fifth International Symposium on Business Modeling and Software Design, 2015
Evaluating the IT business value is a challenging combination of managing the complexity of value... more Evaluating the IT business value is a challenging combination of managing the complexity of value phenomenon and the complexity of broad IT impacts. This study analyses the focal characteristics of IT business value evaluation and proposes a research agenda towards systemic evaluation approach. The systemic approach combines concepts of goal driven perspective for benefits, value as a combination of benefits and costs, and the lifecycle view of potential and realised value. These concepts are integrated through system dynamics modelling to understand the IT impact structures and dynamic value creating behaviour emerging from the structures. Finally, systemic approach should be supported by evaluation workflow practices that facilitate seamless data retrieval for the evaluation process, and the integration of evaluation outputs within the organisation.
In this paper we present experiences on configurable products gathered in co-operation with Finni... more In this paper we present experiences on configurable products gathered in co-operation with Finnish companies. The reasons that made configurable products important include the ability to efficiently fulfil a wide range of customer requirements, shorter lead times in the sales-delivery process and increased control of production. We discuss the product development and sales-delivery processes of configurable products and their practical problems. These included partially configurable products, poor quality of configuration models and lack of clearly defined product policy. Companies had migrated to configurable products from one-of-a-kind products and fixed products (i.e. products manufactured repetitively according to a fixed specification). The direction of migration affects the benefits, problems and necessary changes. The requirements of the sales-delivery process and the product must be understood to gain full benefit from a product configurator. In addition, the process must u...
The Department of Computer Science at the University of Helsinki started recruiting students to t... more The Department of Computer Science at the University of Helsinki started recruiting students to the Master's programmes from abroad so that the first set of foreign students started at the beginning of the 2010 autumn term. In autumn 2010 18, 2011 23 and 2012 23 foreign Master's students started at the department. In addition two students started in the spring terms. In this report we follow the study success of these students and seek reasons for varying study success. We compare the study success of foreign students to the study success of domestic students who completed their Bachelor's degrees at the Department of Computer Science, University of Helsinki. We describe the application procedure, the origins and numbers of applicants and selection processes and criteria. Reception of students and introducing them to the local study culture play an important role in a good start of studies. We describe our efforts to smooth out the initial stages. The Master's programme in Bioinformatics and Cross-Border University Master's programme in Information and Communication Technology have started earlier and are international. We present briefly the study success of their students. Finally we suggest actions for further consideration to make the Master's programmes more successful for students and the department. The main findings include the observation that students with previous training that differ from UH Bachelor's degree requirements are likely to fail courses more often than students with training more similar to UH requirements. Among foreign students the variation in study success seems to be larger than among domestic students. Cultural differences in scientific writing must be addressed carefully and also differences in self-directions of students are substantial.
Service-oriented computing develops applications by composing services. In software product famil... more Service-oriented computing develops applications by composing services. In software product families, applications are developed by reusing existing assets. Hence, the approaches seem to have several similarities, although there are also differences. In this position paper, we discuss modeling methods in these two approaches. We conclude with directions for future studies for combining modeling in software product families and service-oriented computing that include variability modeling in service-oriented computing, behavior modeling and analysis in software product families, correct modeling concepts, unification modeling concepts in software product families, and reuse and a combination of methods between approaches.
Extreme Programming (XP) avoids up-front design by concentrating only on current needs in environ... more Extreme Programming (XP) avoids up-front design by concentrating only on current needs in environments of uncertain requirements. Software architecture design approaches produce architectures to match functional and quality requirements before detailed design and implementation. The approaches seem to be in tension with respect to the role of up-front design. In this paper, XP and three software architecture design approaches are compared in terms of problems they address, solutions to the problems, and applicability in dierent circumstances. In addition, the capability of answering problems addressed by other approaches is analyzed. While applicability of XP or software architecture design approaches depends on several factors, both seem to be able to learn from the practices the other applies, such as concentration on architectural drivers stemming from software architecture design approaches or value of simplicity stemming from XP.
Product configuration is an information intensive task for creating valid component combinations ... more Product configuration is an information intensive task for creating valid component combinations or descriptions from specifications. Information included in this process consists of product models, component models, actual partially or fully specified configurations, plus information of the configuration process itself. A system utilizing only a snapshot of this information can be built in a straightforward manner, but keeping all the information up-to-date within a constantly evolving environment is far from trivial. So far there has not been much research done on how this evolution of knowledge could be mastered. We start by describing the requirements for a configuration management system for a world-wide industrial enterprise. We then present a data model for a configuration environment where multiple partners take part in the process. From data engineering point of view the main problem is that configuration data in the system should be accessible for long periods of time and ...
In a software product family, a set of products that share similarities but also differ from each... more In a software product family, a set of products that share similarities but also differ from each other are derived from reusable assets [2, 6]. The ability to differentiate is referred to as variability; different variants are obtained by binding variability in different ways. As a means of managing variability in software product families, several modelling methods have emerged [5, 6, 3]. When variability is expressed rigorously, for example with models with welldefined syntax and semantics, efficient tool support can be developed. Besides hiding concrete syntax behind a graphical user interface, tools can prevent errors and give guidance to the user. We describe a tool set called Kumbang Tools for managing variability in software product families. Currently, two tools constitute Kumbang Tools. Kumbang Modeller enables creating models of software product family variability from a feature and architecture point of view, whereas Kumbang Configurator enables deriving configurations o...
Virtualization technologies have become common-place both in software development as well as engi... more Virtualization technologies have become common-place both in software development as well as engineering in a more general sense. Using virtualization offers other benefits than simulation and testing as a virtual environment can often be more liberally configured than the corresponding physical environment. This, in turn, introduces new possibilities for education and training, including both for humans and artificial intelligence (AI). To this end, we are developing a simulation platform AILiveSim. The platform is built on top of the Unreal Engine (www.unrealengine.com) game development system, and it is dedicated to training and testing autonomous systems, their sensors and their algorithms in a simulated environment. In this paper, we describe the elements that we have built on top of the engine to realize a Virtual Environment (VE) useful for the design, implementation, application and analysis of autonomous systems. We present the architecture that we have put in place to tran...
Researchers from University of Helsinki are working on intelligent, open-source requirements mana... more Researchers from University of Helsinki are working on intelligent, open-source requirements management platform with decisionsupport capabilities. This poster presents the planned research approach and expected deliverables.
In most autonomous robot approaches, the individual robot’s goals and cooperation behavior are fi... more In most autonomous robot approaches, the individual robot’s goals and cooperation behavior are fixed during the design. Moreover, the robot’s design may limit its ability to perform other than initially planned tasks. This leaves little room for novel dynamic cooperation where new (joint) actions could be formed or goals adjusted after deployment. In this paper, we address how situational context augmented with peer modeling can foster cooperation opportunity identification and cooperation planning. As a practical contribution, we introduce our new software architecture that enables developing, training, testing, and deploying dynamic cooperation solutions for diverse autonomous robots. The presented architecture operates in three different worlds: in the Real World with real robots, in the 3D Virtual World by emulating the real environments and robots, and in an abstract 2D Block World that fosters developing and studying large-scale cooperation scenarios. Feedback loops among thes...
Agile Processes in Software Engineering and Extreme Programming – Workshops
In 2020, the global COVID-19 pandemic affected almost every company in some way also in the Nordi... more In 2020, the global COVID-19 pandemic affected almost every company in some way also in the Nordic countries. Depending on the different industry sectors of the companies, the impacts have varied from minor risks to severe disruptions but also even booming businesses. In all, agility and resilience have been required to continue and even to survive. In 2018, we started conducting large-scale agile surveys in Finland and Sweden. For the 2020 survey round, we included questions about the current pandemic situation impacts and how agility has helped to respond. The respondents represented software professionals from different industries, not limited to information and communication technology (ICT) companies. The results indicate that although the perceived impacts have mostly been negative (53%), it is not all so. One-third (33%) reported positive impacts such as increased business and better well-being. The majority (55%) of the responses indicated that agility has helped to respond ...
2017 IEEE/ACM 39th International Conference on Software Engineering: Software Engineering Education and Training Track (ICSE-SEET)
Internet of Things (IoT) provides a thematic umbrellathat allows educators to combine various the... more Internet of Things (IoT) provides a thematic umbrellathat allows educators to combine various theoretical aspectsof computer science with substantial problems in everydaylife. As such, building IoT device prototypes has been suggestedby many as a means for teaching computer science and softwareengineering. However, how assessment should be conducted inthese exploratory courses is often left vague, and thus, there isa need for applicable assessment methodologies. This article reports results from three years of action researchin teaching prototyping of Internet of Things devices in apractical, problem-based setting. We present an example courseoutline for arranging learning experiences in IoT prototyping andprovide a general assessment framework, along with recommendationsfor best practices for facilitating personalized learning insimilar contexts. The results highlight that a general evaluation criteria can becomposed, despite the versatile nature and varying complexity ofthe students' project outcomes. Also, we underline that students'learning can be evaluated in detail, despite large variationsin their prior knowledge of IoT technologies or new productdevelopment as they enter the classroom for the first time.
Data science has the potential to create value and deep customer insight for service and software... more Data science has the potential to create value and deep customer insight for service and software engineering. Companies are increasingly applying data science to support their service and software development practices. The goal of our research was to investigate how data science can be applied in software development organisations. We conducted a qualitative case study with an industrial partner. We collected data through focus group interviews, feedback sessions and workshops. This paper presents the data science process recommended by experienced data scientists and describes the key characteristics of the process, i.e., agility, continuous learning process and end-to-end process. We also report the challenges experienced while applying the data science process in service and software engineering projects. For example, the data scientists highlighted that it is challenging to identify the right problem and ensure that the results will be utilised. The results indicate that it is possible to put in place an agile, iterative data science process that supports continuous learning while focusing on a real business problem to be solved. However, the application of data science can be demanding and requires skills for addressing human and organisational issues.
IFIP Advances in Information and Communication Technology, 2017
This paper reports governance practices of three profit oriented companies that develop OSS softw... more This paper reports governance practices of three profit oriented companies that develop OSS software with the help of their respective open development communities. We explore how the companies allow development contributions from external stakeholders, and what knowledge they let out of their internal software development activities. The results lay ground for further research on how to organize openness of the software development process in hybrid setups where the needs of different stakeholders are partly competing-yet complementary.
2017 ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM), Nov 1, 2017
Background: Online forums are instruments through which information or problems are shared and di... more Background: Online forums are instruments through which information or problems are shared and discussed, including expressions of interests and intentions. Objective: In this paper, we present ongoing work aimed at analyzing the content of forum posts of a hybrid open source company that offers both free and commercial licenses, in order to help its community manager gain improved understanding of the forum discussions and sentiments and automatically discover new opportunities such as sales leads, i.e., people who are interested in buying a license. These leads can then be forwarded to the sales team for follow-up and can result in them potentially making a sale, thus increasing company revenue. Method: For the analysis of the forums, an untapped channel for sales leads by the company, text analysis techniques are utilized to identify potential sales leads and the discussion topics and sentiments in those leads. Results: Results of our preliminary work make a positive contribution in lessening the community manager's work in understanding the sentiment and discussion topics in the hybrid open source forum community, as well as make it easier and faster to identify potential future customers. Conclusion: We believe that the results will positively contribute to improving the sales of licenses for the hybrid open source company.
Evaluating the IT business value is a challenging combination of managing the complexity of value... more Evaluating the IT business value is a challenging combination of managing the complexity of value phenomenon and the complexity of broad IT impacts. This study analyses the focal characteristics of IT business value evaluation and proposes a research agenda towards systemic evaluation approach. The systemic approach combines concepts of goal driven perspective for benefits, value as a combination of benefits and costs, and the lifecycle view of potential and realised value. These concepts are integrated through system dynamics modelling to understand the IT impact structures and dynamic value creating behaviour emerging from the structures. Finally, systemic approach should be supported by evaluation workflow practices that facilitate seamless data retrieval for the evaluation process, and the integration of evaluation outputs within the organisation.
Uploads
Papers by Tomi Männistö