building blocks for continuous experimentation
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
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)
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
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
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
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
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
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
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
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
www.helsinki.fi/yliopisto 1003/06/14Building Blocks for Continuous for Continuous Experimentation
Build-measure-learn block
www.helsinki.fi/yliopisto 1103/06/14Building Blocks for Continuous for Continuous Experimentation
Build-measure-learn block
Build
www.helsinki.fi/yliopisto 1203/06/14Building Blocks for Continuous for Continuous Experimentation
Build-measure-learn block
Measure
www.helsinki.fi/yliopisto 1303/06/14Building Blocks for Continuous for Continuous Experimentation
Build-measure-learn block
Learn
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
www.helsinki.fi/yliopisto 1503/06/14Building Blocks for Continuous for Continuous Experimentation
Infrastructure for Continuous Experimentation
www.helsinki.fi/yliopisto 1603/06/14Building Blocks for Continuous for Continuous Experimentation
Infrastructure for Continuous Experimentation
www.helsinki.fi/yliopisto 1703/06/14Building Blocks for Continuous for Continuous Experimentation
Infrastructure for Continuous Experimentation
www.helsinki.fi/yliopisto 1803/06/14Building Blocks for Continuous for Continuous Experimentation
Infrastructure 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
www.helsinki.fi/yliopisto 2003/06/14Building Blocks for Continuous for Continuous Experimentation
Case Study & Continuous Experimentation Model
Project 1
Vision
Business strategy
www.helsinki.fi/yliopisto 2103/06/14Building Blocks for Continuous for Continuous Experimentation
Case Study & Continuous Experimentation Model
Project 1 1 Assumption
www.helsinki.fi/yliopisto 2203/06/14Building Blocks for Continuous for Continuous Experimentation
Case Study & Continuous Experimentation Model
Project 1
2 Hypothesis
1
www.helsinki.fi/yliopisto 2303/06/14Building Blocks for Continuous for Continuous Experimentation
Case Study & Continuous Experimentation Model
Project 1
3 Design
1
2
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
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
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
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
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
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
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
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
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
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
www.helsinki.fi/yliopisto 34
• Software Systems Engineering Research Group
http://www.sserg.org
• Software Factory
http://softwarefactory.cc
• Software Factory video
https://www.youtube.com/watch?v=uPAE1uRP65Y
@Juergen_Muench
03/06/14
Department of Computer ScienceAlejandro Sánchez GuineaBuilding Blocks for Continuous for Continuous Experimentation
Contact and Further Information
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