Esittely latautuu. Ole hyvä ja odota

Esittely latautuu. Ole hyvä ja odota

Juha.aaltonen@ambientia.fi.

Samankaltaiset esitykset


Esitys aiheesta: "Juha.aaltonen@ambientia.fi."— Esityksen transkriptio:

1

2 Ketterä sovellusten elinkaaren hallinta
ALM / Tuotekehitysympäristö Palveluna Sytyke Laivaseminaari | 2013

3 Teaser 02.08.2013 www.ambientia.net
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 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ä tuote tasolla, että yli koko projekti/tuotesalkun. tiimi | multi-vendor / multisite environment | tilaaminen | käynnistäminen | toteuttaminen | Tuotekehitys (ALM) Ympäristö Palveluna | Disciplines & tools | julkaiseminen | ALM nonsense

4 Juha Aaltonen ALM (Application Lifecycle Management) expert/consultant
Ambientia > Atlassian Asiakkaita esim: RAY, Finnair, Insta, SITO, Metso, HiQ, OP palvelut... Tieto – 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ä > 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

5 Huipputiimi 80 ammattilaista 6 toimistoa Suomessa ja Ruotsissa
Asiantuntemusta vuodesta 1996 Sertifioitu osaamisemme on keskittynyt erityisesti Java- ja Grails-pohjaiseen sovelluskehitykseen sekä kokonaispalvelun tarjoamiseen. Toimistomme sijaitsevat Helsingissä, Hämeenlinnassa, Joensuussa, Tampereella, Turussa ja Tukholmassa. Ambientialla on merkittävää kokemusta, sillä aloitimme toimintamme jo ennen Googlea vuonna 1996.

6 Palvelut ja ratkaisut Konseptointi, strategia ja konsultointi
Sovelluskehityspalvelut Verkkokauppa Kokonaispalvelua suunnittelusta, toteutukseen, testaukseen ja ylläpitoon. Magento-verkkokaupat sekä kaupankäyntiin liittyvät palvelut. Konseptisuunnittelu, palvelu-muotoilu, webstrategia ja ALM Pilvipalvelut Sosiaalinen intranet Portaalit Jira ja Confluence palveluna sekä pilvipalvelutekniikat asiakkaan käyttöön. Intranet on prosessi eikä paketista otettava tuote. Pohjoismaiden parasta Liferay-osaamista.

7 Asiakkaat

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

9 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. Osapuolet, esim Tilaaja Toimittaja Linjaorganisaatio Projektitiimi Tuotekehitys Operation/Käyttö Kaikkien pitää ymmärtää mikä osa “projektista” (Tuotteeseen liittyvästä tekemisestä) on ketterää ja mikä osa jotain muuta. Voi olla, että kaikkea ei voi tehdäkään kaikissa tapauksissa ketterästi. Monesti -> Ketterä = scrum Mutta näin ei välttämätt tarvitse olla, scrum on vain yksi ketteristä kehyksistä. Agile manifesto, Lean, DevOps, agileRUP Jos tilausmalli on sellainen, että ominaisuudet, hinta ja aikataulu esim ovat kiinteitä, niin kaikkien pitää ymmärtää tämä ja huomioida toteutusvaiheessa, näin tilattuna myöskään toteutusprojekti ei voi noudattaa kovin tiukasti agile periaatteita. Toteutus voi olla iteratiivista ja julkaiseminen jatkuvaa, mutta tässä mallissa rikotaan esim näitä periaatteita: 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 Agile, Lean, DevOps tiimi | multi-vendor / multisite environment | tilaaminen | käynnistäminen | toteuttaminen | Tuotekehitys (ALM) Ympäristö Palveluna | Disciplines & tools | julkaiseminen | ALM nonsense

10 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 Mitä tiukemmat linjaorganisaatiot ja siilot, sitä kauempana ollaan oikeista agile projekteista. Asialle omistautunut tuotepäällikkö on tärkein. Mitä enemmän keskiössä ovat linjaesimiehet ja organisaatiot (testausorganisaatiot yms) ja projektipäälliköt, sitä kauempana ollaan agile tekemisestä. Mitä enemmän keskiössä ovat tuotepäälliköt ja tiimit sitä lähempänä ollaan agile tekemistä. DevOps -> Tuotekehityksen ja Operatiivisen toiminnan tuominen lähemmäs toisiaan. tiimi | multi-vendor / multisite environment | tilaaminen | käynnistäminen | toteuttaminen | Tuotekehitys (ALM) Ympäristö Palveluna | Disciplines & tools | julkaiseminen | ALM nonsense

11 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

12 Muotoutumisvaihe –forming Kuohuntavaihe –storming
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 Mitä enemmän tiimi joutuu alussa tekemään työkaluvalintoja, miettimään työtapoja jne sitä kauemmin kestää kuohunta ja normiutuminen. tiimi | multi-vendor / multisite environment | tilaaminen | käynnistäminen | toteuttaminen | Tuotekehitys (ALM) Ympäristö Palveluna | Disciplines & tools | julkaiseminen | ALM nonsense

13 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 (itselle / toimittajalle) Erilaiset alustat Projektimallit Eri vaiheissa olevia tuotteita Käynnistämisen pitää olla helppoa ja nopeaa. Siirtyminen projektista/tiimistä toiseen pitää olla helppoa Oli malli tai tuote mikä tahansa, kaikissa tapauksissa Tuotepäällikkö on tärkein lenkki tiimi | multi-vendor / multisite environment | tilaaminen | käynnistäminen | toteuttaminen | Tuotekehitys (ALM) Ympäristö Palveluna | Disciplines & tools | julkaiseminen | ALM nonsense

14 Multi-vendor / Multisite Environment
Common Functions like Corporation Site 1 Site 2 Site 3 Requirement Management Risk Management Product 1 Development Maintenance Helpdesk Product 2 Development Maintenance ALM disciplines Product 5 Development Maintenance Project / Task management Product 4 Development Maintenance 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

15 Vaiheet 02.08.2013 www.ambientia.net
tiimi | multi-vendor / multisite environment | tilaaminen | käynnistäminen | toteuttaminen | Tuotekehitys (ALM) Ympäristö Palveluna | Disciplines & tools | julkaiseminen | ALM nonsense

16 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 Ja jos tilausmalli on sellainen, että ominaisuudet, hinta ja aikataulu esim ovat kiinteitä, niin kaikkien pitää ymmärtää tämä ja huomioida toteuttusvaiheessa, näin tilattuna myöskään toteutusprojekti ei voi noudattaa kovin tiukasti agile periaatteita. Toteutus voi olla iteratiivista ja julkaisu esim jatkuvaa mutta tässä mallissa rikotaan esim näitä periaatteita: 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 sapuolet ovat tilaaja ja toimittaja 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

17 Käynnistäminen Organisaation pitää mahdollistaa tämä!
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

18 Kypsän toiminnan vaihe –performing
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

19 Käynnistäminen Tuotekehitys (ALM) Ympäristö Palveluna
Product Type Scrum Kanban Scrumban etc Services Proj Management Knowledge Management Test Management VCS CI Managers Developers Mietitty tuotekehitys/ALM ympäristö ja käyttötavat, jotka uuden projektin/tiimin on helppo ottaa käyttöön ilman isoja vasteaikoja. New Product ALM (R&D) Environment as a Service Product Owner Service Owner Team Operational Work Development Work Manager Manager IT? Servers Network Applications EndUser support Trainings (tools) R&D? Usage Model Processes Methods Appl Configurations Consulting / Mentoring Training (methods) R&D Env Order R&D Env for Product Kick Start Tuotekehitysympäristön tilaaminen uudelle tuotteelle pitää olla yksinkertaista ja suoraviivaista. Tuotekehitysympäristö pitää olla pystyssä uudelle tuotteelle mieluummin tunneissa, kun päivissä. -> agile. Project Work Feedback tiimi | multi-vendor / multisite environment | tilaaminen | käynnistäminen | toteuttaminen | Tuotekehitys (ALM) Ympäristö Palveluna | Disciplines & tools | julkaiseminen | ALM nonsense

20 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 Ehkä se selkein ”ketteröitettävä” vaihe. -> tähän olemassa scrum jne valmiita menetelmiä. Mutta pitää miettiä mitä nämä mallit tässä ympäristössä tarkoittavat. Samoin pitää olla mietitty miten mallit on toteutettu työkaluihin ja miten niitä käytetään. Esim tehtävätyypit eri vaiheissa pitää olla mietitty ja kaikkien tiimien ja tuotteiden pitää käyttää niitä samoin. Mikä on Epic, mikä on Story, mikä on bug jne Näin saadaan portfolio tasoista metriikkaa, koska kaikki ajattelevat asiat samoin. -> Pitää olla valmiit muotit ja templaatit eri tekemisen malleille joiden ylläpito ja kehitys on jonkun vastuulla tiimi | multi-vendor / multisite environment | tilaaminen | käynnistäminen | toteuttaminen | Tuotekehitys (ALM) Ympäristö Palveluna | Disciplines & tools | julkaiseminen | ALM nonsense

21 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ä Sotii hieman Self-organizing teams ajatusta vastaan, mutta tiimillä pitää olla helppo tapa antaa palautetta ja luoda kehitysehdotuksia, jolloin tiimi pystyy vaikuttamaan käyttämiinsä työkaluihin ja menetelmiin. tiimi | multi-vendor / multisite environment | tilaaminen | käynnistäminen | toteuttaminen | Tuotekehitys (ALM) Ympäristö Palveluna | Disciplines & tools | julkaiseminen | ALM nonsense

22 Toteuttaminen – Tuotekehitys (ALM) Ympäristö Palveluna Disciplines & Tools #1
R&D ympäristön jatkuva kehittäminen. Tiimeillä pitää olla selkeä kanava antaa palautetta ympäristöstä ja tehdä esim kehityspyyntöjä. tiimi | multi-vendor / multisite environment | tilaaminen | käynnistäminen | toteuttaminen | Tuotekehitys (ALM) Ympäristö Palveluna | Disciplines & tools | julkaiseminen | ALM nonsense

23 Toteuttaminen – Tuotekehitys (ALM) Ympäristö Palveluna Disciplines & Tools #2
Magic Quadrant for Application Life Cycle Management Keskitetty käyttäjähallinta (crowd) Ryhmien hallinta SSO tiimi | multi-vendor / multisite environment | tilaaminen | käynnistäminen | toteuttaminen | Tuotekehitys (ALM) Ympäristö Palveluna | Disciplines & tools | julkaiseminen | ALM nonsense

24 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. Agile manifesto principles: Working software is the principal measure of progress Continuous attention to technical excellence and good design

25 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 Mitä 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

26 Käyttö (Operations) DevOps 02.08.2013 www.ambientia.net
tiimi | multi-vendor / multisite environment | tilaaminen | käynnistäminen | toteuttaminen | Tuotekehitys (ALM) Ympäristö Palveluna | Disciplines & tools | julkaiseminen | ALM nonsense

27 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 Tuotekehitysympäristö Nopeat käynnistysajat Yhteneväiset toimintamallit Helpot vastuiden siirrot tiimi | multi-vendor / multisite environment | tilaaminen | käynnistäminen | toteuttaminen | Tuotekehitys (ALM) Ympäristö Palveluna | Disciplines & tools | julkaiseminen | ALM nonsense

28 Kiitos

29 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

30 ALM nonsense... 02.08.2013 www.ambientia.net
tiimi | multi-vendor / multisite environment | tilaaminen | käynnistäminen | toteuttaminen | Tuotekehitys (ALM) Ympäristö Palveluna | Disciplines & tools | julkaiseminen | ALM nonsense


Lataa ppt "Juha.aaltonen@ambientia.fi."

Samankaltaiset esitykset


Iklan oleh Google