Transcript KetteryysKaikissaElinkaarenvaiheissaEsitys
Ketterä sovellusten elinkaaren hallinta
4.9.2013
ALM / Tuotekehitysympäristö Palveluna
Sytyke Laivaseminaari | 2013 [email protected]
www.ambientia.net
2
Teaser
Ketterä Sovellusten Elinkaaren Hallinta – Tuotekehitysympäristö palveluna
Mitä ketteryys tarkoittaa ja miten se on otettava huomioon sovelluksen elinkaaren eri vaiheissa ja miten ketteryyttä voidaan tehostaa.
Esityksessä tuotteen elinkaari on jaettu seuraaviin vaiheisiin: • Tilaaminen • Käynnistäminen • • • Toteutus (ylläpito) Julkaiseminen Käyttö Päähuomio esityksessä on Käynnistys- ja Toteutusvaiheilla.
Merkittävin esityksessä esiteltävä ratkaisu ketteryyden kehittämiseksi on tuote tasolla, että yli koko projekti/tuotesalkun.
Tuotekehitysympäristö Palveluna
Konsepti, jonka on tarkoitus nopeuttaa projektien käynnistämistä ja tehostaa niiden läpivientiä, sekä parantaa läpinäkyvyyttä ja seurattavuutta sekä
|
multi-vendor / multisite environment |
Tuotekehitys (ALM) Ympäristö Palveluna |
|
02.08.2013
www.ambientia.net
3
Juha Aaltonen
• ALM (Application Lifecycle Management) expert/consultant • • • Ambientia • Atlassian • 2011 -> Asiakkaita esim: RAY, Finnair, Insta, SITO, Metso, HiQ, OP palvelut...
Tieto 2001 – 2011 • • • • • • Useita asiakkuuksia Tilaaja-toimittaja malli Multisite tiimit Pienempiä tuotteita ja nopeampia läpimenoaikoja Valmiit työkalut, Agile mallit, Open source Engineering Toolbox Nokia (networks) 1994 – 2001 • • • • • Projektit vuosien mittaisia Tekijöitä 1000 -> Koodirivejä 50milj Ohjelmistopaketin käännösajat kymmeniä tunteja Itsetehdyt työkalut
|
multi-vendor / multisite environment |
Tuotekehitys (ALM) Ympäristö Palveluna |
|
02.08.2013
www.ambientia.net
4
Huipputiimi
80 ammattilaista Sertifioitu osaamisemme on keskittynyt erityisesti Java ja Grails-pohjaiseen sovelluskehitykseen sekä kokonaispalvelun tarjoamiseen.
6 toimistoa Suomessa ja Ruotsissa Toimistomme sijaitsevat Helsingissä, Hämeenlinnassa, Joensuussa, Tampereella, Turussa ja Tukholmassa.
Asiantuntemusta vuodesta 1996 Ambientialla on merkittävää kokemusta, sillä aloitimme toimintamme jo ennen Googlea vuonna 1996.
Palvelut ja ratkaisut
Konseptointi, strategia ja konsultointi Konseptisuunnittelu, palvelu muotoilu, webstrategia ja ALM Sosiaalinen intranet Intranet on prosessi eikä paketista otettava tuote.
Sovelluskehityspalvelut Kokonaispalvelua suunnittelusta, toteutukseen, testaukseen ja ylläpitoon.
Portaalit Pohjoismaiden parasta Liferay osaamista.
Verkkokauppa Magento-verkkokaupat sekä kaupankäyntiin liittyvät palvelut.
Pilvipalvelut Jira ja Confluence palveluna sekä pilvipalvelutekniikat asiakkaan käyttöön.
Asiakkaat
Ketteryys Kaikissa Elinkaaren Vaiheissa
• • • • •
Tilaaminen Käynnistäminen Toteuttaminen Julkaiseminen Käyttö
• • • • Agenda Kaiken ei tarvitse/pidä olla ketterää?
Organisaatio ja ketteryys • Tuotepäällikkö • Tiimi Monenlaista ketterää tekemistä • Multi-vendor / Multisite / Multi product ympäristö Vaiheet • Tilaaminen • Käynnistäminen • Tiimi • Tuotekehitysympäristö • • • Toteuttaminen Julkaiseminen Käyttö
|
multi-vendor / multisite environment |
Tuotekehitys (ALM) Ympäristö Palveluna |
|
02.08.2013
www.ambientia.net
8
Kaiken ei tarvitse olla Ketterää?
Mutta kaikkien osapuolien pitää ymmärtää mikä osa on tarkoitus tehdä ketterien periaatteiden mukaisesti ja mikä ei.
!
Ja mitä ketteryys missäkin tapauksessa tarkoittaa.
|
multi-vendor / multisite environment |
Tuotekehitys (ALM) Ympäristö Palveluna |
|
02.08.2013
www.ambientia.net
9
Organisaatio ja ketteryys
• •
Organisaatio itsessään ei voi olla ketterä?
Organisaation pitää mahdollistaa ketterien projektien tekeminen.
• • • Projekti(Tuote) tiimin kasaaminen Projekti(Tuote) tiimin toiminta ”Heimo” ajattelu •
Tuotepäällikkö
ja
tiimi
|
multi-vendor / multisite environment |
Tuotekehitys (ALM) Ympäristö Palveluna |
|
02.08.2013
www.ambientia.net
10
Organisaatio
Tuotepäällikkö
• Asialle omistautunut tuotepäällikkö on avaintekijä • Ketteryys myös tuotepäällikön toiminnassa!!
• Ei komiteoita > asiansa osaava Tuotepäällikkö Product Owner Stakeholders Technical debate Dev Team Business debate
|
multi-vendor / multisite environment |
Tuotekehitys (ALM) Ympäristö Palveluna |
|
02.08.2013
www.ambientia.net
11
Organisaatio
Tiimi
• • • • •
Muotoutumisvaihe –forming Kuohuntavaihe –storming Normiutuminen –norming Kypsän toiminnan vaihe –performing
• Tämä vaihe edustaa todellisen tiimin tasoa. Tiimin yhteistoiminta on tehokasta. Tiimin jäsenet tukevat toisiaan ja käyttävät kunkin vahvuuksia tiimin hyväksi. Tiimin sisäiset roolit ovat joustavia ja toimintaa edistäviä. Tiimin toimintaa ilmentää kilpailun sijasta yhdessä tekeminen, kannustaminen sekä entistä parempiin suorituksiin pyrkiminen.
•
Tiimin tehokkuus on enemmän kun osiensa summa Hajoaminen
|
multi-vendor / multisite environment |
Tuotekehitys (ALM) Ympäristö Palveluna |
|
02.08.2013
www.ambientia.net
12
Monenlaista ketterää tekemistä...
• • ...ja monenlaisia tuotteita/palveluita Yhden ison tuotteen/palvelun tekeminen • • Itselle • • Toteutus itsellä Toteutusta alihankkijoilla/toimittajilla Tilaajalle • Toteutus kokonaan yhdellä toimittajalla • Toteutus usealla toimittajalla • Jollain (tilaaja/päätoimittaja) pitää olla kokonaisvastuu ja esim ALM ympäristö hallussaan • Jäljitettävyys, Näkyvyys, Raportointi Useiden tuotteiden/palveluiden tekeminen samanaikaisesti • • • Erilaiset alustat Projektimallit Eri vaiheissa olevia tuotteita (itselle / toimittajalle) • • Käynnistämisen pitää olla helppoa ja nopeaa.
Siirtyminen projektista/tiimistä toiseen pitää olla helppoa
|
multi-vendor / multisite environment |
Tuotekehitys (ALM) Ympäristö Palveluna |
|
02.08.2013
www.ambientia.net
13
Multi-vendor / Multisite Environment
Common Functions like Corporation Site 1 Site 2 Site 3 Requirement Management Risk Management Product 1 • Development • Maintenance Product 2 • Development • Maintenance Helpdesk ALM disciplines Product 5 • Development • Maintenance Product 4 • Development • Maintenance Project / Task management Information Sharing & KM SCM Vendor X Vendor Y QA & Test Management Product 3 • Development • Maintenance IDE & SW Engineering
|
multi-vendor / multisite environment |
Tuotekehitys (ALM) Ympäristö Palveluna |
|
02.08.2013
www.ambientia.net
14
Vaiheet
|
multi-vendor / multisite environment |
Tuotekehitys (ALM) Ympäristö Palveluna |
|
02.08.2013
www.ambientia.net
15
Tilaaminen
•
Molempien osapuolien pitää ymmärtää mitä ja millä mallilla ollaan tekemässä ja tämä pitää ottaa huomioon jo tilausvaiheessa.
• • Customer collaboration – requirements cannot be fully collected at the beginning of the software development cycle, therefore continuous customer or stakeholder involvement is very important.
Responding to change – agile development is focused on quick responses to change and continuous development Ostetaanko lopputuote vai matka lopputuotteeseen
|
multi-vendor / multisite environment |
Tuotekehitys (ALM) Ympäristö Palveluna |
|
02.08.2013
www.ambientia.net
16
Käynnistäminen
• Kun kauppa on syntynyt tai päätös toteutuksesta tehty, pitää projektin päästä käyntiin mahdollisimman nopeasti
Organisaation pitää mahdollistaa tämä!
Tuotekehitysympäristö palveluna!
|
multi-vendor / multisite environment |
Tuotekehitys (ALM) Ympäristö Palveluna |
|
02.08.2013
www.ambientia.net
17
Käynnistäminen
Tiimi
• • • • •
Muotoutumisvaihe –forming Kuohuntavaihe –storming Normiutuminen –norming Kypsän toiminnan vaihe –performing
• • Tämä vaihe edustaa todellisen tiimin tasoa. Tiimin yhteistoiminta on tehokasta. Tiimin jäsenet tukevat toisiaan ja käyttävät kunkin vahvuuksia tiimin hyväksi. Tiimin sisäiset roolit ovat joustavia ja toimintaa edistäviä. Tiimin toimintaa ilmentää kilpailun sijasta yhdessä tekeminen, kannustaminen sekä entistä parempiin suorituksiin pyrkiminen.
Tiimin tehokkuus on enemmän kun osiensa summa Hajoaminen
|
multi-vendor / multisite environment |
Tuotekehitys (ALM) Ympäristö Palveluna |
|
02.08.2013
www.ambientia.net
18
Käynnistäminen Team Type Mietitty tuotekehitys/ALM ympäristö ja käyttötavat, jotka uuden projektin/tiimin on helppo ottaa käyttöön ilman isoja vasteaikoja.
New Product Services Product Owner Managers Developers Proj Management Knowledge Management Test Management VCS CI Operational Work Manager ALM (R&D) Environment as a Service Service Owner Development Work Manager R&D Env Order R&D Env for Product • • • • • IT?
Servers Network Applications EndUser support Trainings (tools) • • • • • • R&D?
Usage Model Processes Methods Appl Configurations Consulting / Mentoring Training (methods) Kick Start Project Work Feedback
|
multi-vendor / multisite environment |
Tuotekehitys (ALM) Ympäristö Palveluna |
|
17.8.2012
www.ambientia.net
19
Toteuttaminen
• •
Tuotekehitysympäristö palveluna
• •
Sisäänrakennetut käytännöt: scrum, kanban, scrumban, etc ja mitä ne tässä yhteydessä tarkoittavat.
Osa alueet ja työkalut
• • • Information Sharing/Knowledge Management Project / Task Management Software Configuration Management
Mittaaminen
|
multi-vendor / multisite environment |
Tuotekehitys (ALM) Ympäristö Palveluna |
|
02.08.2013
www.ambientia.net
20
Toteuttaminen
Tuotekehitys (ALM) Ympäristö Palveluna
• •
Mietitty tuotekehitys/ALM ympäristö ja käyttötavat, jotka uuden projektin/tiimin on helppo ottaa käyttöön ilman isoja vasteaikoja.
Myös ihmisten siirtyminen projektista/tiimistä toiseen on tällöin helpompaa.
‼ Jos liian loppuun asti mietitty ja kiveenhakattu malli ja työkalut, voi tiimien motivaatio kärsiä, jos tiimillä itsellään ei ole päätäntävaltaa asioissa.
Helppo tapa antaa palautetta työkaluista ja menetelmistä
|
multi-vendor / multisite environment |
Tuotekehitys (ALM) Ympäristö Palveluna |
|
02.08.2013
www.ambientia.net
21
Toteuttaminen – Tuotekehitys (ALM) Ympäristö Palveluna Disciplines & Tools #1
|
multi-vendor / multisite environment |
Tuotekehitys (ALM) Ympäristö Palveluna |
|
17.8.2012
www.ambientia.net
22
Toteuttaminen – Tuotekehitys (ALM) Ympäristö Palveluna Disciplines & Tools #2 Magic Quadrant for Application Life Cycle Management
|
multi-vendor / multisite environment |
Tuotekehitys (ALM) Ympäristö Palveluna |
|
02.08.2013
www.ambientia.net
23
Toteuttaminen
Laatu/Mittarointi
Tekemisen laatu • L äpimenoajat • • • • Vasteajat Velocity Bugi määrät jne Tuotteen laatu • Koodin laatu • • K äytettävyys Testikattavuus Agile mallisessa tekemisessä tuotteen laatu on jopa tärkeämpi kun tekemisen laatu!
Portfolio/salkku tasoinen mittaaminen.
02.08.2013
www.ambientia.net
24
Julkaiseminen
• • •
Jatkuvaa ja Automaattista
• • • Daily Sprint/Iteraatio Viralliset julkaisut
Itse tuote + Siihen liittyvä Dokumentaatio Läpinäkyvyys ja Jäljitettävyys
•
Julkaisusta pitää pystyä näkemään
• • • M itä se sisältää (ominaisuudet/tarinat/epicit) Miten se on testattu Muuttuneet lähdekoodit
|
multi-vendor / multisite environment |
Tuotekehitys (ALM) Ympäristö Palveluna |
|
02.08.2013
www.ambientia.net
25
Käyttö (Operations)
•
DevOps
|
multi-vendor / multisite environment |
Tuotekehitys (ALM) Ympäristö Palveluna |
|
02.08.2013
www.ambientia.net
26
Pääkohdat
• • • • • Ketteryys kaikissa elinkaaren vaiheissa Organisaatio • Tuotepäällikkö ja Tiimi Nopea käynnistäminen • Tiimi • Tuotekehitysympäristö Tuotekehitysympäristö palveluna Läpinäkyvyys ja seurattavuus • Tuotetasolla • Portfolio/Salkku tasolla
|
multi-vendor / multisite environment |
Tuotekehitys (ALM) Ympäristö Palveluna |
|
17.8.2012
www.ambientia.net
27
Kiitos
Agile Manifesto
The meanings of the manifesto items on the left within the agile software development context are described below:
• Individuals and interactions – in agile development, self-organization and motivation are important, as are interactions like co-location and pair programming .
• • Working software – working software will be more useful and welcome than just presenting documents to clients in meetings.
Customer collaboration – requirements cannot be fully collected at the beginning of the software development cycle, therefore continuous customer or stakeholder involvement is very important.
• Responding to change – agile development is focused on quick responses to change and continuous development.
[7] • • • • • • • • • • •
The Agile Manifesto is based on twelve principles: [
8] • Customer satisfaction by rapid delivery of useful software Welcome changing requirements, even late in development Working software is delivered frequently (weeks rather than months) Working software is the principal measure of progress Sustainable development, able to maintain a constant pace Close, daily cooperation between business people and developers Face-to-face conversation is the best form of communication (co-location) Projects are built around motivated individuals, who should be trusted Continuous attention to technical excellence and good design Simplicity —the art of maximizing the amount of work not done—is essential Self-organizing teams Regular adaptation to changing circumstances 17.8.2012
www.ambientia.net
29
ALM nonsense...
|
multi-vendor / multisite environment |
Tuotekehitys (ALM) Ympäristö Palveluna |
|
02.08.2013
www.ambientia.net
30