Undervisning i Smidige metoder ved Universitetet i Oslo Dag Sjøberg Professor ved Ins4tu7 for informa4kk Universitetet i Oslo Dag Sjøberg, Universitetet i Oslo 1
Planer for undervisning Kurs INF1050 Systemutvikling/software engineering Begynnernivå (2. semester) opp4l 300 studenter, Mange temaer, noen 4mer om prosesser og smidig utvikling Kurs INF5180 Prosessforbedring og smidige metoder i systemutvikling Masternivå Smidig ny7 i 2011 Dag Sjøberg, Universitetet i Oslo 2
Undervisning på universitetsnivå Fundamentale prinsipper fremfor engelske buzzwords, dvs. flyktige moteriktige teknikker og metoder. Skal vi lære opp 20 åringer 4l bli ekstreme programmerere eller bli gode i rugby? Forsknings- eller evidensbasert fremfor synsing Balansert fremfor karikert frems4lling av ulike metoder Hva er kost ny7en ved ulike smidige metoder sammenlignet med tradisjonelle metoder? Dag Sjøberg, Universitetet i Oslo 3
At verden forandrer seg, er ikke noe ny? Fred Brooks 1987: Much of present-day software-acquisition procedure rests upon the assumption that one can specify a satisfactory system in advance, get bids for its construction, have it built, and install it. I think this assumption is fundamentally wrong, and that many software-acquisition problems spring from that fallacy. Hence, they cannot be fixed without fundamental revision revision that provides for iterative development and specification of prototypes and products. Agile Manifesto 2001: - krav endrer seg, korte iterasjoner, tett kundekontakt Dag Sjøberg, Universitetet i Oslo 4
Hva betyr Smidig? Hvordan formidler man hva smidig er til studenter som ikke har lært eller erfart hva tradisjonelle, dvs. ikke-smidige metoder er? Begynnernivå: Her finnes det noe man må lære etter hvert Ferske studenter uten arbeidserfaring Bedre med programmeringsnære teknikker (XP, f.eks. parprogrammering) enn prosessaspekter (Scrum, Kanban)? Masternivå: I dybden til en viss grad Dag Sjøberg, Universitetet i Oslo 5
Hva bør det fokuseres på i et systemutviklingskurs? Smidig versus plan-drevet/dokumentdrevet utvikling Iterativ, inkrementell utvikling (RAD, DSDM, RUP) Programmering (XP) Prosess/prosjektorganisering (Scrum) Produksjonsflyt/kundefokus (Kanban) Utvikling versus vedlikehold/videreutvikling Dag Sjøberg, Universitetet i Oslo 6
Hvilke metoder bør brukes når, dvs. i hvilke kontekster og situasjoner? Dag Sjøberg, Universitetet i Oslo 7
Foreløpig lite forskning innen IT Svært få studier av modne, smidige team: Nødvendig med fokus på menneskelige og sosial faktorer for å lykkes Høy grad av individuell selvstendighet må balanseres med høy grad av team selvstendighet og felles ansvar Individuell kunnskap og 4lli7 mellom deltakerne i et team Istedenfor å forkaste tradisjonelle prosjektledelsesmodeller som state-gate, bør man heller dra fordel av disse og kombinere dem med smidig ledelse Smidige metoder er ikke nødvendigvis det beste valget for store prosjekter Det lave antall og til dels dårlige studier, gjør det vanskelig å gi definitive og detaljerte råd om bruk av smidige metoder Tore Dybå and Torgeir Dingsøyr. 2008. Empirical studies of agile so\ware development: A systema4c review. Inf. So(w. Technol. 50, 9 10 (August 2008), 833 859 Dag Sjøberg, Universitetet i Oslo 8
Få tunge arjkler om smidig (Dingsøyr, et. al. 2010) konferanser 4dsskri\er Dag Sjøberg, Universitetet i Oslo 9
TeamIT Forskningsprosjekt Mål: Forsker på hvordan oppnå effektivt teamarbeid innenfor og på tvers at utviklingsteam Firmaer Comptel Communica4ons Bekk Consul4ng DNV So\ware Acando Forskningspartnere UiO IFI SINTEF IKT Dag Sjøberg, Universitetet i Oslo 10
Open Space: Undervisning i smidig Feedback ønskes! Dag Sjøberg, Universitetet i Oslo 11