Agile ClearCase Rwsug.fi 2009

711 views

Published on

Presentation in Finnish about agile development and some thoughts how to use IBM Rational ClearCase.
This was held in RWSUG.fi miniseminar 2009-03-19

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
711
On SlideShare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Agile ClearCase Rwsug.fi 2009

  1. 1. RP5 Agile Series Presentation ClearCase ja ketterä ohjelmistokehitys RWSUG ClearCase-pienseminaari 2009-03-19 Matti Teinonen, RP5 Software Oy, 2009
  2. 2. ClearCase ketterään tuotekehitykseen • Aiheet – Ketterä ohjelmistokehitys – ClearCase – Ketterä ClearCase? 2009-03-19 ClearCase ja ketterä ohjelmistokehitys 2
  3. 3. Lyhyt johdatus ketterään ohjelmistokehitykseen • Pienet itseohjautuvat tiimit • Iteraatiopohjaiset julkaisut • Iteraatioon otetaan rajattu muutospyyntösetti • Jatkuva integraatio. • Tuotteen omistaja mukana prosessissa. • Sopii parhaiten uuteen tuotekehitykseen. 2009-03-19 ClearCase ja ketterä ohjelmistokehitys 3
  4. 4. Ketterän ohjelmistokehityksen julistus Me etsimme parempia keinoja ohjelmistojen kehittämiseen tekemällä sitä itse ja auttamalla siinä muita. Tässä työssämme olemme päätyneet arvostamaan Yksilöitä ja vuorovaikutusta enemmän kuin prosesseja ja työkaluja Toimivaa sovellusta enemmän kuin kokonaisvaltaista dokumentaatiota Asiakasyhteistyötä enemmän kuin sopimusneuvotteluita Muutokseen reagoimista enemmän kuin suunnitelman noudattamista. Vaikka oikeallakin puolella on arvoa, me arvostamme vasemmalla olevia asioita enemmän. http://agilemanifesto.org/ Suomennos: wikipedia 2009-03-19 ClearCase ja ketterä ohjelmistokehitys 4
  5. 5. 12 ketterää periaatetta 1.Tärkeintä on täyttää asiakkaan 4.Liiketoiminnan ammattilaisten ja vaatimukset jatkuvilla ja riittävän ohjelmistokehittäjien on aikaisilla ohjelmistotoimituksilla. työskenneltävä yhdessä päivittäin koko projektin ajan. 2. Muuttuvat vaatimusmäärittelyt hyväksytään ja otetaan vastaan 5. Projektit rakennetaan tervetulleina, myös kehityksen motivoituneiden yksilöiden loppuvaiheessa. Ketterät menetelmät ympärille. Heille annetaan valjastavat muutoksen asiakkaan ympäristö ja tuki jota he tarvitsevat, kilpailueduksi. sekä luotetaan siihen, että he saavat työn tehtyä. 3. Toimivia ohjelmaversioita 6. Kaikkein tehokkain tapa toimitetaan säännöllisesti, muutaman tiedonvälityksessä kehitystiimille ja viikon tai kuukauden välein, kehitystiimin sisällä on kasvokkain mieluummin useammin kuin tapahtuva keskustelu. harvemmin. Janne Huttunen: Ketterän ohjelmistokehitysmenetelmän määrittely, vertailu ja käyttäjäkysely. Diplomityö 2006. http://lib.tkk.fi/Dipl/2007/urn007665.pdf 2009-03-19 ClearCase ja ketterä ohjelmistokehitys 5
  6. 6. 12 ketterää periaatetta 10. Yksinkertaisuus – 7. Toimiva ohjelmisto on ensisijainen työn edistymisen tekemättömän työn maksimoinnin taito – on olennaista. mitta. 8. Ketterät menetelmät suosivat 11. Parhaat rakenteet, kestävää kehitystä. Rahoittajien, vaatimukset ja suunnitelmat kehittäjien ja käyttäjien tulisi kyetä nousevat itseorganisoituvista pitämään jatkuvasti yllä tasainen tiimeistä. työtahti. 12. Tasaisin väliajoin tiimi arvioi, 9. Jatkuva huomion kiinnittäminen miten voisi tulla entistä tekniseen erinomaisuuteen, tehokkaammaksi, ja kehittää hyvään rakenteeseen sekä toimintaansa sen mukaisesti. suunnitteluun lisää ketteryyttä. 2009-03-19 ClearCase ja ketterä ohjelmistokehitys 6
  7. 7. Ketterän kehityksen menetelmiä • Adaptive Software (EssUP) Development • Extreme Programming • Agile Modeling (XP) • Agile Unified Process • Feature Driven (AUP) Development • Agile Data Method • Getting Real • Crystal Clear • Open Unified Process (OpenUP) • DSDM (Dynamic Systems • Development Method) Scrum • Essential Unified Process 2009-03-19 ClearCase ja ketterä ohjelmistokehitys 7
  8. 8. Agilemenetelmien yhteisiä piirteitä • Iteratiivinen ja inkrementaalinen – Tuotetaan toimiva tuote varhain, lisätään toiminnallisuutta joka iteraatiossa. • Kommunikointi kaikin keinoin – Naamakkain, sähköposti, pikaviestimet, wiki, videopuhelut,… • Kevyt byrokratia – Kevyt dokumentointi, lyhyet tilannekokoukset • Testit ensin • Kokemusperäinen ja objektiivinen 2009-03-19 ClearCase ja ketterä ohjelmistokehitys 8
  9. 9. Miksi ketterä kehitys? 2009-03-19 ClearCase ja ketterä ohjelmistokehitys 10
  10. 10. Siksi ketterä! 2009-03-19 ClearCase ja ketterä ohjelmistokehitys 11
  11. 11. Ketterä myös hajautettuna! 2009-03-19 ClearCase ja ketterä ohjelmistokehitys 12
  12. 12. Scrum ja XP suosittuja Lähde: Jeff Sutherland: Pretty Good Scrum 2008 2009-03-19 ClearCase ja ketterä ohjelmistokehitys 13
  13. 13. Scrum • Product backlog – omistajan arvojärjestys • Sprint backlog – tiimin valitsemat vaatimukset • Päivittäiset scrumit • Toimiva tuote joka sprintistä 2009-03-19 ClearCase ja ketterä ohjelmistokehitys 15
  14. 14. Ketterä kehitys siis toimii • Ketterä ohjelmistokehitys toimii. – Prosessi on kevyt – Nopeasti etenevä – Käytännössäkin innostava 2009-03-19 ClearCase ja ketterä ohjelmistokehitys 16
  15. 15. Ketterä != vapaa • Ketterää pidetään (väärin) perinteisen ohjelmistokehitystyön vastakohtana. • Agile – notkea • Iteratiivinen, asteittainen kehitystapa – Aikajakso viikkoja – Pitkälle viety yhteistyö – Aikajakso ei jousta • Ei Cowboy Coding:ia • Ketterä kehitys tarvitsee tukensa. 2009-03-19 ClearCase ja ketterä ohjelmistokehitys 18
  16. 16. Ketterä ohjelmistokehitys yrityksessä • Onko yrityksessä jo olemassa mitattua tietoa perinteisen ohjelmistokehityksen tehokkuudesta? • Mitä vaatimuksia yritys asettaa ohjelmistokehitysprojektin seurannalle? • Miten ketterä ohjelmistokehitys istuu yrityksen käytäntöihin? • Voidaanko ketterää mitata samoin kuin perinteistä? • Onko kyse muotisanasta? 2009-03-19 ClearCase ja ketterä ohjelmistokehitys 19
  17. 17. Oletteko ketteriä? Nokia-testillä selviää: • Osa1: Iteratiivista? • Iteraatioiden kesto max 4 viikkoa. • Ohjelmiston ominaisuuksien pitää olla testattuja ja toimivia joka iteraation lopussa • Iteraation on alettava ennen kuin vaatimukset ovat valmiita. • Osa 2: Käytättekö Scrumia? • Tiedättekö kuka on tuotteen omistaja? • Työlista on tuottoarvon mukaisessa järjestyksessä • Työlistassa on tiimin antamat työmääräodotukset • Tiimi tuottaa valmistumiskuvaajan tietää nopeutensa • Kukaan ei keskeytä tiimin työtä. http://jeffsutherland.com/scrum/Agile2008MoneyforNothing.pdf 2009-03-19 ClearCase ja ketterä ohjelmistokehitys 20
  18. 18. Tarve tietää projektista – Kuka tarvitsee/saa tietoa projektin ulkopuolella? – Mitä tietoa tiimin ulkopuolella tarvitaan? – Mitä on toteutettu koodiin? – Mitä muutoksia kukin piirre on tarvinnut? – Mitä on jäljellä? – Aikataulun pitävyys? – jne. 2009-03-19 ClearCase ja ketterä ohjelmistokehitys 21
  19. 19. Ketterän kehityksen edellytyksiä • Yleistiimit – Tiimissä kaikki roolit mukana asiakkaasta testaukseen. • Tiimin toiminta-alusta – Konfiguraationhallinta – Muutoksenhallinta – Laadunvarmistus – Tiedonvälitys – Yhteistyö 2009-03-19 ClearCase ja ketterä ohjelmistokehitys 22
  20. 20. IBM Rational ClearCase • Jo vuodesta 1992! • UCM vuodesta 1999 • VOB, elementti, versio, haara, leima, attribuutti, config_spec, dynaaminen näkymä, snapshot-näkymä, buildauksen välttely, stream, merge, delivery, rebase, … • Peruskurssi 2pv, konfiguraationhallintakurssi 1pv, hallinnointikurssi 2 pv, MultiSite-kurssi 2pv … • Agile? 2009-03-19 ClearCase ja ketterä ohjelmistokehitys 25
  21. 21. IBM Rational ClearCase • ClearCase on työkalupakki – Sen avulla voi rakentaa lähes kuinka monimutkaisen järjestelmän hyvänsä. – Perus-ClearCase, UCM, eri näkymätyypit, haaroitusrakenne, config_spec, eri menetelmät tuottaa ajettava ohjelma, integroinnit, triggerit, jne. • Ketterää varten valitaan vain tarvittava – Jokaista työtä varten ei tarvita koko pakin sisältöä. 2009-03-19 ClearCase ja ketterä ohjelmistokehitys 26
  22. 22. IBM Rational ClearCase ClearCase voi olla hyvin ketterä, jos teet sen sellaiseksi. tee-se-itse! KISS 2009-03-19 ClearCase ja ketterä ohjelmistokehitys 27
  23. 23. Ketterä ClearCase • Yksinkertainen haararakenne – Integrointihaara, jossa myös työskennellään – Erillinen julkistushaara • Snapshot-näkymät • Oletukseksi 'Unreserved Checkout' • Jatkuva integraatio, automaattiset testit • Tuotteen toiminnallinen jako • Julkaisu yhtenäisenä 2009-03-19 ClearCase ja ketterä ohjelmistokehitys 28
  24. 24. Ketterä ClearCase • ClearCase on työkalupakki – Kokoa oma ympäristösi • Ei MultiSiteä? • CCRC OK ! • Käyttö opeteltava • Integroinnit? • Käytön tuki • Projektin omat VOBit? 2009-03-19 ClearCase ja ketterä ohjelmistokehitys 29
  25. 25. Projektin data vs. Yrityksen datavarasto • Käytetään ClearCasea /main normaalisti, projektille /agiproj haara. – Data integroitavissa vanhaan – Ei paljon lisäadministrointia – Voi olla raskas käyttää – Ei tue hyvin rakenteen muuttamista 2009-03-19 ClearCase ja ketterä ohjelmistokehitys 30
  26. 26. Projektin data vs. Yrityksen datavarasto • Projektille oma VOBi /main – Integrointihaaste vanhaan agiproj /main • Merge esim. Scrumin lopuksi – Lisäadministrointia • Vobin alustus – Vapaampi käyttää – Kevyempi käyttää – Tukee rakenteen muuttamista 2009-03-19 ClearCase ja ketterä ohjelmistokehitys 31
  27. 27. Jatkuva integraatio • Jatkuva integraatio – Jokainen muutos aiheuttaa käännöksen – Perusviat löytyvät heti – korjataan heti – Yksikkötestaus mukaan • Automatisoitavissa – Clearmake – Build Force – xUnit, Ant –… 2009-03-19 ClearCase ja ketterä ohjelmistokehitys 32
  28. 28. Ketterä ClearCase • Ketterä ohjelmistokehitys ei poista ClearCase- administraattorin tarvetta. • Muutosjohtaja tarvitaan. • Kokemusten perusteella tarvittaessa muutoksia. 2009-03-19 ClearCase ja ketterä ohjelmistokehitys 33
  29. 29. Mietittävää • Tarvitseeko ketterän tiimin osata config_spec? • Autaisiko muutossetin liittäminen aktiviteettiin? • Tarvitaanko kevyt projektinhallinta? • Uskalletaanko jo ottaa käyttöön ClearCasen quot;uusiquot; käyttötapa – UCM (v1999) ? • Entä etäklientti? Tarvitsee vain http-yhteyden 2009-03-19 ClearCase ja ketterä ohjelmistokehitys 34
  30. 30. 2009-03-19 ClearCase ja ketterä ohjelmistokehitys 35
  31. 31. 2009-03-19 ClearCase ja ketterä ohjelmistokehitys 36

×