Scale - inamicul succesului

Limita de proiect se caracterizează prin amploarea acestuia. Cât de mult timp, efort și resursele necesare pentru punerea sa în aplicare? Ce funcționalitate este nevoie și de modul în care pentru a ajunge la nivelul de calitate? Cât de greu este să predea produsul la o anumită dată? Care este nivelul de risc? Care sunt limitele? Răspunsurile la aceste întrebări definesc limitele proiectului. arhitecți software preferă provocarea pe care-l aruncă o mare de proiecte, complexe. Avantaje potențiale ispiti chiar și pe oameni să crească în mod artificial dimensiunea proiectului pentru a crește importanța sa aparentă. Cu toate acestea, extinderea limitelor - inamicul de succes, deoarece probabilitatea de eșec crește mai repede decât se aștepta. Creșterea dimensiunii proiectului de două ori mai multe ori duce la faptul că probabilitatea de eșec crește considerabil.

De ce se întâmplă acest lucru? Luați în considerare câteva exemple.

• Intuitiv vom aloca de două ori mai mult timp sau resurse pentru a dubla volumul de muncă. Cu toate acestea, istoria arată că 1. relația dintre ele nu este la fel de liniar, ca intuiție. De exemplu, ca o echipă de patru ori mai mare decât costul de interacțiune crește cu mai mult de jumatate comparativ cu o echipă de doi oameni.

• Estimările noastre - nu este o știință exactă. Cine dintre noi nu au ajuns într-o situație în care punerea în aplicare a unor funcții sunt mult mai greu decât se aștepta inițial.

• Aflați nevoile reale. Proiectul trebuie să asigure conformitatea cu cerințele stabilite. Cerințe definesc funcționalitatea sau unele dintre calitățile sale. Pune la îndoială cu privire la orice cerințe care nu sunt descrise în așa fel încât valoarea lor pentru client poate fi măsurat. În cazul în care cererea nu are nici o semnificație practică, de ce este necesar?

• «divide și cucerește„. Uita-te pentru oportunități de a împărți lucrările în fragmente mai mici independente. Gestionarea mai multor proiecte mici independente, mai ușor decât un proiect mare cu piese interdependente.

• Atribuiți priorități. volatila de afaceri mondială. În proiectele mari, cerințele se schimbă de mai multe ori de-a lungul drum. Într-adevăr importante cerințe sunt stabilite în mod normal și să rămână, indiferent de modul în care modificarea condițiilor economice, în timp ce alte cerințe sunt modificate sau chiar dispar. Un sistem de prioritate permite realizarea celor mai importante cerințe în primul rând.

• Să demonstreze rezultatele cât mai curând posibil. Oamenii rareori dau seama că au nevoie până când obține nici un rezultat. Într-o carte de benzi desenate [7] prezinta evolutia swing copiilor proiectului: care a spus, clientul și cerințele sale de a înțelege participanții la proiect să îndeplinească anumite roluri. Rezultatul este o construcție inteligent, doar vag amintește de leagăn. Și ultima cifră cu titlul „Ceea ce clientul a dorit“, arată o simpla legănare a anvelopelor auto pe o frânghie. În cazul în care clientul are ceva ce el poate experimenta personal, uneori, soluția este mai simplă decât se aștepta. În cazul în care punerea în aplicare primară a celor mai importante caracteristici pe care ca un feedback pentru a obține cele mai importante informații într-un stadiu incipient, atunci când este cel mai necesar.

Sustinatorii metodologii agile ne îndeamnă să construiască „cel mai simplu lucru ar fi să lucreze“ [8]. Eșecurile proiecte cu arhitectură complexă apar mult mai frecvent decât simplu. Reducerea limitelor proiectului de multe ori duce la o simplificare a arhitecturii - și aceasta este una dintre cele mai eficiente strategii pentru a îmbunătăți șansele de arhitect de succes a proiectului.