Customer Churn Modeling Using Sales System Data

Acquiring new customers is more expensive and challenging than retaining existing customers. Therefore, companies should take care of their existing customers in order to retain them. These so-called retaining actions should only be used for unsatis ed customers who are about to transfer their business somewhere else. In this thesis we analyze the Finnish National…

Towards value-oriented product development roadmapping

Software companies have problems connecting business goals to actual software development tasks. This means that a lot of software development is done without linkage to business goals, which can lead to wasting time and money, and to bloated- and hard to maintain software and failed software projects. Roadmapping is a popular method to communicate future…

Tracing Latent Dependencies Across Software Teams Through Error-handling Graphs

It is important to identify and act upon coordination problems within and across distributed software development teams in the context of global software development (GSD). Such problems jeopardize the quality of the system under development, and their identification is paramount to mitigate quality related risks. In this paper, we introduce a visualization tool, namely error-handling…

Towards open data based business: Survey on usage of open data in digital services

Nowadays open data is in high demand worldwide due to the possibility of creating innovative digital services and applications around open data. This paper discusses the open data from the business perspective; about the status of information usage in companies and motivation, opportunities and obstacles that relate to the open data based business. We carried…

Stakeholder analysis in software-intensive systems development

A stakeholder analysis is commonly a part of the requirements engineering process in the development of software systems. It contributes to identifying, analysing, negotiating and validating requirements from multiple stakeholder viewpoints that do not necessary share the same views on a system under development and do not necessary express themselves using a similar language. Stakeholder…

Adopting SAFe to scale agile in a globally distributed organization

Large software development organizations adopting agile methods need solutions and models to help scale agile to fit their needs. During recent years, several frameworks for scaling agile have been created by consultants, including the Scaled Agile Framework (SAFe), Large-scale Scrum (LeSS) and Disciplined Agile Delivery (DAD). However, research on how these frameworks are adopted in…

Collecting Usage Data for Software Development: Selection Framework for Technological Approaches

Software development methods are shifting towards faster deployments and closer to the end-users. Their ever tighter engagement of end-users also requires new technologies for gathering feedback from those users. At the same time, the widespread Internet connectivity of different application environments is enabling the collection of this post-deployment data also from other sources than traditional…

Refinement-based Approach to Co-engineering Requirements and Formal Models

Formal modelling is widely recognised to contribute to the rigour and comprehensiveness of requirements. At the same time, a formal specification does not offer the flexibility and legibility of informal requirements, expected by system designers and software engineers. In this paper we propose a method and a supporting platform for tightly integrated co-engineering of a…

Towards Integrated Engineering of Adaptive Resilient Systems

Resilience is an ability of a system to deliver trustworthy services despite changes. It is a much sought after property in a wide range of applications. However, currently, development of resilient adaptive systems constitutes a major engineering challenge due to a diversity of methods and tools used in the development and a lack of support…

Perceived obstacles by novice developers adopting user interface APIs and tools

An Application-Programming Interface or API provides a set of program functions that can be used to build new applications. In this paper, we study how to use the expectation-confirmation theory (ECT) to identify API usability problems, and what obstacles a novice developer faces when learning a new API and its accompanying development tools. We conduct…

Value of embodiment in service design: the case of a Finnish software business

We are humans. We have bodies. Bodies move. Bodies are located in places: offices, conference rooms, around coffee tables, technology buildings, manufacturing facilities, northern and southern or western and eastern parts of countries or continents, and finally across the globe. Bodies need to move between places to gain the embodied knowledge discussed in this paper….

Service design for documentation and localization in data security

How can we develop companies’ internal services with service design? This question is answered in by considering a collaborative case with a Finnish-based data and cyber security company F-Secure Corporation (FSC). The FSC has business-to-business customers and private customers in over 40 countries globally, which makes it useful for gathering knowledge on customizing services for…

DIY video in service design and business

Sharing the authentic voice of a user, hearing a story, getting the feeling of an environment, following a specific process and journey, documenting your work and sharing it with others. These are examples of how a video can communicate. In the Humanizing Service Experiences with Design Methods (HumanSee) research project, a video is used in…

Customer and employee on a shared journey – Case Lapland Hotels, HumanSee

Lapland Hotels is the largest hotel chain in Finnish Lapland with 16 locations. Lapland Hotels is one of the partner companies with University of Lapland through a Tekes- funded service design research project, Humanizing Service Experiences with Design Methods (HumanSee). The initial intent of the project was to identify the connection points between the hotel…

Quality management architecture for social media data

Social media data has provided various insights into the behaviour of consumers and businesses. However, extracted data may be erroneous, or could have originated from a malicious source. Thus, quality of social media should be managed. Also, it should be understood how data quality can be managed across a big data pipeline, which may consist…

The Crisis Management System – A Case Study in Aspect-Oriented Modeling Using UPPAAL

This technical report exemplifies the modelling of a Crisis Management System using an approach which combines aspect-oriented modelling and UPPAAL timed automata. We show that by taking advantage of aspect non-interference, we can enable compositional verification and testing. We provide examples of verification queries and test traces, and benchmark the complexity of the verification and…

Towards Continuous Delivery by Reducing the Feature Freeze Period: A Case Study

Today, many software companies continuously deliver and deploy new features to their customers. However, many software systems are still released traditionally with long feature freeze periods and time-based releases due to historical reasons. Currently, only a few empirical inquiries of transformations towards continuous delivery exist. In this paper, we aim to understand how feature freeze…

Connections between agile way of working, team coherence and well-being at work

In this study we investigate how agile ways of working are associated with team coherence and well-being at work. Agile principles hold many promises in relation to well-being at work. Agile principles, such as ‘promote sustainable pace’; ‘best results emerge from self-organized teams’; and ‘teams reflect regularly when and how to improve’ are connected to…

Integrating Service Design Prototyping into Software Development

Customer-driven service design is becoming an integral part of continuous software development. The fulfilment of needs is manifested through customer behaviour patterns that are often difficult to identify and validate for R&D. This paper investigates how customer involvement in software development can be achieved through experience prototyping. First, participatory action research with four cases is…

Spicing Up Open Source Development with a Touch of Crowdsourcing

Leveraging the work and innovation of third party developers has risen as a viable business model for software companies. Most obviously, open source software has become an opportune ecosystem for creating innovative products with minimum number of paid developers. Then, having a company core where most of the development is done in-house by developers employed…

Towards Continuous Customer Satisfaction and Experience Management: A Measurement Framework Design Case in Wireless B2B Industry

Customer satisfaction (CS) is continuously important in modern industrial business environments. However, it is inherently affective even in B2B contexts and thus not directly controllable. Satisfaction impacting customer experiences (CX), respectively, can be managed by the supplier company. The company should first define its strategic CX vision, and then set the value-based CX goals accordingly….

Developing Processes to Increase Technical Debt Visibility and Manageability – An Action Research Study in Industry

The knowledge about technical debt and its management has increased in recent years. The interest of academia and industry has generated many viewpoints on technical debt. Technical debt management consists of technical and organizational aspects, which make it a challenge in software development. To increase technical debt visibility and manageability, new processes must be developed…

Supporting Management of Hybrid OSS Communities – A Stakeholder Analysis Approach

In Hybrid Open Source Software projects, independent and commercially oriented stakeholders collaborate using freely accessible tools and development processes. Here, contributors can enter and leave the community flexibly, which poses a challenge for community managers in ensuring the sustainability of the community. This short paper reports initial results from an industrial case study of the…

Internationally Distributed Software Development: On the Impact of Distance Based on a Case Study

Distribution of software development is increasingly global and crosses the geographical and cultural borders. As software development is creative teamwork, the distribution is not about mechanical division of work. The poster presents on on-going study on internationally distributed software development. Based on a literature and experiences from a case company, investigates the motivations, models of…

The Developers Dilemma: Perfect Product Development or Fast Business Validation?

To find a fast-track to profitability, a startup needs to streamline and speed up two vital processes – developing novel products and finding new markets for their products. These two goals are typically opposed to each other, business development requiring quick iteration and product development requiring focus on quality. This difference in mindsets, where the…

Continuous planning through the three horizons of growth

This study addresses the topic of continuous planning in the agile and lean software development context. The paper investigates how software companies can achieve various benefits by dividing their product development practices along the three horizons of growth. This approach allows software companies to have different product development and planning practices inside the company, thereby…

Gamification of Software Testing – An MLR

This paper presents an initial multi-vocal literature review that extracts ideas for gamification of software testing. We surveyed the type of testing, system under test, role of individuals, gamification elements, challenges and drawbacks, support constructs and tools, and empirical evidence from academic sources and grey literature. Ideas were given to both automated unit-testing, and end-user…

The CRUSOE Framework: A Holistic Approach to Analysing Prerequisites for Continuous Software Engineering

Continuous software engineering (CSE) is used for customer experiments and repetitive integrated processes within and between business planning and software development. First, this paper defines a new framework, called CRUSOE, for analysing CSE prerequisites. The framework allows for a more precise analysis of the interrelations and estimation of the changes that are prerequisites for moving…

Understanding the Relations Between Iterative Cycles in Software Engineering

Iterations are one of the most successful mechanisms in software development to ensure that the resulting system is satisfactory. Due to its strengths, various kinds of iterations have been integrated to software development with varying goals. In this paper, we consider different types of iterations related to software development, including prototyping, incremental development, sprints as…

Crowdsourced Nonparametric Density Estimation Using Relative Distances

In this paper we address the following density estimation problem: given a number of relative similarity judgements over a set of items D, assign a density value p(x) to each item x ∈ D. Our work is motivated by human computing applications where density can be interpreted e.g. as a measure of the rarity of…

DevOps Adoption Benefits and Challenges in Practice: A Case Study

DevOps is an approach in which traditional software engineering roles are merged and communication is enhanced to improve the production release frequency and maintain software quality. There seem to be benefits in adopting DevOps but practical industry experiences have seldom been reported. We conducted a qualitative multiple-case study and interviewed the representatives of three software…

Relationship of DevOps to Agile, Lean and Continuous Deployment

In recent years, the DevOps phenomenon has attaracted interest amongst practitioners and researchers in software engineering, reflecting the greater emphasis on collaboration between development and IT operations. However, despite this growing interest, DevOps is often conflated with agile and continuous deployment approaches of software development. This study compares DevOps with agile, lean and continuous deployment…

Systematic literature review on the impacts of agile release engineering practices

Agile release engineering (ARE) practices are designed to deliver software faster and cheaper to end users; hence, claims of such impacts should be validated by rigorous and relevant empirical studies. The study objective was to analyze both direct and indirect impacts of ARE practices as well as to determine how they have been empirically studied. The…

Managing the requirements flow from strategy to release in large-scale agile development: a case study at Ericsson

In a large organization, informal communication and simple backlogs are not sufficient for the management of requirements and development work. Many large organizations are struggling to successfully adopt agile methods, but there is still little scientific knowledge on requirements management in large-scale agile development organizations. We present an in-depth study of an Ericsson telecommunications node…

Towards DevOps in the Embedded Systems Domain: Why is It So Hard?

DevOps is a predominant phenomenon in the web domain. Its two core principles emphasize collaboration between software development and operations, and the use of agile principles to manage deployment environments and their configurations. DevOps techniques, such as collaboration and behaviour-driven monitoring, have been used by web companies to facilitate continuous deployment of new functionality to…

Workshop-Based Corporate Foresight Process: A Case Study

Corporate foresight is a value-creation tool that helps companies survive in a competitive, ever-changing business environment. Foresight can be perceived as a company’s capability to commit to continuous environmental scanning and to respond quickly to the discovered market threats and opportunities. Currently, there is scarce literature about foresight application procedures in organizations. This paper presents…

Digitalization as a Paradigm Changer in Machine-Building Industry

Digitalization is a contemporary societal topic among businessmen, scholars, politicians, and citizens. The way Uber has changed the taxi business and subsequently is providing new models for the entire transportation industry or even changing urban planning principles is a practical example of the impact of digitalization. This example illustrates that digitalization offers major returns for…

Eight Paths of Innovations in a Lean Startup Manner: A Case Study

Software companies face high pressure to develop innovative products and services at increasing speed. However, a traditional new product development (NPD) process is not always a sufficient means for doing this. We report experiences from an explorative multiple case study covering eight cases from four companies of different sizes and business characteristics. Each case aimed…

Onboarding in Open Source Software Projects: A Preliminary Analysis

Nowadays, many software projects are partially or completely open-source based. There is an increasing need for companies to participate in open-source software (OSS) projects, e.g., in order to benefit from open source ecosystems. OSS projects introduce particular challenges that have to be understood in order to gain the benefits. One such challenge is getting newcomers…

On the Feasibility of Startup Models as a Framework for Research on Competence Needs in Software Startups

Until recently, mainstream research on software engineering targeted software development in established companies. However, startup companies have become more important in developing new software-intensive products and services. Consequently, research focusing on software startups has emerged. Understanding competence needs during the evolution of a software startup company is crucial to its success. Competence needs are, however,…

A theory of distances in software engineering

Coordinating a software project across distances is challenging. Even without geographical and time zone distances, other distances within a project can cause communication gaps. For example, organisational and cognitive distances between product owners and development-near roles such as developers and testers can lead to differences in understanding and interpretation of the business requirements. Applying good…

Towards Visualisation of Resilience Assessment for Large-Scale Systems

Ensuring resilience of large-scale systems is a challenging engineering task. It can be greatly facilitated if the analysis of various system characteristics is performed at yearly design stages. Such an analysis helps the designers to assess various architectural alternatives with respect to such parameters as performance, reliability and cost. However, to facilitate experimentation with the…

Early Product Design in Startups: Towards a UX Strategy

Startups often begin with minimal product versions to test and validate their product ideas as early as possible. Therefore, the first versions of the product need to be able to communicate the product idea to users in order to receive meaningful feedback. However, if user experience (UX) of the product is poor, users tend to…

The social developer: now, then, and tomorrow

The practice of software engineering needs both individual commitment as well as social interaction. It has long been widely recognized that communication problems are a major factor in the delay and failure of software projects. However, the patterns of communication that can be associated with the different development paradigms have gained less attention. In this…

Transitioning Towards Continuous Experimentation in a Large Software Product and Service Development Organisation – A Case Study

Companies need capabilities to evaluate the customer value of software-intensive products and services. One way of systematically acquiring data on customer value is running continuous experiments as part of the overall development process. This paper investigates the first steps of transitioning towards continuous experimentation in a large company, including the challenges faced. We conduct a…

Project- and product-oriented course

The current economic crisis and high unemployment rates especially among younger than 25 years old requires also re-thinking of teaching practices. Universities should produce not only professional skills, but also strong business-oriented mindset. Our graduates should be able to create new innovative products, start new enterprises and be prepared to apply all learned skills in…

Collaboration, distribution and culture – challenges for communication

Work, to an increasing amount, is based on collaboration between different partners; collaboration emphasizes the importance of communication between the collaborating parties. Increasingly, work is also becoming distributed and carried out in different geographical locations; distribution underlines the importance of managing and organizing work. The third important aspect characterizing current work is globalization; this refers…

Data Driven Ecosystem – Perspectives and Problems

Our society and business ecosystem is becoming data driven. The value of data is becoming comparable to the value of physical products and becoming an important source of business. Open data itself is seen as a meaningful source of new business, especially for small and medium-sized companies. Open data is aimed to be public by…

Designing an Unobtrusive Analytics Framework for Monitoring Java Applications

In software development, attention has recently been placed on understanding users and their interactions with systems. User studies, practices such as A/B testing, and frameworks such as Google Analytics that gather data on production use have become common approaches in particular in the context of the Web, where it is easy to perform frequent updates…

Changing the Planning from Agile and Lean Software Development: from Roadmapping to Continuous Planning

It is hard to survive and succeed in today’s business environment, and to be able to sense and respond to predictable and unpredictable events. Also, market uncertainties, increased competitiveness and the constant need to shorten development cycles call for more flexible, responsive and adaptive software development practices. Agile and lean software development practices have been…

Raising the odds of success: the current state of experimentation in product development

An experiment-driven approach to software product and service development is gaining increasing attention as a way to channel limited resources to the efficient creation of customer value. In this approach, software capabilities are developed incrementally and validated in continuous experiments with stakeholders such as customers and users. The experiments provide factual feedback for guiding subsequent…

Business models and opportunity creation: How IT entrepreneurs create and develop business models under uncertainty

How can entrepreneurs develop business models for markets in which the technology is constantly changing – or create business models for markets that do not exist? These are fundamental questions for information technology (IT) entrepreneurs, and for information systems (IS) scholars who seek to develop a theoretical understanding of business models. The case study presented…

Information Systems in Distributed Environment

Information Systems in Distributed Environment (ISDE) is becoming a prominent standard in this globalization era due to advancement ininformation and communication technologies. The advent of the Inter-net has supported Distributed Software Development (DSD) by intro-ducing new concepts and opportunities, resulting in benefits such asscalability, flexibility, interdependence, reduced cost, resource pools,and usage tracking. The distributed development…

How to Validate Mobile Crowdsourcing Design? Leveraging Data Integration in Prototype Testing

Mobile crowdsourcing applications often run in dynamic environments. Due to limited time and budget, developers of mobile crowdsourcing applications sometimes cannot completely test their prototypes in real world situations. We describe a data integration technique for developers to validate their design in prototype testing. Our approach constructs the intended context by combining real-time, historical and…

Prioritizing manual test cases in rapid release environments

Test case prioritization is an important testing activity, in practice, specially for large scale systems. The goal is to rank the existing test cases in a way that they detect faults as soon as possible, so that any partial execution of the test suite detects the maximum number of defects for the given budget. Test…

Scaling Scrum in a Large Globally Distributed Organization: A Case Study

We present a case study on scaling Scrum in a large globally distributed software development project at Nokia, a global telecommunications company. We discuss how the case project scaled Scrum while growing from two collocated Scrum teams to 20 teams located in four countries and employing a total of 170 persons. Moreover, we report scaling…

Bottom-up Adoption of Continuous Delivery in a Stage-Gate Managed Software Organization

Continuous delivery (CD) is a development practice for decreasing the time-to-market by keeping software releasable all the time. Adopting CD within a stage-gate managed development process might be useful, although scientific evidence of such adoption is not available. In a stage-gate process, new releases pass through stages and gates protect low-quality output from progressing. Large…

Test Better by Exploring: Harnessing Human Skills and Knowledge

End users continue to stumble upon software bugs, despite developers’ efforts to build and test high-quality software. While traditional testing and quality assurance techniques are extremely valuable, we suggest that more focus should be given to the role of exploration in software testing. Exploration can bring direct utilization of knowledge and learning to the core…

Ways to Cross the Rubicon: Pivoting in Software Startups

Startup, or a potential company looking for form and repeatable, scalable business model, has become an advocated mechanism for embracing high ambition, innovativeness, and growth. The success of a startup is often related to the time it takes the startup to develop their business model. When the entire business is based on extreme uncertainty the…

Model-based testing of software systems : functionality and performance

Software is a key component in many of our devices and products that we use every day. Most customers demand not only that their devices should function as expected but also that the software should be of high quality, reliable, fault tolerant, efficient, etc. In short, it is not enough that a calculator gives the…

Perceived Benefits of Adopting Continuous Delivery Practices

In continuous delivery, the aim is that every feature passes through the integration and deployment pipeline, resulting in an immediately deployable product. This practice has been proposed to accelerate value delivery, improve software quality and increase developer productivity. We investigate the adoption of continuous delivery practices and evaluate the related benefits in a single customer-supplier…

An Exploratory Study of DevOps: Extending the Dimensions of DevOps with Practices

Software-intensive companies constantly try to improve their software development process for better software quality and a faster time to market. The DevOps phenomenon emerged with the promise of easing the process of putting new software changes to production at a fast rate whilst also increasing the learning and innovation cycles of their products. However, the…

Quantitatively measuring a large-scale agile transformation

Agile software development continues to grow in popularity and is being adopted by more and more organizations. However, there is a need for empirical evidence on the impact, benefits and drawbacks of an agile transformation in an organization since the cost for such a transformation in terms of money, disrupted working routines and quality of…

On Mutating UPPAAL Timed Automata to Assess Robustness of Web Services

We present a model-based mutation technique for testing the robustness of Web service compositions. Specifications of a Web service composition is modeled by UPPAAL Timed Automata and the conformance between the model and the implementation is validated by online model-based testing with the UPPAAL TRON tool. By applying a set of well-defined mutation operators, we…

Customer Perception Driven Product Evolution : Facilitation of Structured Feedback Collection

Competitive environment not only requires effective advertising strategies from the product producers and service providers, but also to do comprehensive and sufficient analysis of their customers to understand their needs and expectations. Successfully involving customers into a product/service co-creation process, companies more likely increase their future revenue. Customer feedback analysis is widely applied in marketing…

Making Service Design in a Digital Business

Digital businesses involve multiple stakeholders, each with their own distinct sets of values. In addition to the business value of the global digital ecosystem, a complex web of socio-cultural human values has emerged from digital development. In this research paper, this ecosystem is examined in a Finnish context, through business-led research and development consortia (Nee…

In-between Open and Closed – Drawing the Fine Line in Hybrid Communities

Today, the community driven development model extends into a variety of new, often web based collaborations. Among these are hybrid open source development set ups in which various online tools are used to facilitate cooperation between virtual teams of commercial and voluntary stakeholders. As yet, how these relationships form and evolve is not understood extensively….

On Optimization of Test Parallelization with Constraints

In this paper, we presented a novel approach for scheduling tests in parallel. The aim is
to optimize the execution time of the tests in a test suite while satisfying incompatibility,
dependency and interference constraints between the tests. In order to decrease the execution
time we are looking for the best possible partitioning of tests in a number of groups
and reordering of tests in each group to reduce the false positive and false negative test
execution results.

Carrying Ideas from Knowledge-Based Configuration to Software Product Lines

Software variability modelling (SVM) has become a central concern in software product lines – especially configurable software product lines (CSPL) require rigorous SVM. Dynamic SPLs, service oriented SPLs, and autonomous or pervasive systems are examples where CSPLs are applied. Knowledge-based configuration (KBC) is an established way to address variability modelling aiming for the automatic product…

Business models and opportunity creation: How IT entrepreneurs create and develop business models under uncertainty

How can entrepreneurs develop business models for markets in which the technology is constantly changing—or create business models for markets that do not exist? These are fundamental questions for information technology (IT) entrepreneurs, and for information systems (IS) scholars who seek to develop a theoretical understanding of business models. The case study presented in this paper addressed these questions, demonstrating…

The RIGHT model for Continuous Experimentation

Development of software-intensive products and services increasingly occurs by continuously deploying product or service increments, such as new features and enhancements, to customers. Product and service developers must continuously find out what customers want by direct customer feedback and usage behaviour observation. This paper examines the preconditions for setting up an experimentation system for continuous…

Discovering and creating business opportunities for cloud services

Cloud computing provides new business opportunities for firms selling or using cloud services. However, little is known about how software firms detect and exploit these opportunities. Based on in-depth qualitative case studies, this study identified two different pathways followed by software firms when they detect and exploit opportunities. In the first pathway, the opportunity is based on an existing…

Unveiling the Janus face of the business model

Even though the extant literature on business models acknowledges the importance of the surrounding context and involved actors, as well as recognizes the need to elaborate on the dynamic nature of the business model concept, there is no coherent approach that would allow doing so. By utilizing the action perspective, this conceptual paper aims to refine and expand…

The role of international experience in business models of SMEs – evidence from software companies

This paper examines the role of international experience in value creation in business models in internationalising software SME’s. While business models as such have been subject to extensive research their study in the context of international entrepreneurial firms has remained scant. The empirical part of the paper focuses on eight Finnish international entrepreneurial software companies….

Teaching University Students Kanban with a Collaborative Board Game

Kanban is a work ow management method especially suitable for managing continuous software engineering work. We attempted to teach Kanban and lean thinking in a software project management course in Aalto University with a collaborative Kanban board game. Our goal was to measure if the learning goals of the class were reached and to study…

Exploring Processes in Small Software Companies: A Systematic Review

To attain an advantage over competitors, small software companies (SSCs) need to have an efficient software development process. However, systematic review studies that have examined the software development process within the context of SSCs are limited. Therefore, the objective of this paper is to rigorously assess the current state of practice of the software development…

Pitfalls of Kanban in Brownfield and Greenfield Software Development Projects

In the last two decades, Agile and Lean approaches have gained wide acceptance in the software industry. In this realm, Kanban emerged in 2004 with a strong practitioner-driven support movement and today, Kanban is increasingly adopted to complement Scrum and other Agile methods. Kanban tends to focus on fast production, rapid and continual user feedback…

On the Impact of Mixing Responsibilities Between Devs and Ops

Many software engineering organizations around the world are adopting DevOps. One of the goals of DevOps is to foster better collaboration between development and operations personnel, in order to improve organizational efficiency. Since DevOps is lacking a common definition, there are several approaches to adopt it, and organizations largely need to determine how to apply…

Flow, Intrinsic Motivation, and Developer Experience in Software Engineering

Software developers are both users of development tools but also designers of new software systems. This dual role makes developers special users of work-related software. To increase the understanding of developers as users and to evaluate the ability of common measurement scales to address developer experience, we conducted a survey measuring developers’ flow state, intrinsic…

Emerging themes in agile software development: Introduction to the special section on continuous value delivery

we focus in particular on two recent trends in research on agile software development: First, the transition from a focus on agile methods on team level with emphasis on team performance (illustrated by the focus on pair programming and test first development), to a broader organisational understandingwhere more focus is put on value of the developed product. Second, the transition from iterative development with initial recommendations on 30 day iterations in Scrumtocontinuous deployment of new features. We describe these two trends as a focus on continuous value delivery

An Introduction to Industrial Service Design

Service design has established itself as a practice that enables industries to design and deliver their services with a human-centred approach. It creates a contextual and cultural understanding that offers opportunities for new service solutions, improving the user experience and customer satisfaction. With contributions from leading names in the field of service design from both…

Continuously Experiment to Assess Values Early On

The troubles began when Tom, the business analyst, asked the customer what he wants. The customer came up with good ideas for software features. Tom created a brilliant roadmap and defined the requirements for a new software product. Mary, the development team leader, was already eager to start developing and happy when she got the…

Customer Involvement in Continuous Deployment: A Systematic Literature Review

[Context and motivation] In order to build successful software products and services, customer involvement and an understanding of customers’ requirements and behaviours during the development process are essential. [Question/Problem] Although continuous deployment is gaining attention in the software industry as an approach for continuously learning from customers, there is no common overview of the topic…

Continuous experimentation in the B2B domain: a case study

Rapid value delivery requires a company to utilize empirical evaluation of new features and products in order to avoid unnecessary product risks. This helps to make data-driven decisions and to ensure that the development is focused on features that provide real value for customers. Short feedback loops are a prerequisite as they allow for fast…

Scenario-Based Design and Validation of REST Web Service Compositions

We present an approach to design and validate RESTful composite web services based on user scenarios. We use the Unified Modeling Language (UML) to specify the requirements, behavior and published resources of each web service. In our approach, a service can invoke other services and exhibit complex and timed behavior while still complying with the…

How to Adopt Continuous Delivery? A Research Proposal

Continuous delivery is a software development discipline inwhich software can be released to production at any time. The proposeddissertation aims to understand the problems that emerge when adoptingcontinuous delivery and nd solutions to those problems. The goal isreached by performing a systematic literature review followed by casestudies. Root cause analysis is utilized as a data…

The Cookbook For Successful Internal Startups

Over the past several years, companies have had to change to meet the threat of accelerating competition coming from startups and other global industry players. Digitalization is the name of the times, and many companies are evaluating what to do in order to stay in the game. Our answer to this question is to use…

Applying Agile and Lean Elements to Accelerate Innovation Culture in a Large Organization – Key Learnings After One Year Journey

This paper describes how lean elements have been applied in a large company to change existing agilean culture towards innovation culture. Innovation concentrates on radical, new business innovations but covers product and process innovations as well. The main motivation and need to build the innovation culture was an assumption that the company has a lot…

Towards Predictable B2B Customer Satisfaction and Experience Management with Continuous Improvement Assets and Rich Feedback

Modern high-performing software product development organizations are nowadays more and more often transforming their operations towards continuous higher-level ends. In general, customer satisfaction (CS) is such a goal. This paper presents an approach of gauging and improving customer satisfaction in an industrial B2B product development project organization for continuous customer experience (CX) management. In order…

Innovation in service ecosystems—Breaking, making, and maintaining institutionalized rules of resource integration

Drawing on service-dominant logic and institutional theory, this paper examines innovation as a process that unfolds through changes in the institutional arrangements that govern resource integration practices in service ecosystems. Four cases are used to illustrate the interdependent patterns of breaking, making and maintaining the institutionalized rules of resource integration occurring on multiple levels of…

Institutions as resource context

Purpose – The purpose of this paper is to examine the role of institutions and institutional complexity in the process through which resources-in-context get their “resourceness.” Design/methodology/approach – To shed light on the process of potential resources gaining their “resourceness,” the authors draw from two streams of literature: the service ecosystems perspective and institutional theory….

Extending actor participation in value creation: an institutional view

This article explores how seemingly distinct actors contribute to value creation and evaluation in a fundamentally similar way. It shows that the division of actors into dichotomies such as ‘producers’ and ‘consumers,’ ‘paying’ and ‘non-paying’ customers, and ‘adopters’ and ‘non-adopters,’ is based on narrow, unidirectional, transactional, and dyadic views on value creation and delivery. The…

Distributed Scrum When Turning Into Maintenance: A Single Case Study

Global software development using agile methods is commonplace in software industry nowadays. Scrum, as the agile development management framework, can be distributed in many ways, especially concerning how the key roles are presented in different sites. We describe here a single case study of a distributed Scrum, mainly for maintenance of the already constructed web…

Semantic UI: Automated Creation of Semantically Personalized User Interface

Information representation plays very important role for services and applications to be more attractive for end user. One design cannot fit varied preferences and be suitable for all users. User driven customization of user interface applied for particular application or service do not influence at overall satisfaction of a user and usability of other applications…

Scalable Hierarchical Clustering: Twister Tries with a Posteriori Trie Elimination

Exact method for Agglomerative Hierarchical Clustering (AHC) with average linkage do not scale well when the number of items to be clustered is large. The best known algorithms show quadratic behavior and it is generally accepted that this cannot be improved without using specifics of certain metric spaces. Twister tries is an algorithm which produces…

Designing Local Reform of Commons with Dialogical Tools

Dialog is crucial in the reform of local commons and in making them available and interesting to people in everyday life. Participatory action research, co-design of commons and service design, and participatory decision-making and change management all promote practicality and participation in development. This paper shows how, by engaging in dialog on these different theories…

Evaluating the Quality of Social Media Data in Big Data Architecture

The use of freely available online data is rapidly increasing, as companies have detected the possibilities and the value of these data in their businesses. In particular, data from social media are seen as interesting as they can, when properly treated, assist in achieving customer insight into business decision making. However, the unstructured and uncertain…

The Evolving Role of Expectations and Emotions in Long-Term User Experience

Pre-use expectations are believed to influence user experience evaluations. The goal of this study is to understand the role of expectations and emotions in the evaluation of a product – a mobile phone – over a five-month period of use in a real-life setting. The results show that expected enjoyment has long-lasting effects on product…

Decision-Making Framework for Refactoring

Refactoring has been de ned as improving code quality without a ffecting its functionality. When refactoring is overlooked in daily development, the likelihood of larger refactorings increases with time. Disadvantages of larger refactorings include that they disrupt the daily work, require additional planning e ort, and often they need to be justi ed to stakeholders. In this paper, we…

Service Designing Finland: From Policy to Action

Both service design and agile are processes that uncover insights and initiate conversations, whether internally or externally, in order to identify what is most valuable to the user and then proceed to design and deliver it. In this article, we investigate the dynamics between different stakeholders in the design, development, and delivery process and propose…

Variability management strategies to support efficient delivery and maintenance of embedded systems

Software intensive organisations that are able to efficiently handle product variability can reach competitive advantage by shorter development lead times, improved customer satisfaction, and reduced costs of product management. Improved reusability and flexibility, combined with variability strategies can provide companies mechanisms to offer new product variants fast to customers. Especially for long living embedded systems,…

Defining Continuous Planning through a Multiple-Case Study

New and innovative approaches that support continuous development and planning throughout organisations are needed. Continuity is required in all levels of an organisation, from business strategy and planning to software development and operational deployment, as well as between these levels. Continuous planning is one of these activities. However, continuous planning is not commonly adopted and…

“I just cursed and opened a beer”: Explaining Mobile Users’ Non-Complaining Behavior Through Coping

Many users experience frustrating incidents with mobile applications. However, most users do not complain about their highly negative incidents to the application providers. Such dissatisfied non-complainers cause damage to application providers: they tend to exit, switch, and spread negative word-of-mouth. Therefore, it is important to understand why mobile users do not complain about their highly…

Use of a Semantic Language to Reduce the Indeterminacy in Agents Communication

In the field of agent communications uncertainty and vagueness in the message content and in the achievable results play a primordial role when two agents (human or artificial) communicate. Even though the importance of vagueness and uncertainty has been recognized long ago, only recently mechanisms related to the communications’ semantics that allow a practical approach…

Towards Customer-Centric Software Development: A Multiple-Case Study

Customer involvement in software development is essential for building successful software products. Incremental improvements and enhancements of software require an in-depth and continuous understanding of customer needs. Also, mechanisms for managing customer feedback data need to be in place. However, previous research shows that the feedback loops from customers are slow and the process for…

Transition of software maintenance teams from Scrum to Kanban

Software companies are increasingly moving to use Kanban after Scrum since Kanban claimed to offer improved project visibility, software quality, team motivation, communication and collaboration. However, empirical studies are needed to verify these effects and companies’ real motivation for the transition. In particular, underlying reasons leading software companies to start using Kanban in software maintenance…

Empower a Team’s Product Vision with LEGO® SERIOUS PLAY®

This paper investigates how software development teams and their products can be influenced by the use of service design tools. More specifically, a case study incorporating LEGO® SERIOUS PLAY® workshops was conducted in collaboration with Steeri Oy, a company that develops customer relationship software. Two workshops were held with two different software development teams, with…

Metrics Framework for Cycle-Time Reduction in Software Value Creation: Adapting Lean Startup for Established SaaS Feature Developers

Agile software development methodologies driving cycle-time reduction have been shown to improve efficiency, enable shorter lead times and place a stronger focus on customer needs. They are also moving the process development focus from cost-reduction towards value creation. Optimizing software development based on lean and agile principles requires tools and metrics to optimize against. We…

Experiences with Service Design Tools for Visualising and Prototyping Innovations

Service design is a means for producing innovations by thoroughly understanding the problem space, and developing creative solutions. Though the literature describes a service design process and an accompanying set of tools to use in practice, the link between the two is not well-de ned and a cts the wider adoption of service design practices. This paper examines a multidisciplinary service design project that…

A Mapping Study on Requirements Engineering in Agile Software Development

Agile software development (ASD) methods have gained popularity in the industry and been the subject of an increasing amount of academic research. Although requirements engineering (RE) in ASD has been studied, the overall understanding of RE in ASD as a phenomenon is still weak. We conducted a mapping study of RE in ASD to review…

Refactoring-a Shot in the Dark?

A study performed semistructured interviews of 12 seasoned software architects and developers at nine Finnish companies. Its main goals were to find out how the practitioners viewed the role and importance of refactoring, and how and when they refactored. Another goal was to see whether shortened cycle times and, especially, continuous-deployment practices affected how and…

Developing a High Capacity Network Gateway with LeSS

At the end of 2007 we started having a discussion how to build a high capacity network gateway from scratch. We faced two fundamental risks. First, the technology was completely new and has never been used before in Nokia Siemens Networks (now Nokia Networks). Second, the use cases for first commercial deployments were not completely…

Knowledge transfer in collaborative teams: experiences from a two-week code camp

Software engineering has both technological and social dimensions. As development teams spanning across the globe are increasingly the norm and while the web enables massive online collaboration, there is a growing need for effective collaboration tools. In this paper, we describe experiences on collaborative programming as a tool for learning software development. To investigate the…

Cloud Computing and Transformation of International E-Business Models

Business model has been regarded as a vehicle that closes the gap between the abstract and the practice within strategic management and international business. Despite this, our knowledge of how international business models are created or transformed has remained elusive and empirical research on the topic remains rare. By revisiting the Internet internationalization and e-business…

Overcoming Challenges in Agile User Experience Work Cross-Case Analysis of Two Large Software Organizations

User experience (UX) has become an increasingly important factor in the success or failure of software systems. However, established agile practices for ensuring desired UX of the software under development are largely missing. Consequently, companies are facing problems in conducting UX work in agile development. This paper contributes towards understanding those problems and developing means…

Towards a Multi-Objective ACS Algorithm to Optimize Cost, Performance, and Reliability in the Cloud

In this paper, we present a novel Multi-Objective Ant Colony System algorithm to optimize Cost, Performance, and Reliability (MOACS-CoPeR) in the cloud. The proposed algorithm provides a metaheuristic-based approach for the multi-objective cloud-based software component deployment problem. MOACS-CoPeR explores the search-space of architecture design alternatives with respect to several architectural degrees of freedom and produces…

Improving UX Work in Scrum Development: A Three-Year Follow-Up Study in a Company

This paper presents a three-year follow-up study considering the improvement process of user experience work in a software company utilizing Scrum. Problems encountered in the organization included managing the product vision, timing of UX, lack of cooperation among disciplines, and understanding user needs. We also observed changes in the organization over two years. They included…

A Mapping Study on Bayesian Networks for Software Quality Prediction

Bayesian Networks (BN) have been used for decision making in software engineering for many years. We investigate the current status of BNs in predicting software quality in three aspects: 1) techniques used for parameter learning, 2) techniques used for structure learning, and 3) type of variables that represent BN nodes. We performed a systematic mapping…

Automatic Performance Space Exploration of Web Applications

Web applications have become crucial components of current service-oriented business applications. Therefore, it is very important for the company’s reputation that the performance of a web application has been tested thoroughly before deployment. We present a tool-supported performance exploration approach to investigate how potential user behavioral patterns affect the performance of the system under test….

Continuous User Experience Development

Continuous approaches for software engineering such as continuous planning, development, and operations are becoming increasingly popular in agile software companies. It means that also user-centered design practitioners and practices need to adapt to both possibilities and challenges the increasingly rapid and more tightly integrated software engineering environment induces. Such issues include planning continuously throughout the…

Antecedents of business model scalability

Cloud technology is increasingly becoming the core of the firms’ business strategy. The rapid pace of technological development within web technologies has opened up a multiplicity of ever-changing business opportunities to be explored and exploited with various business models. In line with this, Lee & Whang (2001) discuss that e-business enabled opportunities and business models…

Toward an Ecosystemic Business Model in the context of Industrial Internet

This conceptual paper discusses the emerging theme of Industrial Internet and business models within the context of digital business. Industrial Internet under the Internet of Things (IoT) paradigm connects the digital world with the physical one. Industrial Internet can be understood as a layered business ecosystem and hence, the business models within the context should…

Enacting the future through future-oriented business models

Creating robust and resilient strategies has become a critical issue for companies in today’s dynamic, volatile, disruptive, and competitive business environments and turned managers’ and researcher’ attention to action. Today, business model has established its position among the popular forward-looking managerial tools  and the discussion on creating and transforming business models has gained interest increasingly….

A Systematic Review of API Usability Evaluation Methods

An Application Programming Interface (API) provides a programmatic interface to a software component that is often offered publicly and is used by other programmers beyond its original develops. APIs are the key element in software reuse. By reusing high quality components and services, developers can increase their productivity and avoid costly defects. The usability of…

Continuous Strategy Process in the context of Software Development

This paper introduces and elaborates the concept of continuous strategy with an aim to better address the fluxing reality and challenges of contemporary strategizing within the field of software development. Theoretically the paper draws on the strategy process and practice -literature and on the literature on agile and lean software development when conceptualizing continuous strategy….

Enabling Continuous Planning and Development with Horizontal Model

This study addresses the lack of knowledge in software continuous planning and development under the circumstance of multiple product categories, by expanding the focus of developing single product to managing product portfolios with different priorities. The paper investigates how software companies can achieve various benefits when dividing their product development practices into the Horizontal model…

DevOps: A Definition and Perceived Adoption Impediments

As the interest in DevOps continues to grow, there is an increasing need for software organizations to understand how to adopt it successfully. This study has as objective to clarify the concept and provide insight into existing challenges of adopting DevOps. First, the existing literature is reviewed. A definition of DevOps is then formed based…

UX Work in Startups: Current Practices and Future Needs

Startups are creating innovative new products and services while seeking fast growth with little resources. The capability to produce software products with good user experience (UX) can help the startup to gain positive attention and revenue. Practices and needs for UX design in startups are not well understood. Research can provide insight on how to…

Why the Development Outcome Does Not Meet the Product Owners’ Expectations?

Many software development projects fail due to problems in requirements, scope, and collaboration. This paper presents a case study of the mismatch between the expectations of Product Owners and the outcome of the development in a large distributed Scrum organization. The data was collected in retrospective meetings involving a team of Product Owners and two…

Transitioning Towards Continuous Delivery in the B2B Domain: A Case Study

Delivering value to customers in real-time requires companies to utilize real-time deployment of software to expose features to users faster, and to shorten the feedback loop. This allows for faster reaction and helps to ensure that the development is focused on features providing real value. Continuous delivery is a development practice where the software functionality…

Software Development as an Experiment System: A Qualitative Survey on the State of the Practice

An experiment-driven approach to software product and service development is gaining increasing attention as a way to channel limited resources to the efficient creation of customer value. In this approach, software functionalities are developed incrementally and validated in continuous experiments with stakeholders such as customers and users. The experiments provide factual feedback for guiding subsequent…

Continuous Strategy Process in the context of Agile and Lean Software Development

This extended abstract introduces an ongoing research which elaborates the concept of continuous strategy with an aim to better address the contemporary challenges of strategy process within the field of software development. Theoretically the research draws on the strategy process and practice -literature and on the literature of agile and lean software development when conceptualizing…

Scaling Agility or Bureaucracy

There are two very different strategies in adopting Agile in a large organisation, horizontal or vertical. In other words, you may take one product first with narrow and deep focus. Or you may focus on the vertical coordination layer, which is often perceived as The Scaling Problem. First we look into the fascinating world of control,…

Developing a High Capacity Network Gateway with LeSS

At the end of 2007 we started having a discussion how to build a high capacity network gateway from scratch. We faced two fundamental risks. First, the technology was completely new and has never been used before in Nokia Siemens Networks (now Nokia Networks). Second, the use cases for first commercial deployments were not completely…

Merits of Organizational Metrics in Defect Prediction: An Industrial Replication

Defect prediction models presented in the literature lack generalization unless the original study can be replicated using new datasets and in different organizational settings. Practitioners can also benefit from replicating studies in their own environment by gaining insights and comparing their findings with those reported. In this work, we replicated an earlier study in order…

Sharing Data and Models in Software Engineering

Sharing Data and Models presents guidance and procedures for reusing data and models between projects to produce results that are useful and relevant. Starting with a background section of practical lessons and warnings for beginner data scientists for software engineering, this edited volume proceeds to identify critical questions of contemporary software engineering related to data…

Model-based testing of software systems : functionality and performance

Software is a key component in many of our devices and products that we use every day. Most customers demand not only that their devices should function as expected but also that the software should be of high quality, reliable, fault tolerant, efficient, etc. In short, it is not enough that a calculator gives the…

Effectuation and foreign market entry of entrepreneurial firms

The purpose of this study is to examine the decision-making process for entrepreneurial firms when entering foreign markets and how and why they entered those markets. Design/methodology/approach – A nascent theory in entrepreneurship called effectuation is combined with internationalization process theory as the conceptual framework to study decision-making under uncertainty. The central concept in both…

Scaling Kanban for Software Development in a Multisite Organization: Challenges and Potential Solutions

In software development organizations, large-scale distributed projects pose many challenges, such as hierarchical requirements, large team size, and managing workflow. Agile methods, like Scrum, seem to have limitations in addressing those issues. Kanban offers an interesting alternative in this concern by setting work-in-progress (WIP) limits to manage flow and establishing visibility of requirements using a…

Representing and Configuring Security Variability in Software Product Lines

In a software product line, security may need to be varied. Consequently, security variability must be managed both from the customer and product line architecture point of view. We utilize design science to build an artifact and a generalized design theory for representing and configuring security and functional variability from the requirements to the architecture…

Stakeholder Perceptions of the Adoption of Continuous Integration – A Case Study

Continuous integration is an important support mechanism for fast delivery of new features. However, its adoption in industry has often been problematic, partly due to social challenges. However, there is little knowledge of the exact nature of the challenges, and how different stakeholders perceive the need for and adoption of continuous integration. In this paper,…

Review LeSS and SAFe Agile scaling approaches at Nokia

Both Large-Scale Scrum (LeSS) and Scaled Agile Framework (SAFe) have a history with Nokia and use it as a reference. What most people do not realize, is that Nokia was two big loosely coupled companies. LeSS was and is mostly used at Nokia Networks (now still called Nokia Networks) side while SAFe was mostly used…

Onboarding in Open Source Software Projects: A Preliminary Analysis

Nowadays, many software projects are partially or completely open-source based. There is an increasing need for companies to participate in open-source software (OSS) projects, e.g., in order to benefit from open source ecosystems. OSS projects introduce particular challenges that have to be understood in order to gain the benefits. One such challenge is getting newcomers onboard into the projects effectively….

Challenges of ICT companies in lean transformation

Current business environment is very turbulent requiring companies to adapt to changes. Many enterprises consider a fundamental change – transformation – in order to benefit from the opportunities and to respond to the challenges of the ever changing business environment. At the same time, interest in lean thinking has grown in industries and research communities. Lean paradigm is assessed as a…

Towards systemic evaluation of IT business value

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 aims to analyse the focal characteristics of IT business value evaluation and to conceptualise their integration as a systemic evaluation approach. The systemic approach combines concepts of goal driven perspective…

Designing a data management pipeline for pervasive sensor communication systems

Pervasive sensor systems offer unbounded possibilities for monitoring and tracking objects, machines, and spaces. To maximize the benefit from a sensor system, sensor data requires efficient preprocessing and analysis. Big data techniques make distributed processing of huge amounts of data fast and cost-effective, making them a practical necessity for sensor data. However, the real-time requirements…

The Theoretical Landscape of Service Design

This conference paper discusses the theoretical landscape of service design. It will illustrate how service design is situated in a discourse on design research and outline the theoretical background of this multidisciplinary approach from a constructive and generative research perspective. In this paper, the foundation for the conceptual service design framework is based on current…

The Linkages of Networked Business Models in KIBS Companies

The goal of this study is to examine how the business models belonging to a same network are linked together and what implications do these linkages have to the business models of each company. The data for the case study was collected via interviews in the parent company, one spin-off company and two related start-up…

Continuous planning: an important aspect of agile and lean development

Continuous planning is a relatively new and not yet fully studied field of research, especially from the perspective of agile and lean development organisations. To augment the knowledge in this field, this article presents both a literature review and empirical findings from three case studies that reveal how companies conduct continuous planning. The results indicate…

Performance Monitor Based Power Management for big.LITTLE Platforms

Recently new heterogeneous computing architectures, coupling low-power low-end cores with powerful, power-hungry cores, appeared on the market. From a power management point of view, and compared to traditional homogeneous multi-core architectures, such architectures provide one more variable: the core type to map applications on. At the same time conventional power managers drives the DVFS mechanism…

Execution of Dataflow Process Networks on OpenCL Platforms

The trend in computing systems is to combine various kinds of processing elements (PEs) to build more parallel architectures. This trend leads to more heterogeneous computing systems, for which abstractions are needed to efficiently program the systems without increasing the programming cost. This has lead to new programming languages and application programming interfaces (APIs). Parallel…

Design and Validation of Stateful Composite RESTful Web Services

A web service is a software system that provides a machine-processable interface to the other machines over the network using different Internet protocols. They are being increasingly used in the industry in order to automate different tasks and offer services to a wider audience. The REST architectural style aims at producing scalable and extensible web…

Software development as a decision-oriented process

Developing software systems is a challenging business with short development cycles, changing needs, and unstable processes. Processes must deliver products that meet the customer needs and provide value for the stakeholders. There is no one way of achieving the development goals; instead, alternative routes should be possible within the boundaries of acceptable performance. Software development…

Impact of process conformance on the effects of test-driven development

Context: One limitation of the empirical studies about test-driven development (TDD) is knowing whether the developers followed the advocated test-code-refactor cycle. Research dealt with the issue of process conformance only in terms of internal validity, while investigating the role of other confounding variables that might explain the controversial effects of TDD. None of the research…

Lessons learned on applying design science for bridging the collaboration gap between industry and academia in empirical software engineering

Collaboration between industry practitioners and researchers has been reported as a challenge to conduct empirical studies in software engineering. Gaining practitioners interest in research activities is challenging in the software development industry characterized by tough competition and short time-to-market. Often, practitioners do not see the direct value in collaborating with researchers. Meanwhile, researchers are frequently…

On the Socio-Technical Dependencies in Free/Libre/Open Source Software Projects

During the course of the past two decades, Open Source Software (OSS) development model has lead to a number of projects which have produced software that rivals and in some cases even exceeds the scale and quality of the traditional software projects. Among others, Eclipse, Apache, Linux, and BSD operating system are representative examples of…

Essential Properties of Open Development Communities. Supporting Growth, Collaboration, and Learning

Open development has emerged as a method for creating versatile and complex products through free collaboration of individuals. This free collaboration forms globally distributed teams. Similarly, it is common today to view business and other human organizations as ecosystems, where several participating companies and organizations co-operate and compete together. For example, open source software development…

A Practical Application of UPPAAL and DTRON for Runtime Verification.

We present our experience in applying runtime verification to a real-time system using UPPAAL timed automata and a set of related tools. We discuss the benefits and limitations,and propose a concrete solution to address the latter. Using the resulting solution we are able to run quick validation cycles as well as more thorough ones depending…

TRON2UPPAAL Backtracer Tool – From TRON Logs to UPPAAL Traces

UPPAAL TRON is a tool for on-line black-box conformance testing of real-time systems. Typically, the model-based specifications are edited, simulated, and verified in the UPPAAL model-checker and, later on, used in UPPAAL TRON for testing the Implementation Under Test (IUT). Whenever a non-conformance is detected between the specifications and IUT, a failed or inconclusive verdict…

Architecture management and evaluation in mature products: experiences from a lightweight approach

Software architecture evaluation is an essential part of architecture management and a means to uncover problems and increase confidence in the capability of the software architecture in fulfilling the most critical requirements. Architecture evaluation is typically carried out at an early stage of a software development. However, development efforts are often related to further development…

Examining the Structure of Lean and Agile Values among Software Developers

Gaining maximum benefit of Lean and Agile methods requires a thorough understanding of their assumptions regarding culture, mindset, and values. This paper examines the value system structure of experienced developers working with Lean and Agile methods, and compares it to universal human values and individual personality. We developed and deployed an online survey on Lean…

Examining the Linkages of Networked Business Models in KIBS-Companies

The goal of this study is to examine how the business models of KIBS-companies belonging to the same network are linked together and what implications do these linkages have to the business models of each company. The data for the case study was collected via interviews in the parent company, one spin-off company and two…

Building blocks for continuous experimentation

Development of software-intensive products and services increasingly occurs by continuously deploying product or service increments, such as new features and enhancements, to customers. Product and service developers need to continuously find out what customers want by direct customer feedback and observation of usage behaviour, rather than indirectly through up-front business analyses. This paper examines the…

Network Analysis of Platform Ecosystems: The Case of Internet of Things Ecosystem

Software platform providers are often seen as the cornerstone of their business ecosystem, where the other ecosystem players utilize the platform’s standardized components together with complementary components for making applications. These platforms are also becoming a cornerstone of the emerging Internet of Things (IoT) business ecosystem comprised of the companies who provide Internet-enabled devices, applications,…

Hitting the Target: Practices for Moving toward Innovation Experiment Systems

The benefits and barriers that software development companies face when moving beyond agile development practices are identified in a multiple case study in five Finnish companies. The practices that companies need to adopt when moving towards innovation experiment systems are recognised. The background of the study is the Stairway to Heaven (StH) model that describes the path that many software…

Top management support in software cost estimation: A study of attitudes and practice in Finland

Purpose A cost estimate is considered to have a high impact on software project success. Because of this, different methodologies for creating an accurate estimate have been studied over decades. Many methodologies produce accurate results, when used properly. However, software projects still suffer from inaccurate estimates. The disparity may result from organisational hindrances. This paper…

Case studies on release planning in agile development organizations

The goal of software release planning is to plan the appropriate scope for the next release while taking into account the availability of resources, the priorities of the candidate require-ments and any other factors and constraints that affect the requirements selection. Previous research on release planning has focussed on algorithmic, model-based solutions that expect the…

Why Buy Virtual Helmets and Weapons? Introducing a Typology of Gamers

Nowadays, a huge number of individuals purchase virtual items in constantly growing service environments: online game communities. Some researchers have studied gamers’ motivations to purchase virtual game items in general, but no one has separated different gamer types regarding their purchasing motivations. Understanding different gamer types is important because gamers may purchase the same virtual…

Locality-Sensitive Hashing for Massive String-Based Ontology Matching

This paper reports initial research results related to the use of locality-sensitive hashing (LSH) for string-based matching of big ontologies. Two ways of transforming the matching problem into a LSH problem are proposed and experimental results are reported. The performed experiments show that using LSH for ontology matching could lead to a very fast matching…

Twister Tries: Approximate Hierarchical Agglomerative Clustering for Average Distance in Linear Time

Many commonly used data-mining techniques utilized across research fields perform poorly when used for large data sets. Sequential agglomerative hierarchical non-overlapping clustering is one technique for which the algorithms’ scaling properties prohibit clustering of a large amount of items. Besides the unfavorable time complexity of O(n2), these algorithms have a space complexity of O(n2), which…

Performance Alignment Work: How Software Developers Experience the Continuous Adaptation of Team Performance in Lean and Agile Environments

Context Companies increasingly strive to adapt to market and ecosystem changes in real time. Gauging and understanding team performance in such changing environments present a major challenge. Objective This paper aims to understand how software developers experience the continuous adaptation of performance in a modern, highly volatile environment using Lean and Agile software development methodology….

The relationship between business model experimentation and technical debt

The use of lean software development methodology and business model experimentation has become popular in software companies in recent years. Business model experimentation is used to validate assumptions made on a product from real customers before the actual product is created. A minimum viable product is used to test the business model by gathering and…

Customer Feedback System Evolution towards semantically-enhanced systems

The digital economy requires services be created in nearly real time – while continuously listening to the customer. Managing and analysing the data collected about products and customers become very critical. Successful companies must collect data regarding customer behaviour in a sensible manner, understand their customers and engage in constant interaction with them. Nowadays, having…

Automatizing Android Unit and User Interface Testing

In this paper we describe our efforts moving towards automatized testing in Android application development. With sophisticated combination of Android development tools and Perl scripts, we have au- tomatized parts of the testing produce. Using the built system, unit tests are built and run automatically each time when a new build is created. In addition,…

The Load Balancer in a Cloud Environment

The thesis was assigned by N4S@JAMK, a project within JAMK University of Applied Sciences. N4S@JAMK is also a part of research project DIGILE. N4S adopts a real-time experimental business model based upon deep customer insight. The aim of this thesis was to explore the operation of the load balancer in a cloud environment, find out…

Model-based acceptance testing as a part of continuous delivery : Case: Contriboard

The thesis was assigned by N4S@JAMK project within JAMK University of Applied Sciences. The documentation was published as one contribution from JAMK to Digile’s Need for Speed research program. The thesis focused on exploring how model-based acceptance testing could be implemented into a continuous delivery chain Corolla v1.1 and used in its reference product Contriboard….

Rapid design using web based UI design tools : Case: Contriboard

The thesis is assigned by JAMK University of Applied Sciences and Digile Need for Speed Program (N4S). N4S Program acts as an accelerator for a new ways of working from Agile and Lean development to Real-time Delivery. The program focuses on research in three areas: real time value delivery, deep customer insight and mercury business…

Empirical Challenges in the Implementation of IT Portfolio Management: A Survey in Three Companies

The study explores the implementation challenges of Information Technology (IT) portfolio management in three companies. The portfolio approach to IT assets is significant for enabling organisations to make effective use of limited resources by prioritising IT initiatives and also for monitoring and evaluating their performance. In practice, the process facilitates the provision of necessary information…

Dimensions of DevOps

DevOps has been identified as an important aspect in the continuous deployment paradigm in practitioner communities and academic research circles. However, little has been presented to describe and formalize what it constitutes. The absence of such understanding means that the phenomenon will not be effectively communicated and its impact not understood in those two communities….

Towards Post-Agile Development Practices Through Productized Development Infrastructure

Modern software is developed to meet evolving customer needs in a timely fashion. The need for a rapid time-to-market together with changing requirements has led software intensive companies to utilize agile development, where each iteration aims at producing end-user value and change is embraced. In today’s post-agile software development world, there is a need for processes and tools that deliver new…

Mashing Up Software Management, Development and Usage Data

Modern software development approaches rely extensively on tools. Motivated by practices such as continuous integration, deployment and delivery, these tools are used in a fashion where data is automatically accumulated in different databases as a side-effect of everyday development activities. In this paper we introduce an approach for software engineering data visualization as a mashup that combines data from issue management, software…

Lean Solutions to Software Product Management Problems

Although the discipline of software product management plays an important role in the development of successful products, each company adopts its practices in its own way. Regardless of variations, companies face common problems. This article identifies five problems that lean principles to software product management can help organizations avoid or solve. Andrey Maglyas, Uolevi Nikula,…

The implications of disk-based RAID and virtualization for building a platform for write-intensive services

Many data-intensive services exist, which create value for different stakeholders. Examples include mobile data analytics services, sensors collecting information for energy management of residences, or network equipment collecting data at high speed for traffic analysis. Such services impose performance requirements for the platform, which is used for implementation of data processing functionalities. This paper focuses…

Using Ant Colony System to Consolidate VMs for Green Cloud Computing

High energy consumption of cloud data centers is a matter of great concern. Dynamic consolidation of Virtual Machines (VMs) presents a significant opportunity to save energy in data centers. A VM consolidation approach uses live migration of VMs so that some of the under-loaded Physical Machines (PMs) can be switched-off or put into a low-power…

Performance Variability in Software Product Lines: Building Theories from a Case Study

In the software product line research, product variants typically differ by their functionality and quality attributes are not purposefully varied. The goal is to study purposeful performance variability in software product lines, in particular, the motivation to vary performance, and the strategy for realizing performance variability in the product line architecture. The research method was…

Visualizations for Software Analytics

Collecting data from software engineering process as well as from end users is a current trend in software industry. The datasets collected can be large and complex. Better understanding of the data and causes behind the data can be achieved in many different ways. Automated data mining systems are one approach for knowledge discovery but also visualizations methods are widely…

The benefits and consequences of workarounds in software development projects

Workarounds have been with software from the beginning. Being a formalized collection of knowledge rather than a physical artifact, software allows shortcuts in its development process. They serve various purposes like releasing the product to the market faster or postponing the solution of a problem. In this article, we present our findings from the use…

Adoption and Use of Cloud-based Testing in Practice

This qualitative study addresses the adoption, utilization and effects of cloud-based testing in different organizational contexts. We approached the research problem by conducting thirty-five interviews with professionals in 20 organizations and applied grounded theory as the research method. The results indicate that cloud-based testing provides viable solutions to meet the testing needs within organizations. Cloud-based…

Evaluating and managing technical debt in software development lifecycle

Increasing competition within software industry is forcing companies to develop their products faster to market in order to acquire customers. Balancing the idea of releasing poor-quality software early or high-quality after deadline is challenging for companies. Taking shortcuts and workarounds in development can give companies the needed speed to release their product in time. However,…

From Product Roadmapping towards Continuous Planning: Changing the Ways of Planning

In recent few years, the adoption of agile and lean development practices has increased remarkably. However, this is not the end, new and innovative approaches that support continuous practices are needed. Continuity is required in all the levels of the organisation; from business strategy and planning to software development and thereafter to operational deployment, as…

The Sources and Approaches to Management of Technical Debt: A Case Study of Two Product Lines in a Middle-Size Finnish Software Company

Fierce competition in the software market forces companies to release their product under tough time constraints. The competition makes companies reactive and they need to release new versions often. To achieve this need for speed, companies take shortcuts to reach deadlines. These shortcuts and resulting omitted quality are called technical debt. We investigated one middle-size…

Developing a measure for business model innovation capability

Business model innovation is a contemporary research topic that has gathered considerable interest from both practitioners and academics. Thus far, this increasingly important, cross-disciplinary stream of research has consisted mainly of exploratory, conceptual or case-based empirical approaches. The goal of this paper is to develop a multi-item construct for measuring the business model innovation capability of companies in quantitative studies….

The role of mentoring and project characteristics for onboarding in open source software projects

Context: Onboarding is a process that helps newcomers become integrated members of their organisation. Successful onboarding programs can result in increased performance in conventional organisations, but there is little guidance on how to onboard new developers in Open Source Software (OSS) projects. Goal: In this study, we examine how mentoring and project characteristics influence the…

How do software developers experience team performance in lean and agile environments?

Context: Companies increasingly strive to adapt to market and ecosystem changes in real time. Evaluating team performance in such changing environments presents a major challenge. Objective: This paper aims to understand how software developers experience performance in a highly volatile environment. This understanding could be used as a basis for guiding formation and maintenance of…

Trying to change company culture is a fool’s errand

Culture is an end result, much like cake. A cake is an end result of the recipe. To make great cake we don’t fix the finished cake, we fix the recipe. As a result we get better cake. Similarly, there’s a recipe for company culture and that recipe will, given enough time, overwrite all other…

The Case Against Scaling

Scaling Agile methods has become a hot topic recently. Several alternatives are available and large organizations are keen to see how they could make groups of 100+ or 1000+ to be more agile and deliver as forecasted. But what if we are solving the wrong problem? What if it is not about scaling Agile to…

Operational Release Planning in Large-Scale Scrum with Multiple Stakeholders – A Longitudinal Case Study at F-Secure Corporation

Context: The analysis and selection of requirements are important parts of any release planning process. Previous studies on release planning have focused on plan-driven optimization models. Unfortunately, solving the release planning problem mechanistically is difficult in an agile development context. Objective: We describe how a release planning method was employed in two case projects in…

Experience Design in Digital Services

The aim of this article is to construct a conceptual framework for a discussion of experience design in the field of digital services. The focus is on service design and service design research with the aim of developing working tools to gain and concretize a holistic customer experience (deep customer insight) in everyday and real-time…

Teaching Students Scrum using LEGO Blocks

In this paper, we present a LEGO-based Scrum simulation game that we used twice with Master’s level students at Aalto University. The game was initially developed as an internal training tool in F-Secure Corporation, a Finnish security software company, to support their agile adoption. In the game, student teams learn the Scrum roles, events and…

A Structured Approach to Architecting Fault Tolerant Services

Service-oriented computing offers an attractive paradigm to designing complex composite services by assembling readily-available services. The approach enables rapid service development and significantly increases productivity of the development. However, it also poses a significant challenge in ensuring quality of created services and in particular their fault tolerance. In this paper, we propose a systematic approach…

The Role of Platform Boundary Resources in Software Ecosystems: A Case Study

The success of software ecosystems highly depends on the variety and quality of end-user applications. Therefore, attracting third-party developers and facilitating application development is crucial. Platform boundary resources enable third party developers to create the applications. Thus, the platform boundary resources expose and extend the platform architecture. We conducted an industrial case study on third-party developer experience, particularly on the role…

Meeting Scheduling Across Heterogeneous Calendars and Organizations Utilizing Mobile Devices and Cloud Services

Finding a suitable time for a meeting is a common practical problem. The existing software solutions either cannot be used across heterogeneous calendar systems and organizations, or require manual effort and waiting. We employ design science to study how meetings can be scheduled over organizational and calendar system boundaries; the scheduling should be effortless while ensuring the user…

Experiences with Prototyping as a Service Design Method to Explore User Needs

An increasing number of services is mainly provided through digital channels and thus, implemented as software. Nevertheless, many companies struggle with developing digital services that are considered valuable by the users. Recently, service design has emerged as an approach to design better customer experience for services. We describe our experiences with a service design approach,…

Product-Focused Software Process Improvement

Since 1999, PROFES has established itself as one of the recognized interna- tional process improvement conferences. The main theme of PROFES is profes- sional software process improvement (SPI) motivated by product, process, and service quality needs. PROFES 2014 addressed both quality engineering and management topics, including processes, methods, techniques, tools, organiza- tions, and enabling SPI….

The Challenges of Joint Solution Planning: Three Software Ecosystem Cases

Software ecosystems are increasingly involving multiple companies to collaboratively propose value for an end user. When planning a joint solution however, there are challenges for companies. In this paper, we study the experience of joint solution planning in three different kinds of ecosystem settings, highlighting the nature of collaboration and the challenges that arise. The…

Resources-in-context – the framing approach

Academic research on resources has long traditions. One of the earliest works on the subject is Malthus’ (1798) analysis of world resources. For him ‘resources’ referred to natural resources that were static and to be captured for an advantage. These kinds of resources were considered scarce and with the increasing population growth estimated to come to an end…

Cost-Efficient, Utility-Based Caching of Expensive Computations in the Cloud

We present a model and system to decide on computing versus storing tradeoffs in the Cloud using von Neumann-Morgenstern lotteries. We use the decision model in a video-on-demand system providing cost-efficient transcoding and storage of videos. Video transcoding is an expensive computational process that converts a video from one format to another. Video data is large enough to cause concern…

Organizational Learning in Cloud and Lean Transformation

Today, the cloud phenomenon is challenging companies’ product and service development and also their business and revenue models. Many companies are in the middle of a fundamental change –transformation – in order to benefit from the opportunities that the cloud offers. At the same time, interest in lean thinking has grown in industries and research communities. Lean…

The role of international experience in business models of SMEs – evidence from software companies

This paper examines the role of international experience in value creation in business models in internationalising software SME’s. While business models as such have been subject to extensive research their study in the context of international entrepreneurial firms has remained scant. The empirical part of the paper focuses on eight Finnish international entrepreneurial software companies. The findings suggest that…

Software Startup Patterns – An Empirical Study

This report gives an account of the results of a joint research effort between Tampere University of Technology, Department of Pervasive Computing and University of Applied Sciences and Arts Northwestern Switzerland, School of Engineering. The research was integrated with a seminar participated by PhD students at TUT. The aim was to identify working practices in…

Institutional pluralism as a driver for innovation

Recent research points to a service-based and systemic understanding of innovation in which focus is on the shared value co-creation practices shaped collaboratively by many actors. This research seeks to understand where and how new value co-creation practices emerge. Institutional pluralism, or the diversity of rules, norms and schemas that constrain and guide human action, offers the basis for answering…

Transcending the division of ‘economic’ and ‘social’ innovation

This paper aims to transcend the division of ‘economic’ and ‘social’ innovations by drawing from the emerging service ecosystem perspective. This view has three fundamental implications on innovation. First, it offers unifying basis for considering all human collaboration as value co-creation through direct and indirect service exchange. Second, it portrays innovation not as a novel output, but as an institutional…

What are hackathons for?

A swift execution from idea to market has become a key competitive advantage for software companies to enable them to survive and grow in turbulent business environments. Companies have begun to use hackathons to combat this challenge. A hackathon is a highly engaging, continuous event where people in small groups produce working software prototypes in…

Using Answer Set Programming for Feature Model Representation and Configuration

Feature models are a wide-spread approach used for expressing variability in software product lines. Answer set programming (ASP) is nowadays an increasingly popular approach to configuration knowledge representation. In this paper, we study the similarities between feature modeling and configuration knowledge representation with ASP. We define the feature configuration problem utilizing ASP, and show two different ways using an example of…

An Automated Approach for Creating Workload Models From Server Log

We present a tool-supported approach for creating workload models from historical web access log data. The resulting workload models are stochastic, represented as Probabilistic Timed Automata (PTA), and describe how users interact with the system. Such models allow one to analyze different user profiles and to mimic real user behavior as closely as possible when generating workload. We…

Integrating Event-B Modelling and Discrete-Event Simulation to Analyse Resilience of Data Stores in the Cloud

Ensuring resilience of large data stores in cloud is a challenging engineering issue. It requires the development techniques that allow the designers to predict the main resilience characteristics — fault tolerance and performance — at the early design stages. In this paper, we experiment with integrating Event-B modelling with discrete-event simulation. Event-B allows us to…

Tool Support for Automated Workload Model Creation from Web Server Logs

We present a tool-supported approach on creating load models that can be used for performance testing. The models are created automatically from historical web access log data. The result is a stochastic model represented by Probabilistic Timed Automata (PTA) and describes how users interact with a system. Stochastic models have more advantages over traditional models…

An Integrated Approach for Designing and Validating REST Web Service Compositions

We present an integrated approach to design and validate RESTful composite web services. We use the Unified Modeling Language (UML) to specify the requirements, behavior and published resources of each web service. In our approach, a service can invoke other services and exhibit complex and timed behavior while still complying with the REST architectural style….

Software development methods and quality assurance: Special focus on South Korea

South Korea is well-known for big global hardware companies and now software companies are ready to follow. The purpose of this study was to explore software development methods and quality assurance practices used by South Korean software industry. Empirical data was collected by conducting a survey that focused on three main parts: software life cycle…

What limits the speed of Continuous Deployment?

A round of interviews is being conducted to determine the state-of-the-practice of the organizations participating in the program related to their software delivery and deployment capabilities. The interviews will help to determine those factors that contribute to a streamlined development process and those that limit the swiftness of software delivery. Marko Leppänen (Tampere University of…

From Agile Software Development to Mercury Business

The rapid downfall of the Nokia software ecosystem has radically altered the landscape of software industry in Finland in recent years. There has been a shift from largely corporate driven way of working, which is often dominant in large companies, to more agile practices, and in general software organizations are seeking new, leaner ways of composing, delivering, and using software…

Software Business: Towards Continuous Value Delivery

This book contains the refereed proceedings of the 5th International Conference on Software Business (ICSOB) held in Paphos, Cyprus, in June 2014. The theme of the event was “Shortening the Time to Market: From Short Cycle Times to Continuous Value Delivery.” The 18 full papers, two short papers, two industrial papers, and two doctoral consortium…