Egenskaper ved vår prosjektmetodikk

Vi anbefaler bruk av DSDM og Scrum i våre prosjekter. DSDM og Scrum hører inn under kategorien Smidige prosjekter. Dette er en metode som tar høyde for endring under prosjektgjennomføringen.

Mange systemutviklingsprosjekter leverer ikke iht forventningene hos sluttbruker. Slike prosjektfeil kan klassifiseres som fem basis typer:

  1. Systemet møter ikke de forretningskrav som det opprinnelig var utviklet for. Konsekvensen er at systemet blir ignorert eller man påtar seg dyrt vedlikehold.
  2. Det er ytelsemessige svakheter i systemet som gjør det ubrukelig for brukerne. Igjen blir systemet enten ignorert eller offer for forbedringer med unødig høye kostnader.
  3. Feil oppstår i systemet som forårsaker uventede problemer. Feilretting må utføres med ytterligere kostnader.
  4. Brukerne nekter å benytte systemet pga politiske årsaker, manglende involvering eller manglende eierskap.
  5. Systemer er i utgangspunktet akseptert, men blir uhåndterlig over tid og brukerne slutter deretter å benytte dem.

DSDM søker å forebygge alle fem typer prosjektfeil.

En grunnleggende antagelse i fremgangsmåten med Smidige prosjekter er at ingenting kan bygges perfekt første gangen, men at 80% av løsningen kan produseres på 20% av tiden det ville ta å utvikle hele løsningen. Et fundamentalt problem med tradisjonelle fremgangsmåter i programvareutvikling er forventningene om at potensielle systembrukere kan forutse hva alle deres krav vil være i en noe distansert fremtid. Problemet oppstår fordi introduksjonen av et nytt datasystem medfører at brukernes krav endrer seg. Dette som følge av endringer i arbeidsprosessene.

I et klassisk, sekvensielt fossefallsdrevet prosjekt, kan ikke neste trinn i prosessen startes før det forrige er helt ferdig og testet fullt ut. I praksis tilbringes mye tid i å utvide systemet fra en 80% løsning til en komplett ferdig løsning, hvor man antar at ingen trinn trenger gjennomgang. Dette innebærer at mye tid går med til å revidere ”ferdige” trinn og utrede feil som tidligere har blitt akseptert. Resultatet er enten at prosjekter blir forsinket eller går over budsjett, eller at prosjektet ikke klarer å dekke forretningsbehovet siden man ikke har benyttet tiden til å revidere kravene.

Smidige prosjekter antar at tidligere trinn kan revideres som en del av den iterative tilnærmingen. Det inneværende trinnet behøver bare kompletteres i den grad det er nødvendig for å gå videre til neste trinn, fordi det kan ferdigstilles i neste iterasjon. Med antagelse om at kravene sannsynligvis vil endre seg ettersom forståelsen øker, vil videre arbeid være bortkastet.

Applikasjoner som bygges i Smidige prosjekter adresserer eksisterende og umiddelbart forestående krav til forretningen, fremfor en fossefallsdrevet fremgangsmåte hvor man angriper antatte muligheter. Det forventes derfor at systemet vil dekke de faktiske forretningsmessige behov, være enklere å teste og sannsynligvis bli bedre akseptert i brukernes arbeidsmiljø. Siden utviklingskostnadene av de fleste applikasjoner utgjør en liten del av de totale livsløpskostnadene, er det meningsfylt å bygge enklere systemer som dekker behovet og som er enklere å vedlikeholde og modifisere etter innledende utvikling. Det siste er mulig fordi vedlikehold kan betraktes som en neste del-leveranse til den fullverdige løsningen.

Den underliggende filosofien i DSDM og Scrum er den samme. Begge gjennomføres med iterative og inkrementelle leveranser. Mens DSDM understreker nødvendigheten av å involvere brukerne og forretningssiden, presiserer Scrum viktigheten av et dynamisk prosjektløp med sterk oppfølging på prosjektets fremdrift og ikke minst kontinuerlig forbedring i utviklingsprosessen.

Les mer om DSDM.