Prezentarea de catre
beneficiarul
aplicatiei
a unei specificatii tehnice care sa contina principalele caracteristici
dorite ale produsului. Aceasta prezentare se face mai mult din punct de
vedere managerial si nu al unui programator.
Furnizorul de software studiaza
specificatia
tehnica initiala si stabileste un numar de persoane din partea lui care
vor participa la faza de stringere de informatii detaliate (business
requirements) la sediul beneficiarului. Aceste persoane nu sunt
programatori. Ele trebuie sa inteleaga cit mai bine ce doreste
beneficiarul. Tot aici se stabilesc si persoanele din partea
beneficiarului care vor participa la aceasta operatiune, preferabil ca
aceste persoane sa fie conduse de catre managerul de proiect din partea
beneficiarului.
Se semneaza un contract pentru
faza de
stringere de informatii in care sunt trecute explicit numele
persoanelor din partea beneficiarului si a furnizorului care participa
la aceasta operatiune si termenul la care se termina aceasta
operatiune. Persoanele din partea beneficiarului care participa la
aceasta operatiune trebuie sa fie disponibile cit mai mult si sa nu
aiba alte sarcini de servici care sa-i deruteze de la aceasta
operatiune. Contractul se negociaza si se plateste de catre beneficiar.
Faza de stringere de informatii
dureaza
intre 2 si 4 saptamini, in functie de complexitatea
aplicatiilor. In aceasta faza beneficiarul va fi incurajat sa prezinte
mai detaliat modulele pe care
le doreste, functionalitatea acestora, algoritmii de calcul,
modalitatile de validare, regulile sale specifice ce trebuie
implementate in aplicatie. Se dau informatii privind numarul mediu de
documente ce vor fi prelucrate, numarul aproximativ de informatii care
vor fi introduse in baza de date, numarul si
formatul listelor principale pe care le doreste. Pentru o parte din
module, beneficiarul poate prezenta si poza unor ecrane pentru
preluarea datelor in viziunea sa, form-uri
nefunctionale execute de exemplu in Visual Basic.
Pe baza acestora, furnizorul de aplicatii isi face o idee privind
complexitatea aplicatiei, poate dimensiona aproximativ necesarul de
forta de munca. Tot in aceasta perioada se face si
inspectarea hardware-ului beneficiarului, a retelei, a tipurilor de
imprimante, a numarului de posturi de lucru pentru stabilirea
solutiilor care se vor alege.
Dupa terminarea fazei de
stringere a
specificatiilor, furnizorul de software stabileste o echipa care este
compusa din arhitectul proiectului, coordonatorul de proiect (project
manager) si programatorul principal care trece la redactarea caietului
de sarcini. Specificatiile sunt din ce in ce mai
precise, aplicatia se sparge in cit mai multe module distincte care pot
fi realizate si urmarite separat, modul de emitere a listelor (daca
sunt TXT sau PDF). Se descriu fazele de elaborare a aplicatiei si
termenele aproximative de predare partiala, de predare a versiunilor
beta pentru training-ul si controlul calitatii la beneficiar. Totodata
se stabilesc si termenele aproximative de prezentare in fata
managerilor beneficiarului a versiunilor
demonstrative.
In baza acestui document emis
de catre
furnizorul de software si care prezinta modul in
care el a inteles aplicatia solicitata si
capacitatea sa de a livra aplicatia in forma ceruta
se face si oferta de pret. Documentul acesta trebuie sa cuprinda 90%
din facilitatile si functionalitatile cerute de beneficiar, de obicei
acelea pe care furnizorul de software are siguranta ca le poate
implementa cu un cost sigur si la niste termene sigure,
"carnea" aplicatiei pentru care poate fi relativ
usor estimate costurile, necesarul de forta de munca. Pentru restul de
10% care reprezinta problemele mai delicate se lasa loc pentru anexele
la contract.
Se negociaza "la
sange" contractul pe baza ultimelor
specificatii tehnice elaborate de catre furnizorul de software si
agreate de beneficiar.
Se semneaza contractul care
trebuie sa
stabilesca neaparat urmatoarele:
* suma de plata contractata pentru pachetul de
baza rezultat din specificatiile tehnice
* suma acordata ca avans (15-20% din valoarea aplicatiei)
* termenul final aproximativ de livrare a aplicatiei
* termenele partiale de livrare a aplicatiei in
forma beta pentru certificarea de catre beneficiar a conformitatii
aplicatiei si aprobare a platilor partiale
* termenele partiale de plata (uzual 2 facturi pe luna)
* sedintele pentru prezentarea de demo-uri pentru echipa manageriala a
beneficiarului
* persoana din partea beneficiarului care raspunde de proiectul
respectiv si care raspunde de conformitatea aplicatiei cu
specificatiile tehnice
* numarul aproximativ de ore si oameni care vor fi prezenti la sediul
beneficiarului pentru documentare, pentru investigare hardware
* persoana din partea beneficiarului care raspunde de controlul
calitatii la beneficiar
* modalitatea in care beneficiarul va testa versiunile preliminare ale
aplicatiei, termene, tipul si numarul datelor de proba
* modalitatea de raportare a defectiunilor, preferabil direct
in sistemul de bug-tracking al furnizorului
aplicatiei
* modalitatea de desfasurare a sedintelor tehnice saptaminale la
beneficiar (fata in fata sau prin teleconferinta)
Odata semnat contractul se
trece la
executarea lui. Furnizorul de software incepe sa se
organizeze si stabileste echipa de lucru
Saptaminal , conducatorul de
proiect al
beneficiarului organizeaza o sedinta de lucru la el la care este
preferabil sa participe si coordonatorul de proiect al furnizorului de
soft. In aceste sedinte care pot fi tinute si prin teleconferinta
(telefon, web) se verifica stadiul la care a ajuns proiectul, se
evalueaza in procente cam cit la suta din "cutare"
modul a fost terminat, se verifica incadrarea in
niste termene. Se rezolva anumite probleme aparute pe parcurs ("nu ati
dat algoritmul de calcul al concediilor medicale"). Se evalueaza starea
controlului calitatii la beneficiar si numarul de defecte raportate de
catre beneficiar pe versiunile beta care au fost predate. Sedintele se
stabilesc si se anunta cu o saptamina inainte.
Conducatorul de proiect al beneficiarului poate solicita ca anumite
module sa intre in faza de proiectare si realizare
mai repede decit altele datorita unor conditii
specifice ("vreau ca modulul de bilant sa fie gata
pana la 15 Decembrie ca sa-l putem testa, si
aminati modulul de gestiune a stocurilor ca oricum nu ma intereseaza
acum"). Toate concluziile sedintei de lucru saptaminale se trec
intr-un document scris care este trimis ambelor
parti.
Ocazional, furnizorul de
software
stabileste
cu coordonatorul de proiect anumite zile in care o echipa din partea
furnizorului se deplaseaza la sediul beneficiarului pentru documentare,
pentru negocierea unor solutii tehnice, pentru a asista la procesul de
testare, pentru a cere lamuriri suplimentare. Deplasarile pot fi
organizate si la cererea beneficiarului. Aceste deplasari se platesc
separat de catre beneficiar si ele sunt aprobate de catre coordonatorul
de proiect al beneficiarului care se asigura si ca personalul care
colaboreaza la acest proiect este liber si disponibil in ziua
stabilita.
Odata la 3 luni, cei doi
coordonatori de
proiect ale celor doua parti stabilesc cu 2 saptamini inainte sedinta
cu echipa manageriala a beneficiarului pentru prezentarea produselor
demo, faze intermediare ale aplicatiei. Acestea sunt esentiale ca
beneficiarul sa aiba permanent convingerea ca se lucreaza la aplicatia
respectiva, ca se avanseaza permanent si ca banii pe care el
ii da periodic sunt cheltuiti cu rost.