Succeeding in a software rewrite project within a startup: A case study
Loading...
URL
Journal Title
Journal ISSN
Volume Title
Perustieteiden korkeakoulu |
Master's thesis
Unless otherwise stated, all rights belong to the author. You may download, display and print this publication for Your own personal use. Commercial use is prohibited.
Authors
Date
2017-12-11
Department
Major/Subject
Computer Science
Mcode
SCI3042
Degree programme
Master’s Programme in Computer, Communication and Information Sciences
Language
en
Pages
66+3
Series
Abstract
Software projects are notorious for their failure rates and software maintenance is a complex task that often becomes more time-consuming as the software ages. In modern software development, maintenance is often done in an iterative fashion with the help of continuous integration and deployment tools to help with quality assurance. This thesis is a postmortem case study of the design and development involved in a user interface rewrite project conducted for a healthtech SaaS-product. The focus of the study is on investigating how efficient the methods of working were, what pain points were identified and how well the risks were managed for the project. It aims to provide insight on how early-stage companies with limited resources can see through a sizable effort such as this efficiently. Focus is also given to whether a transition towards a microservice-architecture is a viable choice within this context. The key findings from the conducted case study are that even when following agile practices, a systematic approach to software engineering is essential for success. Projects should have a clear scope and clear responsibilities in order for their success to be measurable. Team composition and individual skills are the crucial elements in a development team, and tools and practices only strengthen the results of individuals. However, open communication, motivated individuals and visibility into progress are also essential.Ohjelmistoprojektien epäonnistuminen on tutkitusti yleistä ja ohjelmistojen ylläpito on kompleksinen tehtävä, jonka vaatimat resurssit usein kasvavat ohjelmiston vanhetessa. Modernissa ohjelmistokehityksessä ylläpito usein tehdään iteratiivisesti, hyödyntäen jatkuvaa integraatiota laadunvarmistuksen apuna. Tämä diplomityö on tapaustutkimus terveysteknologiaan keskittyneen SaaS-sovelluksen uudistukseen liittyneestä kehitys- ja suunnittelutyöstä. Tutkielma keskittyy tutkimaan projektin riskinhallintaa, kehitysmetodien ja -prosessien tehokkuutta sekä löytämään näistä kipupisteitä. Työn tavoitteena on löytää resursseiltaan rajallisille alkuvaiheen ohjelmistoyrityksille soveltuvia työtapoja sekä selvittää, kuinka tämänkaltainen laaja kehitystyö voidaan suorittaa onnistuneesti. Tutkimus myös pyrkii selvittämään onko mikropalveluarkkitehtuuriin siirtyminen kannattavaa tässä kontekstissa. Työn tuloksena havaittiin, että systemaattinen lähestyminen ohjelmistokehitykseen on olennaista onnistumisen kannalta myös ketteriä menetelmiä hyödynnettäessä. Projekteilla tulisi olla selkeä laajuus ja selkeät tavoitteet, jotta projektin onnistumista voidaan mitata objektiivisesti. Kehitystiimin dynamiikka ja yksilöiden taidot ovat tärkein osa kehitystiimiä, ja työkaluilla ja menetelmillä on vain toissijainen vaikutus yksilöiden suorituskykyyn. Toisaalta myös avoin kommunikaatio, motivoituneet yksilöt ja kehityksen läpinäkyvyys ovat olennaisessa asemassa.Description
Supervisor
Smolander, KariThesis advisor
Avikainen, PetriKeywords
rewrite, maintenance, risk management, technical debt, microservices