Hva er de største problemene med softwareprosjekter?

Slides:



Advertisements
Liknende presentasjoner
Hvor stor er en fisk? Yggdrasil Hvor stor er en fisk?  Vanlige kundetyper og prosjekter  Faktorer som påvirker.
Advertisements

I.
Risiko Sannsynlighetsgradering:1 = Lite sannsynlig (kan inntreffe mindre enn én gang hvert 100. år) 2 = Mindre sannsynlig (kan inntreffe mellom én gang.
Forberedelse OpplæringSpesifikasjonerImplementasjon Installasjon Test løsning Last testing Kunde Konsulenter Leverandører ? ? ? ?
Titanic Developer Team består av :
Er standarder en betingelse for godt evalueringsarbeid? Foredrag på EVA-seminar 8 Hurdalsjøen 5-6 september 2002 Hans Torvatn, SINTEF Teknologiledelse.
Hvordan oppnå GOD kommunikasjon med dine målgrupper?
Praktisk info til prosjektkunder
Mitt selskap og logo KF oppgave Av FLT Student.
Hva trenger jeg av data, og hvordan skal jeg innhente disse?
Elementer av en utviklingsprosess
Økende behov for markedsinput i produktutviklingsprosessen
Kontrakter i Smidig systemutvikling
Om smidig brukerkommunikasjon Smidig 2011 Johannes Brodwall Steria Norway.
KOMMUNEVALGET 2011 FAGFORBUNDETS KAFFEKURS Tema: Privatisering.
Foreldresamarbeid Kan vi gjøre det enda bedre ?
- Fast tilbud om brukertester som støtte til smidig – prosessen!
Tannpleiernes tannpine -podcasting ved Odontologisk fakultet.
MS kap 61 Nye trender  Vi skal se på  Virtualisering  ”Cloud computing”
Kunstner: Oddmund Mikkelsen
Den store ID-quizen Hvem er du? - Ta testen nå!.
© PROGRAM UTVIKLING as Vellykkede prosjekter leverer hyppig Johannes Brodwall, Steria Chief Scientist, Utvikler, Arkitekt, Sertifisert ScrumMaster.
Hvem stakk av med produkteieren min?
Risiko Sannsynlighetsgradering:1 = Lite sannsynlig (kan inntreffe mindre enn én gang hvert 100. år) 2 = Mindre sannsynlig (kan inntreffe mellom én gang.
XP som læringsmetode Hvorfor Mål Metode Resultater Hva så ? Akerjord, Samuelsen, Tolsby; Stenseth Prosjektet er støtte av Norgesuniversitetet. En artikkel.
EVALUERING AV PRODUKTER, PROSESSER OG RESSURSER. Gruppe 4 Remi Karlsen Stian Rostad Ivar Bonsaksen Jonas Lepsøy Per Øyvind Solhaug Andreas Tønnesen.
Grunnleggende testteori
Prototyping In 140 Sommerville kap. 8. Mål Forstå hensikten med prototyping i forskjellige utviklingsprosjekt Forstå forskjellen mellom evolusjonær og.
I dag snakker vi om: Brukergrensesnitt med kvalitet Bruksegenskaper Normans 7 stadier Testing med papirprototyp.
Empiriske metoder Oppgaveanalyse, observasjon
Mange IT-prosjekter kunne med fordel vært drevet mer som en Lean Startup.
Iterate.no The Lean Software Development Consultancy Prolog: Case 2 ‣ Et prosjekt fra gamledager ‣ Prosjektleder sa “Godt nok!” ‣ Kunden sa “Hva?? Skal.
And Together. Free your energies Bodil Rabben 16.november 2010 Modne og modige kunder og leverandører.
Testing av system Gruppe 6 Henrik Bækhus Morten A. Iversen Mathias Bondeson Gunnar K. Kulleseid Svein Ivar Kristiansen Ronny Hulthin.
Improving Products Gruppe Presenteres av : Hege-Kristin Johansen Herman Kolås Marianne Ates Marit Finden Jonas Lillevold André Johansen Tom.
1. Vår høyeste prioritet er å tilfredsstille kunden gjennom tidlige og kontinuerlige leveranser av programvare som har verdi.
Tema: Test First Positivist: Det som ikke kan måles, eksisterer ikke! Reduserer sjanser for defekter! Gir en oppdatert ”TODO-liste” Gir trygghet til å.
ROOTS Johannes Brodwall, Kløne Steria Norway
Opplev smidig programmering
Diskusjonsopplegg om ungdom og alkohol - for foreldre med tenåringer
Læring prosjektpraksis Førsteamanuensis Prosjektledelse,
Prosjektbase for Vox – et fleksibelt IT-prosjekt (case fra virkeligheten) NSP Temadag 18.februar 2004 Ola Grumstad, PMP, Daglig leder HolteProsjekt Solutions.

Hva er det vi har behov for å få hjelp til av spesialisthelsetjenesten? Av Per Willy Ormestad, Sosionom m/spesialkompetanse i sosialt arbeid på rusfeltet.
ForfatterProsjektittel Avdelingsbetegnelse for driftsenhet som kan ha to linjer 1 LOS-programmet LOS-programmet innfører FIF – Felles integrert.
Del 3 God intern kommunikasjon – vær trygg
INF 1500; introduksjon til design, bruk og interaksjon
Å omfavne forandringer med ekstrem programmering(XP) Brukt i In140 Skrevet av Ola Bø Bygger på Kent Becks artikkel "Embracing change with extreme programming."
Magnus Haug Algoritmer og Datastrukturer
Er uglen smart? Vi har forsket litt og her er svarene.
Kontinuerlig kvalitetskontroll. Hvordan komme helt i mål.
Prosjektavslutning og sluttrapport
Og.
BUCS Utfordringer og valg av fokus Tor Stålhane. Rammebetingelser Første spørreundersøkelse viser at det vi gjør må kunne: Brukes sammen med UML Passe.
4. Prioritizing Your Usability Problems Prioriteringer.
Fra forskning til forretning Oslo, 13. Mai 2003 Perler for svin eller gråstein til gull Jo Klaveness Professor i farmasi Innhold: Dagens situasjon Viktige.
Hva skjer med klienten i brukerens tidsalder? Ingerid Aamodt
Sentral vs. desentral økonomifunksjon
Brukermedvirkning In 140 Forelesning. Historie Skandinaviske tradisjon Sosio-teknisk metode NJMF-prosjektet( ) –Dataavtalen LO-NAF(i dag NHO) –Arbeidsmiljøloven.
Gamle systemer In 140 Forelesning Nr 19 Sommerville kap 26.
Veiledning Beslutningsprosess
Finn puslespillbitene Å være kildekritisk til informasjon på nett.
Kap. 25 – Simpler Software Development for Niche Companies How Information Technology Is Conquering the World: Workplace, Private Life, and.
Brukbarhetstesting og feltstudier INF 1500; introduksjon til design, bruk og interaksjon 7 november 2010.
Ingen flere store offentlige IT- prosjekter? Magne Jørgensen Simula, UiO og Scienta.
Den gode kunde Kompetanse, involvering og kultur Magne Jørgensen Simula Research Laboratory.
Hva har vi sett? Hvilke råd har vi gitt? Hjelper rådene?
Brukbarhetstesting og feltstudier
Utkast til produksjonsplan/releaseplan
PRESENTASJONER Minutter Foiler Font 10 –
Utskrift av presentasjonen:

Hva er de største problemene med softwareprosjekter? Vi aner ikke hvor mye det koster, eller når det er ferdig Vi har ingen plan, eller planen følges ikke Beslutningsprosessen er preget av handlingslammelse, beslutningsvegring, ansvarsfraskrivelse og kommunikasjonsvansker Levert programvare har uforutsigbar kvalitet Mange feil Vanskelig å endre

Aftenposten 4 mars: Offentlig IT-sprekk for 6 mrd. hvert år Forskere fra Simula Research Laboratory har funnet ut at offentlige IT-prosjekter i gjennomsnitt sprekker med 67 prosent, mens IT-prosjekter i privat regi "bare" sprekker med 21 prosent. Dette koster skattebetalerne inntil 6 milliarder kroner i året. Aftenposten 4 mars: Offentlig IT-sprekk for 6 mrd. hvert år ”Mye tyder på at de offentlige kundene gjør for dårlig forarbeid når de lager kravspesifikasjonen og når de inngår kontraktene. Samtidig opplever mange av leverandørene at det underveis er mye sendrektighet og lange beslutningsprosesser i offentlige etater”, sier Moløkken. Aftenposten 4. mars

Vanlige reaksjoner: Bli grundiger Aftenposten: IT-konsulent Helge Gundersen i selskapet Objectnet kjenner seg igjen i konklusjonene fra undersøkelsen. ”Det er alltid en viss risiko i IT-prosjekter, og det vil av og til oppstå overskridelser. For oss som leverandører er det ikke minst viktig at kravspesifikasjonen i oppstarten er så detaljert som mulig. Her er nok private selskaper flinkere enn de offentlige etatene”, sier han. Computerworld: Aftenposten skriver at "de offentlige kundene gjør for dårlig forarbeid når de lager kravspesifikasjonen og inngår kontraktene". Avisen anbefaler at kundene skal lage meget detaljerte kravspesifikasjoner i starten av prosjektet og deretter følge dem til punkt og prikke. Denne tankegangen gikk ut på dato for ti år siden.

Hvorfor? Forsøkene på kur har fungert mot sin hensikt Langvarige estimering, analyse, design uten forankring i erfaringsdata Formelle overhendinger mellom personer eller organisasjoner preget av ansvarsfraskrivelse og beslutningsangst Endring håndteres som unormalt, mens endring er normen i softwareprosjekter Er programvareutvikling uforutsigbart? Nei, mener vi Men man trenger gode erfaringstall fra denne teknologien, i dette løsningsområdet, med disse personene!

Hva trenger vi? Erfaringsdata som forbedres underveis – forbedrer beslutningsgrunnlaget Mulighet til å endre mening for en rimelig penge – forhindrer beslutningsvegring Teknikker for å forbedre kvalitet

Hvordan får vi det? Metafor – prosjektmotoren Input – oppgaver i prioritert rekkefølge Implementerbare - leverbare Sammenlignbare i omfang Kan implementeres i relativt vilkårlig rekkefølge Output – ferdig testet (helst produksjonssatt) programvare Bi-output – kostnadsstatistikk Jo bedre programvaren en, desto mer realistisk blir prosessen

Resultat Vi kan endre oppgavelisten, så lenge vi ikke ønsker å endre det som er tatt inn i motoren Vi kan bruke erfaringsdata til å spå hvor hurtig vi kommer gjennom oppgavelisten

Å bruke prosjektmotoren Kunden/forretningsansvalig spesifiserer krav til oppgaveliste Utviklingsteamet grupperer oppgaver i størrelseskategorier Kunden/forretningsansvalig prioriterer oppgaver Erfaringsdata brukes til å forutsi framdrift (”yesterday’s weather”) Kunde/markedsansvalig bruker fremdrift og forretningskunnskap til å bestemme eksterne leveranser The planning game

Forutsetninger – det er her XP kommer inn i bildet Produktet kan endres uten høy kostnad Kvaliteten på levert programvare er høy Oppgaver må ha relativt liten avhengighet til hverandre eller til spesifikke ressurser Unngå masse tid på aktiviteter som ikke er leverbare Det som er levert fra prosjektmotoren kan produktsettes ”Produktansvarlig” må være involvert i prosjektet Dette er naturligvis noe vi veldig gjerne vil ha uansett!

Å gjøre programmer endringsdyktige Forbedre designet etter behov – refactoring Et enkelt design, som kun gjør det det skal – simple design Støttet opp av gode enhetstester – test-driven design Alle kan endre det de trenger – collective code ownership (don’t own code, own tasks) All kode er revidert av et annet par øyne – pair-programming

Å forbedre kvaliteten Enhetstester Integrerte testere/brukere – on-site customer All kode er revidert – pair programming All kode brukes til noe nå – ingen tidsbomber - simple design + test driven development

Å gjøre seg ressursuavhengig Mer enn en person kjenner all kode – pair programming Ingen må vente på andre for å endre kode – collective code ownership En utviklers kode avviker skjelden fra felleskoden – continous integration

Typisk implementasjonsløp Utvikler tar første oppgave Utvikler avklarer eventuelle spørsmål når de oppstår med bruker/forretningsansvarlig Utvikler integrerer med resten av gruppen Utvikler refaktorerer tilgrensende kode for å forenkle oppgaven Utvikler bruker test-driven development til å utvikle oppgaven Utvikler refaktorerer resultatet Utvikler samarbeider med en tester for å verifisere akseptansekrav (helst automatisk)

XPs 12 teknikker Refactoring Simple design Test-driven development Collective code ownership Pair programming The planning game Continous integration Whole team (was: Customer on-site) Sustainable pace Frequent releases Metaphor (ubiquitous language) Coding standards

4 verdier Feedback Enkelhet Snakke sammen Mot Uten data kan vi ikke ta informerte avgjørelser Enkelhet Hold mulighetene oppe Bruk ikke tid på spekulative ting Snakke sammen Ikke kast dokumenter og ansvar til neste person på andre siden av veggen! Mot Til å starte med noe selv om vi ikke vet alle detaljene for hele prosjektet Til å møte problemene nå, i stedet for senere

Noen støtteteknikker Uformelle visuelle modeller (Ambler, Fowler) CRC cards for analyse Daglige stand-up møter Big Visible Charts – burn-down charts

Hva jeg hadde snakket om dersom jeg hadde hatt 5 timer til Testing Enhetstesting – hvordan fungerer test-driven development? Test-utfordringer – GUI, databaser, nettverk, legacy Akseptansetesting Bugsrapporter Estimering Hvordan oppnå en hensiktsmessig oppgaveliste? Hvordan gi tilbud på fastprisprosjekter Utfordringer rundt parvis programmering