Reorganizarea fiabilă a mediilor de afaceri și IT existente în arhitecturi moderne, competitive și integrate nu este un lucru trivial. Complexitatea mediilor de afaceri și IT s-a acumulat aproape necontrolat timp de patruzeci de ani, ceea ce face ca schimbările să fie din ce în ce mai costisitoare. Acest lucru se datorează faptului că:
- Complexitatea mediului este adesea exprimată în codul moștenit. Lipsa de competențe în materie de moștenire duce la creșterea costurilor de întreținere și integrare.
- Mediile complexe existente trebuie să fie reproiectate în faze care să aibă sens operațional pentru funcția de afaceri asociată. Aceste faze deseori se orientează în mod implicit către înlocuiri masive și riscante ale sistemelor, deoarece ignorarea complexității existente înseamnă că eventualele schimbări incrementale sunt prea greu de înțeles și de proiectat.
- Metodele de dezvoltare accelerată au lăsat întreprinderile cu sisteme moștenite moderne. Aplicațiile complexe Java și .NET au multe dintre aceleași probleme ca și aplicațiile COBOL mai vechi.
Ca urmare, o proporție din ce în ce mai mare a efortului de a dezvolta noi capacități de afaceri este cheltuită pentru a înțelege și a se integra cu sistemul complex existent și cu peisajul de afaceri, mai degrabă decât pentru a oferi valoare. S-a observat că până la 75% din efortul global al proiectului este acum cheltuit pentru integrarea și migrarea software-ului, mai degrabă decât pentru noi funcționalități.
Industria IT, în ansamblu, are o rată de succes scăzută în ceea ce privește realizarea unor astfel de schimbări pe scară largă pentru clienții săi. Sondajul CHAOS realizat de Standish Group a urmărit o îmbunătățire generală a succesului în ceea ce privește livrarea proiectelor IT în ultimii douăzeci de ani, dar chiar și în 2006 proiectele IT de mari dimensiuni încă eșuau mai des decât reușeau. Modificările de inginerie și în astfel de medii au multe paralele cu preocupările industriei construcțiilor în ceea ce privește reamenajarea siturilor industriale sau contaminate. Acestea sunt pline de pericole, de complexități neașteptate și au tendința de a fi riscante și costisitoare pentru reamenajare. Complexitatea acumulată a mediilor IT le-a transformat în situri „Brownfield”.
Nu complexitatea noii funcții sau orice caracteristici noi ale sistemului sunt rădăcina eșecurilor marilor proiecte – este vorba de înțelegerea și comunicarea noastră a cerinței generale (așa cum a fost identificată în Luna omului mitic). Pentru a reuși, cerințele trebuie să includă o înțelegere precisă și temeinică a constrângerilor afacerii și ale IT existente. Instrumentele și metodele actuale „Greenfield” utilizează abstracțiuni timpurii, informale și adesea imprecise, care ignoră în esență o astfel de complexitate. Abstracțiunile timpurii, prost informate, sunt de obicei greșite și sunt adesea detectate târziu în construcție, ceea ce duce la întârzieri, la reluări costisitoare și chiar la dezvoltări eșuate. O abordare orientată spre Brownfield îmbrățișează complexitatea existentă și este utilizată pentru a accelera în mod fiabil procesul general de inginerie a soluțiilor, inclusiv pentru a permite schimbări graduale, incrementale, ori de câte ori este posibil.
Brownfield ia abordarea standard bazată pe modele/modele OMG și o întoarce pe dos. Mai degrabă decât să adopte abordarea convențională de a începe cu un model conceptual și de a coborî la modele specifice platformei și la generarea de cod, Brownfield începe prin colectarea codului și a altor artefacte existente și utilizează modele pentru a face abstracție în mod formal în sus spre nivelul de arhitectură și de afaceri.
Tehnicile standard Greenfield sunt apoi folosite în combinație pentru a defini obiectivul de afaceri preferat. Această tehnică de „întâlnire la mijloc” este cunoscută din alte metode de dezvoltare, dar utilizarea extensivă a abstractizării formale și utilizarea modelelor atât pentru descoperire, cât și pentru generare este nouă.
Arhitectura conceptuală care stă la baza tuturor instrumentelor Brownfield este cunoscută sub numele de VITA. VITA înseamnă Views, Inventory, Transformation and Artifacts (Vizualizări, inventar, transformare și artefacte). Într-o arhitectură VITA, definiția problemei spațiului țintă poate fi menținută sub formă de „căpățâni” native separate (deși legate) de cunoștințe cunoscute sub numele de Vizualizări. Avantajul de bază al unui View este că se poate baza pe aproape orice instrument formal. Brownfield nu impune un instrument sau un limbaj unic asupra unui spațiu de probleme – un principiu de bază este acela că „headfulls” continuă să fie menținute în formele și instrumentele lor native.
Vederile native sunt apoi reunite și legate într-un singur inventar. Inventarul este apoi utilizat cu o serie de capacități de transformare pentru a produce artefactele de care soluția are nevoie.
Vizele pot fi importate în prezent dintr-o mare varietate de surse, inclusiv UML, surse XML, DDL, foi de calcul, etc. Instrumentul Analysis and Renovation Catalyst de la IBM a dus această capacitate chiar mai departe prin utilizarea gramaticii formale și a arborilor de sintaxă abstractă pentru a permite ca aproape orice program să fie analizat și transformat într-un View pentru a fi inclus în inventar.
Natura ciclică rapidă a ciclului de descoperire, retehnologizare, generare și testare utilizat în această abordare înseamnă că soluțiile pot fi rafinate iterativ în ceea ce privește definițiile lor logice și fizice pe măsură ce mai multe constrângeri devin cunoscute și arhitectura soluției este rafinată.
Dezvoltarea iterativă Brownfield poate permite rafinarea treptată a arhitecturilor logice și fizice și testarea incrementală pentru întreaga abordare, rezultând o accelerare a dezvoltării, o calitate îmbunătățită a soluției și o eliminare mai ieftină a defectelor. Brownfield poate fi, de asemenea, utilizat pentru a genera documentația soluției, asigurându-se că aceasta este întotdeauna actualizată și coerentă între diferite puncte de vedere.
Inventarul care este creat prin intermediul Brownfield procesat poate fi foarte complex, fiind o rețea semantică multidimensională interconectată. Nivelul de cunoștințe din inventar poate fi foarte fin, foarte detaliat și interrelaționat. Cu toate acestea, astfel de lucruri sunt greu de înțeles și pot constitui bariere în calea comunicării. Brownfield rezolvă această problemă prin abstractizarea conceptelor prin intermediul celei mai bune presupuneri a unui artizan, folosind modelele cunoscute din inventarele sale pentru a extrage și a deduce relațiile de nivel superior.
Abstracțiile formale permit ca complexitatea Inventarului să fie tradusă în reprezentări mai simple, dar inerent precise, pentru un consum mai ușor de către cei care trebuie să înțeleagă spațiul problemei. Aceste modele abstractizate ale Inventarului pot fi utilizate pentru a reda automat reprezentări de arhitectură cu mai multe niveluri în instrumente precum Second Life.
Aceste vizualizări permit ca informațiile complexe să fie împărtășite și experimentate de mai multe persoane din întreaga lume în timp real. Acest lucru îmbunătățește atât înțelegerea, cât și sentimentul unei singure echipe.