Continuous experimentation in start-up: Approaches and Improvements
No Thumbnail Available
URL
Journal Title
Journal ISSN
Volume Title
Perustieteiden korkeakoulu |
Master's thesis
Authors
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, CasperThesis advisor
Lassenius, CasperKeywords
continuous experimentation, software architecture, software development, Microservices