building blocks for continuous experimentation

35
www.helsinki.fi/ yliopisto Building Blocks for Continuous Experimentation Software Systems Engineering Research Group Alejandro Sánchez Guinea with Fabian Fagerholm, Hanna Mäenpää, and Jürgen Münch 03/06/14 Department of Computer Science Alejandro Sánchez Guinea Building Blocks for Continuous for Continuous Experimentation 1 3 June 2014 RCoSE workshop (collocated with ICSE’14)

Upload: juergen-muench

Post on 07-May-2015

301 views

Category:

Data & Analytics


2 download

DESCRIPTION

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 preconditions for setting up an experimentation system for continuous customer experiments. It describes the building blocks required for such a system. An initial model for continuous experimentation is analytically derived from prior work. The model is then matched against empirical case study findings from a startup company and adjusted. Building blocks for a continuous experimentation system and infrastructure are presented. A suitable experimentation system requires at least the ability to release minimum viable products or features with suitable instrumentation, design and manage experiment plans, link experiment results with a product roadmap, and manage a flexible business strategy. The main challenges are proper and rapid design of experiments, advanced instrumentation of software to collect, analyse, and store relevant data, and the integration of experiment results in both the product development cycle and the software development process.

TRANSCRIPT

Page 1: Building Blocks for Continuous Experimentation

1www.helsinki.fi/yliopisto

Building Blocks for Continuous Experimentation

Software Systems Engineering Research Group

Alejandro Sánchez Guinea

with Fabian Fagerholm, Hanna Mäenpää, and Jürgen Münch

03/06/14

Department of Computer ScienceAlejandro Sánchez GuineaBuilding Blocks for Continuous for Continuous Experimentation

3 June 2014

RCoSE workshop (collocated with ICSE’14)

Page 2: Building Blocks for Continuous Experimentation

www.helsinki.fi/yliopisto 2

• Motivation

• Research Goal

• Research Approach

• Context of Case Study

• Continuous Experimentation Model

• Case Study & Continuous Experimentation Model

• Summary and Future work

03/06/14

Department of Computer ScienceAlejandro Sánchez GuineaBuilding Blocks for Continuous for Continuous Experimentation

Overview

Page 3: Building Blocks for Continuous Experimentation

www.helsinki.fi/yliopisto 3

• Increasing number of companies are involved in developing software-intensive products and services

• digitalization in most industry sectors

• startup software companies

• Challenge: delivering value

• technical issues not the only main concern

• most solutions based on guesswork

• some generic approaches such as Lean Startup methodology (build-measure-learn cycle)

• Framework for Continuous Experimentation

is widely missing

03/06/14

Department of Computer ScienceAlejandro Sánchez GuineaBuilding Blocks for Continuous for Continuous Experimentation

Motivation

Page 4: Building Blocks for Continuous Experimentation

www.helsinki.fi/yliopisto 403/06/14

Department of Computer ScienceAlejandro Sánchez GuineaBuilding Blocks for Continuous for Continuous Experimentation

Research Goal

RQ How can Continuous Experimentation with software-intensive products and services be organized in a systematic way?

Continuous Experimentation model

Case Study

Page 5: Building Blocks for Continuous Experimentation

www.helsinki.fi/yliopisto 5

• Research based on design science research

• Initial continuous experimentation model constructed based on relevant literature and authors’ experience

• Matching model according to empirical observations and iterative adjustment of the model

• Case study analysis to ground the model in empirical observations

• Startup company (3 projects)

• Debriefing session after each project

• project team, customer representatives, and researchers analyze decisions and actions taken during the project

• Semi-structured interviews with company representatives

• gain insights on lessons learned and perceptions concerning the adoption of customer feedback for decision making

03/06/14

Department of Computer ScienceAlejandro Sánchez GuineaBuilding Blocks for Continuous for Continuous Experimentation

Research approach

Page 6: Building Blocks for Continuous Experimentation

www.helsinki.fi/yliopisto 6

• Small Finnish startup that develops a video calling solution for the home television set (Tellybean Ltd.)

• Single-product strategy: delivering a life-like plug and play video calling experience

• Main qualities marketplace: product affordability, accessibility, and ease of use.

• Three case projects

• Duration: 7 weeks each, # developers: 4 – 7 students

• First two projects same business strategy

• Third project after company had modified strategy and assumptions

03/06/14

Department of Computer ScienceAlejandro Sánchez GuineaBuilding Blocks for Continuous for Continuous Experimentation

Context of Case Study

Page 7: Building Blocks for Continuous Experimentation

www.helsinki.fi/yliopisto 7

• In the Software Factory at the Department of Computer Science of University of Helsinki Experimental Research and Development Laboratory

03/06/14

Department of Computer ScienceAlejandro Sánchez GuineaBuilding Blocks for Continuous for Continuous Experimentation

Context of Case Study

Page 8: Building Blocks for Continuous Experimentation

www.helsinki.fi/yliopisto 8

• Continuous cycle of experiments

• Repeated Build-Measure-Learn blocks

• Supported by an infrastructure

03/06/14

Department of Computer ScienceAlejandro Sánchez GuineaBuilding Blocks for Continuous for Continuous Experimentation

Continuous Experimentation Model

Page 9: Building Blocks for Continuous Experimentation

www.helsinki.fi/yliopisto 903/06/14

Department of Computer ScienceAlejandro Sánchez GuineaBuilding Blocks for Continuous for Continuous Experimentation

Build-measure-learn block

Continuous Experimentation Model

Page 10: Building Blocks for Continuous Experimentation

www.helsinki.fi/yliopisto 1003/06/14Building Blocks for Continuous for Continuous Experimentation

Build-measure-learn block

Page 11: Building Blocks for Continuous Experimentation

www.helsinki.fi/yliopisto 1103/06/14Building Blocks for Continuous for Continuous Experimentation

Build-measure-learn block

Build

Page 12: Building Blocks for Continuous Experimentation

www.helsinki.fi/yliopisto 1203/06/14Building Blocks for Continuous for Continuous Experimentation

Build-measure-learn block

Measure

Page 13: Building Blocks for Continuous Experimentation

www.helsinki.fi/yliopisto 1303/06/14Building Blocks for Continuous for Continuous Experimentation

Build-measure-learn block

Learn

Page 14: Building Blocks for Continuous Experimentation

www.helsinki.fi/yliopisto 1403/06/14

Department of Computer ScienceAlejandro Sánchez GuineaBuilding Blocks for Continuous for Continuous Experimentation

Infrastructure for Continuous Experimentation

Continuous Experimentation Model

Page 15: Building Blocks for Continuous Experimentation

www.helsinki.fi/yliopisto 1503/06/14Building Blocks for Continuous for Continuous Experimentation

Infrastructure for Continuous Experimentation

Page 16: Building Blocks for Continuous Experimentation

www.helsinki.fi/yliopisto 1603/06/14Building Blocks for Continuous for Continuous Experimentation

Infrastructure for Continuous Experimentation

Page 17: Building Blocks for Continuous Experimentation

www.helsinki.fi/yliopisto 1703/06/14Building Blocks for Continuous for Continuous Experimentation

Infrastructure for Continuous Experimentation

Page 18: Building Blocks for Continuous Experimentation

www.helsinki.fi/yliopisto 1803/06/14Building Blocks for Continuous for Continuous Experimentation

Infrastructure for Continuous Experimentation

Page 19: Building Blocks for Continuous Experimentation

www.helsinki.fi/yliopisto 19

Build-Measure-Learn Build-Measure-LearnBuild-Measure-Learn …

03/06/14

Department of Computer ScienceAlejandro Sánchez GuineaBuilding Blocks for Continuous for Continuous Experimentation

Case Study & Continuous Experimentation Model

pivot

Project 1 Project 2 Project 3

B Software business analytics system

M Data related to video calls to present to operators

L Operators requirements

B Software test tool for service infrastructure

M Operational capacity of infrastructure

L Infrastructure limitations

B Prototype for rapid deployments of software updates

M Continuous deployment capacity

L How to implement continuous deployment

x Technologyx Architectural solutionsx Development methodology

Page 20: Building Blocks for Continuous Experimentation

www.helsinki.fi/yliopisto 2003/06/14Building Blocks for Continuous for Continuous Experimentation

Case Study & Continuous Experimentation Model

Project 1

Vision

Business strategy

Page 21: Building Blocks for Continuous Experimentation

www.helsinki.fi/yliopisto 2103/06/14Building Blocks for Continuous for Continuous Experimentation

Case Study & Continuous Experimentation Model

Project 1 1 Assumption

Page 22: Building Blocks for Continuous Experimentation

www.helsinki.fi/yliopisto 2203/06/14Building Blocks for Continuous for Continuous Experimentation

Case Study & Continuous Experimentation Model

Project 1

2 Hypothesis

1

Page 23: Building Blocks for Continuous Experimentation

www.helsinki.fi/yliopisto 2303/06/14Building Blocks for Continuous for Continuous Experimentation

Case Study & Continuous Experimentation Model

Project 1

3 Design

1

2

Page 24: Building Blocks for Continuous Experimentation

www.helsinki.fi/yliopisto 2403/06/14Building Blocks for Continuous for Continuous Experimentation

Case Study & Continuous Experimentation Model

Project 1

4 MVP / MVF

1

2

3

Page 25: Building Blocks for Continuous Experimentation

www.helsinki.fi/yliopisto 2503/06/14Building Blocks for Continuous for Continuous Experimentation

Case Study & Continuous Experimentation Model

Project 1

5Execute

1

2

3

4

Page 26: Building Blocks for Continuous Experimentation

www.helsinki.fi/yliopisto 2603/06/14Building Blocks for Continuous for Continuous Experimentation

Case Study & Continuous Experimentation Model

Project 1

6Analyse

1

2

3

4

5

Page 27: Building Blocks for Continuous Experimentation

www.helsinki.fi/yliopisto 2703/06/14Building Blocks for Continuous for Continuous Experimentation

Case Study & Continuous Experimentation Model

Project 1

7Persevere

1

2

3

4

5 6

Page 28: Building Blocks for Continuous Experimentation

www.helsinki.fi/yliopisto 28

Build-Measure-Learn Build-Measure-LearnBuild-Measure-Learn …

03/06/14

Department of Computer ScienceAlejandro Sánchez GuineaBuilding Blocks for Continuous for Continuous Experimentation

Case Study & Continuous Experimentation Model

pivot

Project 1 Project 2 Project 3

B Software business analytics system

M Data related to video calls to present to operators

L Operators requirements

B Software test tool for service infrastructure

M Operational capacity of infrastructure

L Infrastructure limitations

B Prototype for rapid deployments of software updates

M Continuous deployment capacity

L How to implement continuous deployment

x Technologyx Architectural solutionsx Development methodology

Page 29: Building Blocks for Continuous Experimentation

www.helsinki.fi/yliopisto 2903/06/14Building Blocks for Continuous for Continuous Experimentation

Case Study & Continuous Experimentation Model

1

2

3

4

5 6

7

Persevere

PivotProject 2

Page 30: Building Blocks for Continuous Experimentation

www.helsinki.fi/yliopisto 30

Build-Measure-Learn Build-Measure-LearnBuild-Measure-Learn …

03/06/14

Department of Computer ScienceAlejandro Sánchez GuineaBuilding Blocks for Continuous for Continuous Experimentation

Case Study & Continuous Experimentation Model

pivot

Project 1 Project 2 Project 3

B Software business analytics system

M Data related to video calls to present to operators

L Operators requirements

B Software test tool for service infrastructure

M Operational capacity of infrastructure

L Infrastructure limitations

B Prototype for rapid deployments of software updates

M Continuous deployment capacity

L How to implement continuous deployment

x Technologyx Architectural solutionsx Development methodology

Page 31: Building Blocks for Continuous Experimentation

www.helsinki.fi/yliopisto 3103/06/14Building Blocks for Continuous for Continuous Experimentation

Case Study & Continuous Experimentation Model

Project 3

1

2

3

4

5 6

7

Implement8

Page 32: Building Blocks for Continuous Experimentation

www.helsinki.fi/yliopisto 32

• Continuous Experimentation model supported by empirical evidence

• Continuous cycle of experiments Experiments are conducted to validate the most important

assumptions

• Infrastructure for the model considers the roles, technical infrastructure, and information artifacts for running large-scale continuous experiments.

• Success factors for a Continuous Experimentation system

• e.g., rapid and adequate design of experiments, proper instrumentation for collection and analysis of relevant data, feedback loops must be implemented

03/06/14Building Blocks for Continuous for Continuous Experimentation

Summary

Page 33: Building Blocks for Continuous Experimentation

www.helsinki.fi/yliopisto 33

• Expand the model based on more cases and in regard to domain-specific variants

• Answer questions related to specific parts of our model

• how to build a back-end system suitable for large-scale continuous experimentation?

• how to properly design experiments in order to reduce uncertainty in strategic assumptions?

• how to ensure that experiments are trustworthy?

• Set up experimental cycle in hardware and software co-design

• synchronization issues between hardware and software development schedules

• Experiments conducted with several kinds of stakeholders (e.g., investors, suppliers, etc.)

03/06/14

Department of Computer ScienceAlejandro Sánchez GuineaBuilding Blocks for Continuous for Continuous Experimentation

Challenges and Research Directions

Page 34: Building Blocks for Continuous Experimentation

www.helsinki.fi/yliopisto 34

[email protected]

• Software Systems Engineering Research Group

http://www.sserg.org

• Software Factory

http://softwarefactory.cc

• Software Factory video

https://www.youtube.com/watch?v=uPAE1uRP65Y

• Twitter

@Juergen_Muench

03/06/14

Department of Computer ScienceAlejandro Sánchez GuineaBuilding Blocks for Continuous for Continuous Experimentation

Contact and Further Information

Page 35: Building Blocks for Continuous Experimentation

www.helsinki.fi/yliopisto 35

Fabian Fagerholm, Alejandro Sanchez Guinea, Hanna Mäenpää, Jürgen Münch. Building Blocks for Continuous Experimentation. In Proceedings of the 1st International Workshop on Rapid Continuous Software Engineering (RCoSE 2014), Hyderabad, India, 2014.

The article can be found online in:

http://www.sserg.org/publications/uploads/fedf90b60c9a480fdff403f127405a248d04ea55.pdf

03/06/14

Department of Computer ScienceAlejandro Sánchez GuineaBuilding Blocks for Continuous for Continuous Experimentation

Reference of the article