Projektet er blevet forsinket primært fordi kundes kravspecifikation var for dårlig.
Nej - projektet er blevet forsinket fordi du har nedprioriteret det. Iøvrigt med verdens dårligste argument - du kan ikke bare nedprioritere en kunde fordi du har fået et bedre tilbud, eller fordi du har aftalt en pris der er for lav. En aftale er en aftale. Hvis det viser sig at man har regnet helt galt, så har man jo muligheden for at tage problematikken op med kunden - og evt genforhandle, opsige eller justere kontrakten. De duer ikke bare at lade stå til og vente på at deadlinen blvier overskredet.
Kravspecifikationen har du jo selv sagt god for - så hvis kunden kommer med krav der ikke ligger defineret i kravsspecifikationen - så har du mulighed for at tage denne diskussion med kunden og få ham til at forstå at ændringer koster ekstra.
Dvs. hvis der er alt for stor diskreppans mellem din opfattelse og kundens opfattelse af hvad der står i spec'en, og den ikke er præcis nok, så har du fejlet ved ikke at stille spørgsmål og få dele af specifikationen klart defineret.
Kort sagt har du ikke brugt tid nok på at sætte dig ind i kundens behov. Og det er nok det allervigtigste når du indgår aftaler - især dem der indebærer fast pris og dagbøder :o)
Så et godt råd (ud over at forbedre din måde at kommunikere med dine kunder på, og forsøge på at komme ud af det på en sober måde), er at bruge rigtigt meget tid på at sætte dig ind i dine fremtidige projekter. Når du sidder som ene mand, så prøv at kigge lidt på Extreme Programming metodikken (læs evt. Extreme Programming Explained af Kent Beck), hvor der køres med meget korte release-cycles, og hvor der sættes store krav til kunden om at afsætte tid til evaluering og test under hele udvikingsforløbet.
Den indholder også guldkorn omkring de fire vigtigste parametre : Pris,Tid, Kvalitet og Scope, og teknikker til at vurdere et projekt, ved at bryde det ned i enkeltdele/moduler. Kunden får så 100 point han kan fordele på vigtigheden af disse moduler, og du laver en vurdering af tiden det tager for hvert enkelt modul efter at have talt med de "rigtige kunder" - dvs. de forskellige typer af brugere der måtte være i forskellige dele af systemet.
Så kan du lave en bar-graph hvor højden udgør vigtigheden af det enkelte modul - de vigtigste sættes først, og bredden udgør tiden/prisen på udvilklingen. Og så er det forholdsvist enkelt for kunden at trække en linie der fjerner "Nice To Have"-funktionaliteterne, set i relation til størrelsen af hans pengepung.
En anden metode er at bede kunden om at skrive manualen inden projektet går igang :o)
Forberedelse,planlægning og dialog er en stor del af et IT-projekt, uanset om det er stort eller småt. Og konstant dialog med kunden undervejs er alfa omega.
Håber du kan bruge det til noget.
Held og lykke med det
mvh
Jan