10 grunde til, at så mange softwareprojekter mislykkes
-BBC Digital Media Initiative (DMI) mislykkedes på grund af fejl i forvaltningen og forsinket levering. Det var et projekt, som alle havde set sig for, fordi det skulle digitalisere BBC’s produktion.
-En række årsager var skyld i fiaskoen med FBI’s Virtual Case File (VCF), men urealistiske forventninger var en af hovedårsagerne. Projektet spildte omkring 104,5 millioner dollars af skatteydernes penge.
-US Fed’s nye system gik amok den første nat, hvor det gik i luften og leverede 28 milliarder dollars i renter til forkerte medlemsbanker.
Hvordan kan velplanlagte softwareprojekter mislykkes? Var de virkelig godt planlagt? Det troede de i hvert fald. Desværre mislykkes mange projekter; det er faktisk blevet en så almindelig hændelse, at folk næsten ikke taler om det, diskuterer det, bortset fra de mennesker, der har været nødt til at gå igennem fiaskoen. I 2013 afslørede Innotas, et projektstyringsfirma, at omkring 50 % af de virksomheder, de undersøgte, havde fejl i projektstyringen. Nu, 4 år senere, er historien ikke meget anderledes. Hvad er årsagen til, at softwareprojekter mislykkes? Vi har undersøgt nogle af årsagerne ud fra vores observationer, hvad mener du?
1. Uafpasning af forretningsmål og projektresultater
Man kan sige, at prioriteterne er forskellige for forskellige virksomheder. For nogle virksomheder er fokus på at nå forretningsmål, mens det for andre er at levere projektet til tiden og inden for budgettet. Det er den tur, hvor de tager den forkerte vej og farer vild. Hvis både forretningsmål og projektresultater er tilpasset hinanden, er der gode chancer for, at softwaren ikke vil mislykkes. Men det er slet ikke nogen nem opgave.
2. Ikke i stand til at forstå, hvad der skal prioriteres
Manglende prioritering af, hvilke projekter der er vigtige. Lederen af projektledelsen sætter sig sammen med interessenterne og andre autoritative ledere i virksomheden for at beslutte, hvilke projekter der skal prioriteres. Derefter fordeler de ressourcerne og personalet og tager hensyn til budget og tid. Nogle gange går det galt, når de afstemmer forretningsmålene med projektresultaterne, og det kan også skyldes, at de ikke har fået prioriteret korrekt.
3. Vage krav
Et af de første skridt i enhver softwareudviklingscyklus er at forstå kundens krav. Medmindre kravene er klart kortlagt og godkendt af kunden, kan det være, at I begge ikke er på samme
samme side ved afslutningen af udviklingscyklussen.
4. Tidsbegrænsninger
Tidsbegrænsninger forhindrer ofte udviklere i at få klarhed over projektet fra kunden, og det kan føre til en masse omarbejde og mere ressourceallokering, samtidig med at det afspejler negativ omtale for virksomheden. Så lige før du sætter dig ned for at udvikle et projekt, er det vigtigt at lave en behovsanalyse og sikre dig, at alle, herunder kunden, er klar over, hvordan slutproduktet skal se ud.
5. Dårlig vurdering af tidsplanen
Udviklere er mennesker, og der er en grænse for, hvor mange timer de kan arbejde på en dag. Planlæg tiden på en logisk måde, så projektet bliver afsluttet som forventet, og udvikleren stadig er i live til at påtage sig et nyt projekt.
6. Ikke klar til at skubbe fristen
Projektledere og interessenter skal være hensynsfulde, når de sætter udviklerteamet i gang. Ja, en ekstra arbejdsdag øger udgifterne, men det vil være det værd i det lange løb.
7. En mærkelig urealistisk tidsplan vil kun forsinke projektet
I modsætning til hvad interessenter og projektledere tror, vil urealistiske tidsskalaer kun medføre store tab for virksomheden. Planlæg altid projektet på en sådan måde, at forventningerne er rimelige, afhængigt af arbejdsmængden.
8. Kommunikationsproblemer
Dårlig kommunikation er årsagen til mange fiaskoer i livet. Faktisk er det så vigtigt for alle, der er involveret i et projekt, at det helt sikkert vil være et pluspoint at gennemgå professionelle kurser i interpersonelle færdigheder. Kommunikation og budskaber skal deles korrekt, fordi modstridende synspunkter og holdninger kan ødelægge et projekt, før det er klar til at flyve. Projektlederen er ansvarlig for at fungere som mægler mellem alle, der er tilknyttet teamet. Sørg for, at budskaberne når ud til alle, især når det drejer sig om noget, der vedrører projektets resultat.
9. Ikke at få de rigtige folk til jobbet
Uhensigtsmæssig bemanding er en anden årsag til, at projekter mislykkes. Du har et team af gode udviklere. Men tror du, at de er et hold af den type, der passer til alle? Kan de håndtere alle de projekter, de får tildelt? Det kan være nødvendigt at tildele folk afhængigt af deres færdigheder. De rigtige personer, selv om de er dyre, vil vise sig at være gavnlige. Projektets kvalitet må trods alt ikke lide under det. Ineffektive eller middelmådige udviklere vil forsinke projektet, mens en 10x-udvikler vil holde styr på projektet i sin hånd.
10. Dårlig afprøvning
Softwaretestene slår fejl. Når alt er gjort, opdager du, at der er et kodningsproblem, som endnu ikke er blevet løst. Hvis du ikke har milepæle, der styrer kodeudviklingsfasen, kan projektet mislykkes. Du kan iværksætte automatiseret testning, hvor testeren skriver scripts og bruger en anden software til at teste de forskellige funktionaliteter i applikationen/softwaren. De forskellige typer af softwaretestning er
- Test af enheder
- Integrationstest
- Funktionel afprøvning
- Systemafprøvning
- Stresstest
- Test af ydeevne
- Test af brugervenlighed
- Godkendelsesprøvning
- Regressionstest
- Beta-testning
Det er tidskrævende, men det er bestemt indsatsen og tiden værd. Gennem testning kan du forstå projektets kvalitet; det er en slags verifikations- og valideringsproces.
Konklusion
Det er vigtigt at forstå projektet først og derefter tildele ressourcer og arbejdskraft. Giv dem tilstrækkelig tid til at arbejde på projektet og ressourcer, når de har brug for det. Følg ovenstående tips, og du vil sandsynligvis få et godt resultat.
Et sidste ord: Sørg for, at systemkravene er defineret og fastlagt på passende vis. Du har ikke råd til at have problemer med systemet, når softwaren er klar til at køre.
Flere oplysninger….
- 10 grunde til, at softwareprojekter mislykkes
- De mest almindelige årsager til, at softwareprojekter mislykkes
Flickr.com/ Patrizio Cuscito
Om forfatteren: Reema arbejder som Thought Leader hos PHPBabu.