Continuous experimentation in start-up: Approaches and Improvements

No Thumbnail Available

URL

Journal Title

Journal ISSN

Volume Title

Perustieteiden korkeakoulu | Master's thesis

Date

2019-05-06

Department

Major/Subject

Service design and engineering

Mcode

SCI3043

Degree programme

Master’s Programme in Computer, Communication and Information Sciences

Language

en

Pages

67 + 6

Series

Abstract

Information technology is a rapid growing industry. In order to keep up the need for fast moving and competitiveness, continuous engineering, cloud computing and micro- service architecture have been widely adopted in software development. Continuous integration, continuous delivery and continuous experimentation provide rapid release cycle for fixes and features to customers while enable a faster feedback loop to business and development decision. On the technical side, cloud computing provides unprecedented opportunity for companies to deploy and scale their software in few minutes with a low cost, whereas micro-service architecture decouples system and their dependencies. Continuous experimentation, therefore, is embraced and becomes a new practice in technology industry. This thesis aims to answer the two following research questions. First, what best practices and suggested architecture to support continuous experimentation are. Second, how proposed architecture impacts developers in terms of development and continuous experimentation. Continuous experimentation is uncommon among literature and has been known only among pioneer leading technology companies. Combining those best practices from literature with the analysis of the current development state in the start-up case, a system architecture is suggested that solving a challenge while still embracing continuous experimentation. Since the problems relate to technologies and culture, an empirical study with multiple approaches, including meeting minute analysis, surveys and interviews of various team members with different backgrounds, is conducted to explore and validate the proposed architecture. The result of this thesis is the system architecture and best practices for the case company to support continuous experimentation while allowing development in a large scale. It also shows that the impact of a proposed architecture varies with developer experience and knowledge. Full-stacked developers with experiences tend to have more independence for creation and problem solving, whereas less experienced ones sometimes encounter confusion and difficulties with the complexity of the system. In addition, findings show that monitoring and guidelines are crucial requirements for the proposed architecture in order to improve developer’s understanding.

Description

Supervisor

Lassenius, Casper

Thesis advisor

Lassenius, Casper

Keywords

continuous experimentation, software architecture, software development, Microservices

Other note

Citation