KetteryysKaikissaElinkaarenvaiheissaEsitys

Download Report

Transcript KetteryysKaikissaElinkaarenvaiheissaEsitys

[email protected]

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ä

tiimi

|

multi-vendor / multisite environment |

tilaaminen |

käynnistäminen |

toteuttaminen |

Tuotekehitys (ALM) Ympäristö Palveluna |

Disciplines & tools |

julkaiseminen

|

ALM nonsense

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

tiimi

|

multi-vendor / multisite environment |

tilaaminen |

käynnistäminen |

toteuttaminen |

Tuotekehitys (ALM) Ympäristö Palveluna |

Disciplines & tools |

julkaiseminen

|

ALM nonsense

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ö

tiimi

|

multi-vendor / multisite environment |

tilaaminen |

käynnistäminen |

toteuttaminen |

Tuotekehitys (ALM) Ympäristö Palveluna |

Disciplines & tools |

julkaiseminen

|

ALM nonsense

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.

tiimi

|

multi-vendor / multisite environment |

tilaaminen |

käynnistäminen |

toteuttaminen |

Tuotekehitys (ALM) Ympäristö Palveluna |

Disciplines & tools |

julkaiseminen

|

ALM nonsense

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

tiimi

|

multi-vendor / multisite environment |

tilaaminen |

käynnistäminen |

toteuttaminen |

Tuotekehitys (ALM) Ympäristö Palveluna |

Disciplines & tools |

julkaiseminen

|

ALM nonsense

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

tiimi

|

multi-vendor / multisite environment |

tilaaminen |

käynnistäminen |

toteuttaminen |

Tuotekehitys (ALM) Ympäristö Palveluna |

Disciplines & tools |

julkaiseminen

|

ALM nonsense

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

tiimi

|

multi-vendor / multisite environment |

tilaaminen |

käynnistäminen |

toteuttaminen |

Tuotekehitys (ALM) Ympäristö Palveluna |

Disciplines & tools |

julkaiseminen

|

ALM nonsense

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

tiimi

|

multi-vendor / multisite environment |

tilaaminen |

käynnistäminen |

toteuttaminen |

Tuotekehitys (ALM) Ympäristö Palveluna |

Disciplines & tools |

julkaiseminen

|

ALM nonsense

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

tiimi

|

multi-vendor / multisite environment |

tilaaminen |

käynnistäminen |

toteuttaminen |

Tuotekehitys (ALM) Ympäristö Palveluna |

Disciplines & tools |

julkaiseminen

|

ALM nonsense

02.08.2013

www.ambientia.net

14

Vaiheet

tiimi

|

multi-vendor / multisite environment |

tilaaminen |

käynnistäminen |

toteuttaminen |

Tuotekehitys (ALM) Ympäristö Palveluna |

Disciplines & tools |

julkaiseminen

|

ALM nonsense

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

tiimi

|

multi-vendor / multisite environment |

tilaaminen |

käynnistäminen |

toteuttaminen |

Tuotekehitys (ALM) Ympäristö Palveluna |

Disciplines & tools |

julkaiseminen

|

ALM nonsense

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!

tiimi

|

multi-vendor / multisite environment |

tilaaminen |

käynnistäminen |

toteuttaminen |

Tuotekehitys (ALM) Ympäristö Palveluna |

Disciplines & tools |

julkaiseminen

|

ALM nonsense

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

tiimi

|

multi-vendor / multisite environment |

tilaaminen |

käynnistäminen |

toteuttaminen |

Tuotekehitys (ALM) Ympäristö Palveluna |

Disciplines & tools |

julkaiseminen

|

ALM nonsense

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

tiimi

|

multi-vendor / multisite environment |

tilaaminen |

käynnistäminen |

toteuttaminen |

Tuotekehitys (ALM) Ympäristö Palveluna |

Disciplines & tools |

julkaiseminen

|

ALM nonsense

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

tiimi

|

multi-vendor / multisite environment |

tilaaminen |

käynnistäminen |

toteuttaminen |

Tuotekehitys (ALM) Ympäristö Palveluna |

Disciplines & tools |

julkaiseminen

|

ALM nonsense

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ä

tiimi

|

multi-vendor / multisite environment |

tilaaminen |

käynnistäminen |

toteuttaminen |

Tuotekehitys (ALM) Ympäristö Palveluna |

Disciplines & tools |

julkaiseminen

|

ALM nonsense

02.08.2013

www.ambientia.net

21

Toteuttaminen – Tuotekehitys (ALM) Ympäristö Palveluna Disciplines & Tools #1

tiimi

|

multi-vendor / multisite environment |

tilaaminen |

käynnistäminen |

toteuttaminen |

Tuotekehitys (ALM) Ympäristö Palveluna |

Disciplines & tools |

julkaiseminen

|

ALM nonsense

17.8.2012

www.ambientia.net

22

Toteuttaminen – Tuotekehitys (ALM) Ympäristö Palveluna Disciplines & Tools #2 Magic Quadrant for Application Life Cycle Management

tiimi

|

multi-vendor / multisite environment |

tilaaminen |

käynnistäminen |

toteuttaminen |

Tuotekehitys (ALM) Ympäristö Palveluna |

Disciplines & tools |

julkaiseminen

|

ALM nonsense

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

tiimi

|

multi-vendor / multisite environment |

tilaaminen |

käynnistäminen |

toteuttaminen |

Tuotekehitys (ALM) Ympäristö Palveluna |

Disciplines & tools |

julkaiseminen

|

ALM nonsense

02.08.2013

www.ambientia.net

25

Käyttö (Operations)

DevOps

tiimi

|

multi-vendor / multisite environment |

tilaaminen |

käynnistäminen |

toteuttaminen |

Tuotekehitys (ALM) Ympäristö Palveluna |

Disciplines & tools |

julkaiseminen

|

ALM nonsense

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

tiimi

|

multi-vendor / multisite environment |

tilaaminen |

käynnistäminen |

toteuttaminen |

Tuotekehitys (ALM) Ympäristö Palveluna |

Disciplines & tools |

julkaiseminen

|

ALM nonsense

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...

tiimi

|

multi-vendor / multisite environment |

tilaaminen |

käynnistäminen |

toteuttaminen |

Tuotekehitys (ALM) Ympäristö Palveluna |

Disciplines & tools |

julkaiseminen

|

ALM nonsense

02.08.2013

www.ambientia.net

30