70 likes | 330 Views
Ketterä ohjelmistokehitys. Ohjelmiston tekninen suunnittelu. Termejä. Ketterä ( Agile ): kyky vaihtaa nopeasti suuntaa muuttuvien tilanteiden mukaan, esim. muuttuvat vaatimukset
E N D
Tekninen suunnittelu Ketterä ohjelmistokehitys Ohjelmiston tekninen suunnittelu
Tekninen suunnittelu Termejä • Ketterä (Agile): kyky vaihtaa nopeasti suuntaa muuttuvien tilanteiden mukaan, esim. muuttuvat vaatimukset • Scrum: projektinhallinnan osuus ketterästä ohjelmistokehityksestä, työntekijät jaetaan tiimeihin ja rooleihin, tehtävät jotka tarkoitus yhden Sprintin aikana suorittaa • Sprint: yksi iteraatiokierros jossa halutut ominaisuudet tarkoitus tuotteelle saada suunniteltua, toteutettua, testattua ja dokumentoitua. Kesto 7-30 päivää. • Sprint Backlog: ominaisuudet jotka yhden Sprintin aikana tarkoitus saada toteutettua • Tehtävä (Task): yhden henkilön tehtäväksi asetettava työtehtävä, suoritus. Koko n. 1t – 2pv.
Tekninen suunnittelu Mitä ketterä ohjelmistokehitys tarkoittaa? • Asiakaslähtöisyys ja asiakkaan tyyväisenä pitäminen • Asiakkaan haluamat ominaisuudet voidaan nostaa tehtävälistalla ylemmäs • Julkaistaan uusi versio sprintin jälkeen – asiakas näkee mitä tuotteelle tapahtuu • Selkeä aikajana missä tehtävät tulee saada tehdyksi • Aikataulun pettäminen tunnistetaan ajoissa • Pyritään ehkäisemään riskien syntymistä ja saamaan nopeasti tulosta aikaiseksi • Ison hankkeen jakamista yhden henkilön päivittäisiksi tehtäviksi • Työtehtävät (task) edistymisen mittarina • Ohjelmiston suunnittelu muodostuvaksi pienistä osasista tulee ”itsestään” • Keskitytään yhteen asiaan kerrallaan – kaadetaan metsä yksi puu kerrallaan
Tekninen suunnittelu Työvälineet • Ketteryys toteutuu työskentelytapojen muuttamisessa sellaisiksi että ne tukevat projektityöskentelyä ja tiimityöskentelyä • Tehtävienhallinta • Projektinhallinta • Tuotteenhallinta • Työntekijöiden tekemät tunnit paikannettavissa aina osatehtävittäin • Tietokoneohjelman kautta tieto välittömästi missä vaiheessa ollaan menossa, pysytäänkö aikataulussa ja miten hyvin ollaan onnistuttu arvioimaan tehtävien vaatimat työmäärät • Yksikkötestaus ohjelmiston toteutuksessa • Käytännössä sovelluksia joissa projekti pätkitään sopivan kokoisiin palasiin, nämä määritellään tiettyjen työntekijöiden osatehtäviksi • kshttp://www.agilefant.org
Tekninen suunnittelu Scrum käytännössä • Yhden Sprintin aikana tiimi jatkuvassa vuorovaikutuksessa, tiimin tarkempia pisteitä ovat: • Päiväpalaveri (Daily Scrum) joka 15 min, mitä tapahtunut sitten eilisen, mitä aiot tehdä tänään? • Sprintin suunnittelupalaverissa määritellään mitä töitä tiimin tarkoitus tehdä • Paljonko tunteja käytettävissä • Mitkä ominaisuudet tarkoitus toteuttaa • Sprintin arviointipalaverissa käydään läpi mitä kaikkea jakson aikana saatiin tehtyä, loppupalaveri.
Tekninen suunnittelu Ongelmia • Dokumentointi ja suunnittelu vievät edelleen aikaa • Tehokkuuden nimissä saatetaan tehtävissä ajatella vain kuinka kauan tietyn osan ohjelmoinnissa kuluisi • Tehtävä voi olla niin pieni ettei tunnu järkevältä sitä erikseen paljoa dokumentoida / suunnitella • Työympäristön tulee olla valmis toimimaan ketterästi • Vaatii työympäristöltä ja työntekijöiltä motivaatiota ja innostusta • Asiantuntijoita jotka valmiita joustamaan tilanteen mukaan • Kuluttavuus • Kun tehdään koko ajan uutta tehtävää 100% vauhdilla tulee työhyvinvointiin kiinnittää huomiota
Tekninen suunnittelu Linkkejä ja lähteitä • Wikipedia: Ketterä ohjelmistokehitys • http://fi.wikipedia.org/wiki/Ketter%C3%A4_ohjelmistokehitys • Jyväskylän yliopisto • https://koppa.jyu.fi/avoimet/thk/muut/agile-ja-trac/agile • Ketteriä työkaluja • http://www.agile-tools.net/ • http://www.atlassian.com/agile/tools/