Ketterät periaatteet verkkopalvelun ohjelmistokehityksessä
Juntura, Esa (2019)
Juntura, Esa
2019
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2019103020474
https://urn.fi/URN:NBN:fi:amk-2019103020474
Tiivistelmä
Tässä opinnäytetyössä on kehitetty edelleen olemassa olevaa verkkopalvelua. Vincit Oulu Oy:n asiakasyrityksessä verkossa tilattavien palveluiden tarjontaa lisättiin, joka asetti uusia vaatimuksia toiminnallisuuksille, järjestelmän hallinnalle ja käytettävyydelle. Asiakasyrityksen luvalla suunnitteluhankkeesta kirjoitettiin tämä opinnäyte. Verkkopalvelun uudet ominaisuudet toteutettiin osaksi olemassa olevaa järjestelmää, joka rajoitti joiltakin osin käytettävissä olevia ratkaisuja. Palveluihin liittyi erilaisia erillisiä järjestelmiä, joista osa oli kehitetty yrityksen omilla resursseilla omaa käyttöä varten ja osa oli valmisohjelmistoja. Toteutus vaati erilaisten ohjelmistorajapintojen toteutusta näiden järjestelmien ominaisuuksien hyödyntämiseksi tilattavissa palveluissa.
Uusien ominaisuuksien kehittäminen edellytti tietoa olemassa olevien järjestelmien toiminnasta ja rakenteesta. Tämän tiedon saatavuuteen vaikutti olemassa oleva dokumentaatio sekä niiden kehityksestä vastanneiden henkilöiden tietämys ja saatavuus. Kehitystyössä oli ketterän (Agile) ohjelmistokehityksen piirteitä. Ketterää kehittämistä hankaloittivat kehitettävän palvelun liittyminen suurempaan kokonaisuuteen, sekä ketterien periaatteiden vaillinainen toteutuminen työssä. Jatkossa ohjelmistokehityksen prosessissa olisikin hyödyllistä tutkia Lean-periaatteiden soveltamista, jotka on todettu käyttökelpoisiksi isommissa ohjelmistokehitysorganisaatioissa.
Työn tekijä perehtyi yrityksen ohjelmistokehityksen prosesseihin sekä käytettyihin teknologioihin, ja osallistui uusien ominaisuuksien suunnitteluun ja käytännön toteutukseen sekä käyttöliittymän että taustajärjestelmän osalta. Opinnäytetyön tuloksena verkkopalvelusta voitiin julkaista uusia ominaisuuksia sisältävä versio asiakaskäyttöön. This thesis concerns the further development of an existing web service. At a Vincit Oulu Oy customer organisation, there was a need to continue developing web-based subscription services. This posed new requirements for features, system management and usability. This thesis was based on this development project, with permission from customer. The new features were implemented on the existing (legacy) system, that somewhat limited the design choices. The subscription service had interfaces to several separate systems. Some of these had been developed internally and some were developed by third parties. The implementation of new features required new interfacing features to be developed in order to use these separate system parts.
The development of new features required knowledge of the existing systems’ architecture and design. The availability of this information depended upon existing documentation and knowledge of the designers responsible for previous designs of the system. The development project work had features of agile development methods. The agile principles were only partially applied in the customer project development work. The application of agile methods was also somewhat difficult due to the connections to larger enterprise-level development plans.
In future, it could be fruitful to study the application of lean development principles in customer project processes. Lean principles have been found to address some of the shortfalls of agile methods in the development work done in larger organisations.
Thesis worker studied the software development processes and technologies used at the customer organisation. He took part in the planning and implementation of both back-end and front-end areas of the new features. As a result of the thesis work the customer organisation was able to publish a new version of the web service with new subscription features.
Uusien ominaisuuksien kehittäminen edellytti tietoa olemassa olevien järjestelmien toiminnasta ja rakenteesta. Tämän tiedon saatavuuteen vaikutti olemassa oleva dokumentaatio sekä niiden kehityksestä vastanneiden henkilöiden tietämys ja saatavuus. Kehitystyössä oli ketterän (Agile) ohjelmistokehityksen piirteitä. Ketterää kehittämistä hankaloittivat kehitettävän palvelun liittyminen suurempaan kokonaisuuteen, sekä ketterien periaatteiden vaillinainen toteutuminen työssä. Jatkossa ohjelmistokehityksen prosessissa olisikin hyödyllistä tutkia Lean-periaatteiden soveltamista, jotka on todettu käyttökelpoisiksi isommissa ohjelmistokehitysorganisaatioissa.
Työn tekijä perehtyi yrityksen ohjelmistokehityksen prosesseihin sekä käytettyihin teknologioihin, ja osallistui uusien ominaisuuksien suunnitteluun ja käytännön toteutukseen sekä käyttöliittymän että taustajärjestelmän osalta. Opinnäytetyön tuloksena verkkopalvelusta voitiin julkaista uusia ominaisuuksia sisältävä versio asiakaskäyttöön.
The development of new features required knowledge of the existing systems’ architecture and design. The availability of this information depended upon existing documentation and knowledge of the designers responsible for previous designs of the system. The development project work had features of agile development methods. The agile principles were only partially applied in the customer project development work. The application of agile methods was also somewhat difficult due to the connections to larger enterprise-level development plans.
In future, it could be fruitful to study the application of lean development principles in customer project processes. Lean principles have been found to address some of the shortfalls of agile methods in the development work done in larger organisations.
Thesis worker studied the software development processes and technologies used at the customer organisation. He took part in the planning and implementation of both back-end and front-end areas of the new features. As a result of the thesis work the customer organisation was able to publish a new version of the web service with new subscription features.