KetteryysKaikissaElinkaarenvaiheissaEsitys

Report
[email protected]
Ketterä sovellusten
elinkaaren hallinta
ALM / Tuotekehitysympäristö Palveluna
Sytyke Laivaseminaari | 2013
[email protected]
4.9.2013
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 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
02.08.2013
www.ambientia.net
3
Juha Aaltonen
• ALM (Application Lifecycle Management) expert/consultant
• Ambientia
•
•
• Tieto
2011 ->
Atlassian
Asiakkaita esim: RAY, Finnair, Insta, SITO, Metso, HiQ, OP palvelut...
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 Javaja Grails-pohjaiseen
sovelluskehitykseen sekä
kokonaispalvelun
tarjoamiseen.
6 toimistoa Suomessa
ja Ruotsissa
Asiantuntemusta
vuodesta 1996
Toimistomme sijaitsevat
Helsingissä, Hämeenlinnassa,
Joensuussa, Tampereella,
Turussa ja Tukholmassa.
Ambientialla on merkittävää
kokemusta, sillä aloitimme
toimintamme jo ennen Googlea
vuonna 1996.
Palvelut ja ratkaisut
Konseptointi, strategia
ja konsultointi
Sovelluskehityspalvelut
Verkkokauppa
Konseptisuunnittelu, palvelumuotoilu, webstrategia ja ALM
Kokonaispalvelua suunnittelusta,
toteutukseen, testaukseen ja
ylläpitoon.
Magento-verkkokaupat sekä
kaupankäyntiin liittyvät palvelut.
Sosiaalinen intranet
Portaalit
Intranet on prosessi eikä
paketista otettava tuote.
Pohjoismaiden parasta Liferayosaamista.
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
•
•
•
Monenlaista ketterää tekemistä
•
•
Tuotepäällikkö
Tiimi
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
Technical debate
Stakeholders
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 (itselle / toimittajalle)
•
•
•
Erilaiset alustat
Projektimallit
Eri vaiheissa olevia tuotteita
•
•
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
Requirement Management
Site 3
Risk Management
Product 1
Product 2
• Development
• Maintenance
Helpdesk
• Development
• Maintenance
ALM disciplines
Product 5
• Development
• Maintenance
Project / Task management
Product 4
Information Sharing & KM
• Development
• Maintenance
Vendor X
SCM
Vendor Y
Product 3
QA & Test Management
IDE & SW Engineering
• Development
• Maintenance
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
Tuotekehitys (ALM) Ympäristö Palveluna
Product
Type
Scrum
Mietitty tuotekehitys/ALM
ympäristö ja käyttötavat, jotka uuden
Kanban
Scrumban
projektin/tiimin
etc on helppo ottaa käyttöön ilman isoja vasteaikoja.
Services
New Product
Proj Management
Knowledge
Management
Test Management
VCS
CI
Product Owner
Managers
Team
ALM (R&D) Environment as a Service
Service Owner
Operational Work
Manager
Development Work
Manager
Developers
R&D Env Order
R&D Env for Product
IT?
•
•
•
•
•
Servers
Network
Applications
EndUser support
Trainings (tools)
Kick Start
Project Work
R&D?
•
•
•
•
•
•
Usage Model
Processes
Methods
Appl Configurations
Consulting / Mentoring
Training (methods)
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
• 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
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

similar documents