Building Blocks for Continuous Experimentation

0 downloads 0 Views 1MB Size Report
Jun 3, 2014 - developing software-intensive products and services. • digitalization in most industry sectors. • startup software companies ... Small Finnish startup that develops a video calling solution ..... Continuous Software Engineering (RCoSE 2014), Hyderabad, ... fedf90b60c9a480fdff403f127405a248d04ea55.pdf.
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

3 June 2014 RCoSE workshop (collocated with ICSE’14) Department of Computer Science Alejandro Sánchez Guinea Building Blocks for Continuous for Continuous Experimentation

www.helsinki.fi/yliopisto

03/06/14

1

Overview •  Motivation •  Research Goal •  Research Approach •  Context of Case Study •  Continuous Experimentation Model •  Case Study & Continuous Experimentation Model •  Summary and Future work

Department of Computer Science Alejandro Sánchez Guinea Building Blocks for Continuous for Continuous Experimentation

www.helsinki.fi/yliopisto

03/06/14

2

Motivation •  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 Department of Computer Science Alejandro Sánchez Guinea Building Blocks for Continuous for Continuous Experimentation

www.helsinki.fi/yliopisto

03/06/14

3

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

Ø Continuous Experimentation model Ø Case Study

Department of Computer Science Alejandro Sánchez Guinea Building Blocks for Continuous for Continuous Experimentation

www.helsinki.fi/yliopisto

03/06/14

4

Research approach •  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 Department of Computer Science Alejandro Sánchez Guinea Building Blocks for Continuous for Continuous Experimentation

www.helsinki.fi/yliopisto

03/06/14

5

Context of Case Study •  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 Department of Computer Science Alejandro Sánchez Guinea Building Blocks for Continuous for Continuous Experimentation

www.helsinki.fi/yliopisto

03/06/14

6

Context of Case Study •  In the Software Factory at the Department of Computer Science of University of Helsinki Ø  Experimental Research and Development Laboratory

Department of Computer Science Alejandro Sánchez Guinea Building Blocks for Continuous for Continuous Experimentation

www.helsinki.fi/yliopisto

03/06/14

7

Continuous Experimentation Model

•  Continuous cycle of experiments •  Repeated Build-Measure-Learn blocks •  Supported by an infrastructure

Figure 1: Continuous Experimentation System.

Department of Computer Science Alejandro Sánchez Guinea Building Blocks for Continuous for Continuous Experimentation

goals, and its mode of operation before the three projects. Then, they were asked to consider what each project had accomplished in

www.helsinki.fi/yliopisto

03/06/14

8

experimental design. The resulting data are analysed, concluding the experimental activities.

Build-measure-learn block

… Continuous Experimentation Model Figure 1: Continuous Experimentation System. Department of Computer Science Alejandro Sánchez Guinea Building Blocks for Continuous for Continuous Experimentation

03/06/14 9 goals, and its mode of operation before the three projects. Then,www.helsinki.fi/yliopisto experimental design. The resulting d they were asked to consider what each project had accomplished in the experimental activities. terms of software outcomes, learned information, and implications Once the experiment has been cond

Build-measure-learn block

Building Blocks for Continuous for Continuous Experimentation www.helsinki.fi/yliopisto Figure 2: Build-Measure-Learn Block.

03/06/14

10

Build-measure-learn block

Build

Building Blocks for Continuous for Continuous Experimentation www.helsinki.fi/yliopisto Figure 2: Build-Measure-Learn Block.

03/06/14

11

Build-measure-learn block

Measure

Building Blocks for Continuous for Continuous Experimentation www.helsinki.fi/yliopisto Figure 2: Build-Measure-Learn Block.

03/06/14

12

Build-measure-learn block

Learn

Building Blocks for Continuous for Continuous Experimentation www.helsinki.fi/yliopisto Figure 2: Build-Measure-Learn Block.

03/06/14

13

Infrastructure for Continuous Experimentation

… Continuous Experimentation Model Figure 1: Continuous Experimentation System. Department of Computer Science Alejandro Sánchez Guinea Building Blocks for Continuous for Continuous Experimentation

03/06/14 14 goals, and its mode of operation before the three projects. Then,www.helsinki.fi/yliopisto experimental design. The resulting d they were asked to consider what each project had accomplished in the experimental activities. terms of software outcomes, learned information, and implications Once the experiment has been cond

Infrastructure for Continuous Experimentation

Building Blocks for Continuous for Continuous Experimentation

www.helsinki.fi/yliopisto

Figure 3: Continuous Experimentation Infrastructure.

accessible through an API. Here, these parts should be understood

03/06/14

“We had to pivot when it comes to technology and pri-

15

Infrastructure for Continuous Experimentation

Building Blocks for Continuous for Continuous Experimentation

www.helsinki.fi/yliopisto

Figure 3: Continuous Experimentation Infrastructure.

accessible through an API. Here, these parts should be understood

03/06/14

“We had to pivot when it comes to technology and pri-

16

Infrastructure for Continuous Experimentation

Building Blocks for Continuous for Continuous Experimentation

www.helsinki.fi/yliopisto

Figure 3: Continuous Experimentation Infrastructure.

accessible through an API. Here, these parts should be understood

03/06/14

“We had to pivot when it comes to technology and pri-

17

Infrastructure for Continuous Experimentation

Building Blocks for Continuous for Continuous Experimentation

www.helsinki.fi/yliopisto

Figure 3: Continuous Experimentation Infrastructure.

accessible through an API. Here, these parts should be understood

03/06/14

“We had to pivot when it comes to technology and pri-

18

Case Study & Continuous Experimentation Model Project 1

Project 2

Project 3

B Software business analytics system

B Software test tool for service infrastructure

B Prototype for rapid deployments of software updates

M Data related to video calls to present to operators

M Operational capacity of infrastructure

M Continuous deployment capacity

L Operators requirements

L Infrastructure limitations

L How to implement continuous deployment

Build-Measure-Learn

Build-Measure-Learn

Build-Measure-Learn



pivot

Department of Computer Science Alejandro Sánchez Guinea Building Blocks for Continuous for Continuous Experimentation

x Technology x Architectural solutions x Development methodology www.helsinki.fi/yliopisto

03/06/14

19

Case Study & Continuous Experimentation Model Vision Business strategy

Project 1

Building Blocks for Continuous for Continuous Experimentation www.helsinki.fi/yliopisto Figure 2: Build-Measure-Learn Block.

03/06/14

20

Case Study & Continuous Experimentation Model

Project 1

1 Assumption

Building Blocks for Continuous for Continuous Experimentation www.helsinki.fi/yliopisto Figure 2: Build-Measure-Learn Block.

03/06/14

21

Case Study & Continuous Experimentation Model

Project 1

1

2 Hypothesis

Building Blocks for Continuous for Continuous Experimentation www.helsinki.fi/yliopisto Figure 2: Build-Measure-Learn Block.

03/06/14

22

Case Study & Continuous Experimentation Model

Project 1

1

2

3 Design

Building Blocks for Continuous for Continuous Experimentation www.helsinki.fi/yliopisto Figure 2: Build-Measure-Learn Block.

03/06/14

23

Case Study & Continuous Experimentation Model

Project 1

1

2 3

4

MVP / MVF

Building Blocks for Continuous for Continuous Experimentation www.helsinki.fi/yliopisto Figure 2: Build-Measure-Learn Block.

03/06/14

24

Case Study & Continuous Experimentation Model

Project 1

1

2 3

5

Execute

4

Building Blocks for Continuous for Continuous Experimentation www.helsinki.fi/yliopisto Figure 2: Build-Measure-Learn Block.

03/06/14

25

Case Study & Continuous Experimentation Model

Project 1

1

2 3

5

6 Analyse

4

Building Blocks for Continuous for Continuous Experimentation www.helsinki.fi/yliopisto Figure 2: Build-Measure-Learn Block.

03/06/14

26

Case Study & Continuous Experimentation Model

Project 1

1

7 Persevere

2 3

5

6

4

Building Blocks for Continuous for Continuous Experimentation www.helsinki.fi/yliopisto Figure 2: Build-Measure-Learn Block.

03/06/14

27

Case Study & Continuous Experimentation Model Project 1

Project 2

Project 3

B Software business analytics system

B Software test tool for service infrastructure

B Prototype for rapid deployments of software updates

M Data related to video calls to present to operators

M Operational capacity of infrastructure

M Continuous deployment capacity

L Operators requirements

L Infrastructure limitations

L How to implement continuous deployment

Build-Measure-Learn

Build-Measure-Learn

Build-Measure-Learn



pivot

Department of Computer Science Alejandro Sánchez Guinea Building Blocks for Continuous for Continuous Experimentation

x Technology x Architectural solutions x Development methodology www.helsinki.fi/yliopisto

03/06/14

28

Case Study & Continuous Experimentation Model

Project 2

Pivot

1

7

Persevere

2 3

5

6

4

Building Blocks for Continuous for Continuous Experimentation www.helsinki.fi/yliopisto Figure 2: Build-Measure-Learn Block.

03/06/14

29

Case Study & Continuous Experimentation Model Project 1

Project 2

Project 3

B Software business analytics system

B Software test tool for service infrastructure

B Prototype for rapid deployments of software updates

M Data related to video calls to present to operators

M Operational capacity of infrastructure

M Continuous deployment capacity

L Operators requirements

L Infrastructure limitations

L How to implement continuous deployment

Build-Measure-Learn

Build-Measure-Learn

Build-Measure-Learn



pivot

Department of Computer Science Alejandro Sánchez Guinea Building Blocks for Continuous for Continuous Experimentation

x Technology x Architectural solutions x Development methodology www.helsinki.fi/yliopisto

03/06/14

30

Case Study & Continuous Experimentation Model

1 7

Project 3

2 3

5

6

4

Implement

Building Blocks for Continuous for Continuous Experimentation www.helsinki.fi/yliopisto Figure 2: Build-Measure-Learn Block.

8

03/06/14

31

Summary •  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 Building Blocks for Continuous for Continuous Experimentation

www.helsinki.fi/yliopisto

03/06/14

32

Challenges and Research Directions •  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 codesign •  synchronization issues between hardware and software development schedules

•  Experiments conducted with several kinds of stakeholders (e.g., investors, suppliers, etc.) Department of Computer Science Alejandro Sánchez Guinea Building Blocks for Continuous for Continuous Experimentation

www.helsinki.fi/yliopisto

03/06/14

33

Contact and Further Information [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 Department of Computer Science Alejandro Sánchez Guinea Building Blocks for Continuous for Continuous Experimentation

www.helsinki.fi/yliopisto

03/06/14

34

Reference of the article 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

Department of Computer Science Alejandro Sánchez Guinea Building Blocks for Continuous for Continuous Experimentation

www.helsinki.fi/yliopisto

03/06/14

35