Agile Modeling (AM) este o metodologie bazata pe practici pentru modelarea si documentarea eficienta a sistemelor bazate pe software. Simplu, modelul Agile (AM) este o colectie de valori, principii si practici> pentru software-ul de modelare care poate fi aplicat pe un proiect de dezvoltare software intr-o maniera eficienta si usoara. Dupa cum vedeti in Figura 1, AM este conceput pentru a fi adaptat la alte metodologii complete, cum ar fi XP sau RUP, permitandu-va sa dezvoltati un proces software care sa intruneasca cu adevarat nevoile dumneavoastra. De fapt, aceasta lucrare de croitorie a fost deja facuta pentru dvs., sub forma cadrului procesului Disciplined Agile Delivery (DAD).
Figura 1. AM imbunatateste alte procese software.
Valorile AM, adoptarea si extinderea celor de la eXtreme Programing v1, sunt comunicare, simplitate, feedback, curaj si umilinta. Cheile succesului in modelare sunt comunicarea eficienta intre toti participantii la proiect, sa depuna eforturi pentru a dezvolta cea mai simpla solutie posibila care sa raspunda tuturor nevoilor dvs., pentru a obtine feedback frecvent si devreme cu privire la eforturile dvs. de a avea curajul de a va face si de a va mentine deciziile si pentru a avea umilinta de a recunoaste ca este posibil sa nu stiti totul, ca altii au o valoare adaugata eforturilor dvs. de proiect.
AM se bazeaza pe o colectie de principii, cum ar fi importanta asumarii simplitatii cand modelati si imbratisati schimbarile pe masura ce lucrati, deoarece cerintele se vor schimba in timp. Ar trebui sa recunoasteti faptul ca schimbarea treptata a sistemului dvs. de-a lungul timpului permite agilitatea si ca trebuie sa va straduiti sa obtineti un feedback rapid asupra muncii dvs. pentru a va asigura ca aceasta reflecta cu acuratete nevoile partilor interesate de proiect. Ar trebui sa modelati cu un scop, daca nu stiti de ce lucrati la ceva sau nu stiti de fapt ce vrea audienta modelului / documentului, atunci nu ar trebui sa lucrati la el. In plus, aveti nevoie de mai multe modele in setul dvs. de instrumente intelectuale pentru a fi eficiente. Un concept critic este ca modelele nu sunt neaparat documente, o realizare care va permite sa calatoriti cu lumina, aruncand o mare parte din modelele dvs. odata ce isi indeplinesc scopul. Agentii de modele agile considera ca continutul este mai important decat reprezentarea, ca exista multe moduri in care poti modela acelasi concept si inca mai ai dreptate. Pentru a fi un modelator eficient, trebuie sa recunoasteti faptul ca comunicarea deschisa si onesta este adesea cea mai buna politica de urmat pentru a asigura o munca eficienta in echipa. In cele din urma, accentul pus pe munca de calitate este important deoarece nimanui nu ii place sa produca munca necorespunzatoare si ca adaptarea locala a AM pentru a satisface nevoile exacte ale mediului inconjurator este importanta.
Pentru a modela intr-o maniera agila, veti aplica practicile AM, dupa caz. Practicile fundamentale includ crearea in paralel a mai multor modele, aplicarea artefactelor potrivite pentru situatie si iterarea unui alt artefact pentru a continua miscarea inainte intr-un ritm constant. Modelarea in cresteri mici si incercarea de a nu crea modelul magic "din tot cuprinsul" din turnul dvs. de fildes este, de asemenea, fundamental pentru succesul dvs. ca modelator agil. Deoarece modelele sunt doar reprezentari abstracte ale software-ului, abstractii care ar putea sa nu fie corecte, trebuie sa va straduiti sa demonstrati cu codul pentru a arata ca ideile dvs. functioneaza efectiv in practica si nu doar in teorie participarea activa a partilor interesate este esentiala pentru succesul eforturilor dvs. de modelare deoarece partile interesate de proiect stiu ce doresc si va pot oferi feedbackul de care aveti nevoie. Principiul de asumare a simplitatii este sustinut de practicile de creare a continutului simplu, concentrandu-se doar pe aspectele pe care trebuie sa le modelati si nu pe incercarea de a crea un model foarte detaliat, care sa ilustreze modelele prin simpla notatie si folosind cele mai simple instrumente pentru a va crea modelele. Calatoriti cu lumina prin informatii unice, descarcati modele temporare si actualizati modelele numai atunci cand doare. Comunicarea este posibila prin afisarea publica a modelelor, fie pe un perete sau pe un site web intern, prin proprietatea colectiva a artefactelor proiectului, prin aplicarea standardelor de modelare si prin modelarea cu altii. Eforturile de dezvoltare sunt mult imbunatatite atunci cand aplicati usor modelele. Deoarece de multe ori trebuie sa va integrati cu alte sisteme, inclusiv baze de date vechi, precum si servicii bazate pe web, veti gasi ca trebuie sa formalizati modelele contractuale cu proprietarii acestor sisteme. Cititi acest articol pentru o mai buna intelegere a modului in care practicile AM se potrivesc impreuna. |
As sustine ca AM este o abordare agila de modelare, ca AM este in esenta o colectie de practici care reflecta principiile si valorile impartasite de multi dezvoltatori de software cu experienta. Cu o abordare de tip Agile Model Driven (AMDD) (vezi Figura 2) abordarea dvs. de obicei face destul de suficient de nivel inalt de modelare la inceputul unui proiect pentru a intelege sfera de aplicare si arhitectura potentiala a sistemului, si apoi in timpul iteratii de dezvoltare faceti modeling ca parte din activitatile de planificare a iteratiei dvs. si apoi sa luati o abordare modelata in timp (JIT), in care modelati cateva minute ca precursor al cateva ore de codare.
Figura 2. Dezvoltarea pe baza de model agil (AMDD).
Un alt mod de a privi modelul Agile este o colectie de bune practici, dupa cum vedeti in Figura 3.
Figura 3. Cele mai bune practici ale modelelor Agile.
Experienta mea este ca aceste practici pot fi aplicate la majoritatea proiectelor de dezvoltare software, nu trebuie sa lucrati la un proiect in urma unui proces software agil (cum ar fi XP) pentru a profita de abordarile descrise de AM, desi unul dintre scopuri este de a explica modul de modelare atunci cand urmati abordarea XP. O echipa de proiect nu are nevoie sa aplice toate practicile, principiile si valorile AM pentru a beneficia de ea - am fost mereu un credincios ferm ca trebuie sa va adaptati procesul software pentru a reflecta nevoile unice ale mediului dumneavoastra - Desi este parerea mea ca, ca si XP, este mult mai probabil sa reusesti daca adopti tot AM.