Cinci principii ale managementului ciclului de viață al aplicațiilor. Strategia și produsele Borland

Control ciclu de viață aplicațiile (Application Lifecycle Management, ALM) se dezvoltă rapid. Aceasta este o abordare promițătoare pentru îmbunătățirea procesului de creare a software-ului. Cu toate acestea, procesul ALM „tradițional” nu reușește să-și atingă potențialul maxim de a genera valoare pentru organizație. De ce? Deoarece furnizorii împing în mod agresiv pe piață soluții limitate ALM end-to-end care au ca scop blocarea clienților în platforme tehnologice închise. Clienții descoperă curând că aceste soluții nu se integrează cu procesele, instrumentele și platformele lor de dezvoltare existente. Din păcate, acest lucru lasă echipele de dezvoltare blocate cu procesele disparate ale ALM și cu aglomerația de date, ceea ce, la rândul său, le împiedică să realizeze întregul potențial al ALM.

Pentru a rezolva această problemă, este necesară o nouă abordare. O abordare care va permite clienților să creeze software folosind un mediu de dezvoltare mixt. Cu soluțiile Borland Open ALM, organizațiile își pot folosi resursele și instrumentele de dezvoltare existente. Acest lucru va ajuta la obținerea transparenței, controlului și disciplinei pe tot parcursul ciclului de dezvoltare a software-ului. Clienții pot beneficia acum de o platformă ALM optimizată și de un proces de dezvoltare software unic, gestionabil și măsurabil.

Dezvoltare software previzibilă: misiune imposibilă?

Dezvoltarea de software este în mod inerent o întreprindere destul de complexă. Crearea unui produs software cu caracteristici destul de clar definite, completat cu o calitate acceptabila, in limita bugetului alocat si la timp, necesita coordonarea constanta a unui numar mare de actiuni intre numerosi specialisti.

Complexitatea gestionării și urmăririi proiectelor software crește atunci când organizațiile decid să utilizeze modele de dezvoltare distribuite (de exemplu, programare offshore sau utilizarea de angajați temporari și subcontractanți). Drept urmare, eșecul sau abandonarea proiectului devin obișnuite. Depășirile de costuri, întreruperile de program, calitatea slabă și fiabilitatea slabă au devenit norma în industria software. În consecință, organizațiilor de dezvoltare de software li se cere din ce în ce mai mult să adopte abordări mai inteligente. Ei trebuie să adopte abordări bine gestionate, sistematice și orientate spre proces, care urmează pașii disciplinelor de inginerie mai tradiționale. 1

Datorită standardizării tot mai mari și utilizării platformelor de dezvoltare a întreprinderilor, problemele cu care se confruntă industria au devenit mai puțin tehnice. Capacitatea de a genera profituri stabile și previzibile din dezvoltarea de software a devenit o prioritate semnificativă pentru mulți profesioniști din domeniu. tehnologia Informatiei(ACEASTA). Au nevoie de încredere că echipele lor vor fi eficiente în ceea ce privește crearea de software. Având în vedere aceste considerente, Borland a dezvoltat platforme pentru ALM. Ele sunt concepute pentru a rezolva problema stabilității și predictibilității procesului de creare a software-ului.

1 Tendințele majore ale industriei, cum ar fi adoptarea accelerată a cadrului de îmbunătățire a proceselor CMM/CMMI și utilizarea tot mai mare a modelelor de dezvoltare externalizate sunt strâns legate de această transformare aparentă a industriei de dezvoltare software.

Apariția ALM

Pe măsură ce industria instrumentelor de dezvoltare a aplicațiilor răspunde nevoii de creare de software previzibilă, își concentrează eforturile pe mai mult decât doar instrumente pentru munca de dezvoltator individual. Producătorii și-au extins ofertele și au integrat atât capabilitățile existente, cât și cele noi în produsele lor. Acum soluțiile lor îndeplinesc sarcini asociate cu alte roluri în procesul de creare a software-ului. Adesea comercializate și vândute ca platforme de dezvoltare colaborativă, aceste suite de produse au anunțat apariția tehnologiei de management al ciclului de viață al aplicațiilor (ALM). Ea a devenit categorie noua pe piață și o disciplină separată în dezvoltarea de software. Platformele ALM sunt concepute special pentru a răspunde provocărilor de creștere a predictibilității și integrității procesului de dezvoltare software. Ele rezolvă aceste probleme prin furnizarea de integrare și automatizare pentru fiecare rol major care este implicat în proces și automatizarea unui număr de funcții.

Măsurabilitate

Capacitatea de a defini sisteme de măsuri pentru a evalua calitatea, productivitatea, progresul și riscul.

Analizați aceste valori și generați rapoarte în timpul procesului de proiect.

Coordonare

Alinierea specializării afacerii și a priorităților IT.

Alinierea rezultatelor proiectului cu așteptările utilizatorilor finali.

Disciplina

Aliniați definiția, implementarea și urmărirea cu procesele software.

Creșterea rigurozității procesului de schimbare a managementului și anticiparea consecințelor acestuia.

Aceste capabilități le permit managerilor IT să echilibreze și să prioritizeze portofoliile de proiecte software. Ei pot atinge un nivel mai înalt de management al echipelor lor și o transparență mult mai mare în execuția proiectelor. Cu ALM, managerii pot obține, de asemenea, un control mult mai mare asupra procesului de dezvoltare a software-ului. Acest lucru oferă oportunități mai bune pentru guvernanța corporativăși ajută organizația să demonstreze respectarea diferitelor reguli și reglementări.

industria ALM

Inițial, unii dintre puținii inovatori care au înțeles importanța tendinței ALM și și-au schimbat strategiile de produs pentru a o susține în mod explicit au fost BorlandȘi IBM Rational. Reacționând la oportunitățile evidente, alte companii s-au alăturat conceptului ALM câștigător: Microsoft, IBM Rational / Telelogic, Mercury și Serena. Astăzi, ALM este o tendință stabilită și o industrie în creștere recunoscută de analiști. Furnizorii de soluții ALM oferă o varietate de instrumente și tehnologii pentru a sprijini procesul de dezvoltare a software-ului. Aceste instrumente depășesc cu mult instrumentele tradiționale de productivitate pentru dezvoltatorul individual. Acestea au ca scop furnizarea de metode și instrumente axate pe munca în echipă pentru a crea software. Pentru a crea o soluție ALM viabilă, furnizorii trebuie să răspundă nevoilor echipei de dezvoltare software „extinsă” și să includă roluri în produsele lor care contribuie la procesul mai larg.

Pentru nevoile managerilor, sunt furnizate tablouri de bord la nivel de portofoliu de proiecte care acoperă metrici importante ale proiectului: risc, progres și calitate.

Pentru a răspunde nevoilor managerilor de proiect, sunt furnizate instrumente pentru planificarea și controlul proiectelor, analiza alternativelor posibile și alocarea resurselor.

Pentru nevoile analiștilor, sunt furnizate instrumente pentru a defini cerințele, a interacționa cu utilizatorii finali și alte părți interesate ale proiectului. Acest nivel oferă, de asemenea, instrumente pentru gestionarea cerințelor de-a lungul ciclului de viață al proiectului, inclusiv modificările ulterioare.

Pentru nevoile arhitecților, sunt furnizate instrumente pentru modelarea vizuală a diferitelor aspecte ale aplicației (componente, date, proces), precum și instrumente pentru descrierea modelelor de design și a arhitecturii întreprinderii.

Pentru nevoile dezvoltatorilor, sunt furnizate diverse medii de programare, precum și instrumente de asigurare a calității la nivel de cod de program (de exemplu, profileri de execuție, precum și instrumente pentru testarea unitară și auditarea automată a codului).

Pentru nevoile inginerilor de calitate, sunt furnizate instrumente pentru crearea și gestionarea testelor, pentru regresie și testare funcțională, precum și instrumente pentru testarea automată a performanței.

O infrastructură colectivă este utilizată pentru a rezolva probleme comune ale întregului grup. Oferă fonduri pentru colaborare, managementul proceselor, managementul modificărilor și controlul versiunilor.

Pentru nevoile managerilor procesului de creare de software sunt furnizate instrumente de modelare și aplicare a unui set de standarde tehnologice corporative.

Sunt furnizate instrumente pentru automatizarea managementului cerințelor pentru a satisface nevoile utilizatorilor finali și ale altor părți interesate din organizație. De asemenea, li se oferă oportunități de a face schimb de informații despre cerințe, de a raporta defectele și de a urmări starea problemelor ridicate.

Tehnologia ALM a devenit în general pas mareîn dezvoltarea industriei instrumentelor de dezvoltare a aplicațiilor și a clienților săi. Interesant este că cel mai recent raport Chaos de la Standish Group arată că rata de eșec a proiectelor software sa redus la jumătate în ultimul deceniu. Această îmbunătățire poate fi parțial atribuită ALM. Cu toate acestea, o analiză mai profundă a nevoilor clienților dezvăluie că, în ciuda beneficiilor evidente ale ALM, rămâne dificil să se realizeze întregul potențial al tehnologiei. Pentru a face acest lucru, trebuie să schimbați abordarea fundamentală care este utilizată pentru a integra procesele și instrumentele implicate în ciclul de viață al software-ului.

Potențialul ALM pentru afaceri rămâne în mare parte neexploatat

Pentru a înțelege mai bine de ce soluțiile actuale îngreunează realizarea întregului potențial al ALM pentru afaceri, să aruncăm o privire mai atentă la mediile tipice de dezvoltare software și operațiuni. Vom examina modul în care software-ul este produs și implementat în ceea ce privește procesele, instrumentele de dezvoltare și platformele de producție. În cele din urmă, această discuție explică de ce producția de software rămâne unul dintre ultimele procese de afaceri care nu este executată – cu atât mai puțin automat – într-un mod consistent și previzibil.

Mediul IT corporativ: problema eterogenității

Apariția Internetului și ascensiunea sa ca platformă majoră pentru comerț a provocat schimbări semnificative în organizațiile IT convenționale. Acest lucru a fost facilitat și de munca constantă forțată în condiții de lipsă de resurse și cerințe ridicate de flexibilitate. Problema acestor schimbări este legată de evoluția arhitecturală. Este proiectat pentru a îmbunătăți receptivitatea IT, nivelurile de servicii și eficiența prin migrarea de la tehnologiile vechi la platforme de aplicații noi și moderne. Iată domeniile cheie ale acestei evoluții.

Migrarea de la aplicații monolitice, specializate care rulează pe mainframe la noi instrumente de dezvoltare pentru platforme distribuite pentru întreprinderi, și anume J2EE și .NET.

Migrați de la aplicații de întreprindere împachetate, construite pe arhitecturi vechi, pentru a procesa și a combina aplicații de rulare, cum ar fi SAP NetWeaver și Oracle Fusion.

Utilizarea platformelor specializate pentru nevoi specifice. Acestea sunt, de exemplu, limbaje de scripting pentru aplicații web care utilizează baze de date (PHP, Ruby etc.) sau platforme pentru dezvoltarea de aplicații cu capabilități bogate de Internet și multimedia (de exemplu, Adobe® Flash®/Flex™).

Fiecare dintre aceste tehnologii vine cu instrumente specifice de dezvoltare a aplicațiilor (deseori oferite de diferiți furnizori). Aceste instrumente acoperă analiza, proiectarea, codificarea, controlul calității, controlul versiunilor și gestionarea configurației.

Este rezonabil să presupunem, în special pentru corporațiile mijlocii și mari, că, în viitorul apropiat, fiecare mediu IT al întreprinderii va include cel puțin trei dintre următoarele platforme de implementare: mainframe, mediu distribuit (J2EE sau .NET) și automatizarea afacerilor. sistem -procese (SAP sau Oracle). De asemenea, pare (și devine din ce în ce mai clar) că unele organizații implementează software atât pe platformele J2EE, cât și pe platformele .NET. 2

Programe conflictuale

Este interesant de observat că, din motive evidente, unii furnizori IT încearcă să influențeze natura eterogenă a mediului IT al întreprinderii pe cât posibil. Acești furnizori caută să „dețină” complet organizarea mediului IT prin introducerea pe piață a soluțiilor complete „pe viață”. Acestea conțin instrumente de dezvoltare software, un mediu pentru rularea aplicațiilor și instrumente pentru gestionarea rețelelor și sistemelor. Cei mai mari producători includ și un sistem de operare sau chiar hardware în soluțiile lor. Este de la sine înțeles că astfel de decizii implică și o componentă semnificativă servicii profesionale.

În ciuda acestui impuls masiv pentru soluții cuprinzătoare de la un singur furnizor, realitatea este că pentru mulți clienți această abordare pur și simplu nu va funcționa. Astfel de organizații cresc eterogenitatea la toate nivelurile. Prin urmare, au un set de priorități diferite care fac ca anumite obiective să fie importante pentru client (nu pentru furnizor).

Maximizarea competitivității. Organizațiile care încearcă să ofere cel mai bun produs sau serviciu aleg de obicei cele mai bune platforme și instrumente de dezvoltare din perspectiva designului. Această abordare îi ajută să obțină beneficiile pe care fiecare platformă le oferă anumitor utilizatori finali. Acest lucru se întâmplă adesea pe proiecte individuale, dar se poate întâmpla și în cadrul unui singur proiect. Acest lucru duce în cele din urmă la aplicații „hibride” care acoperă mai multe domenii tehnologice. Iată câteva exemple relevante.

o Aplicații sau servicii compozite, care includ mainframe, aplicații împachetate și aplicații distribuite interne.

o Hibrizi J2EE/.NET care valorifică capacitățile și interfața cu utilizatorul .NET pe partea client. Pe partea de server, acestea profită de scalabilitatea, gestionabilitatea și securitatea tehnologiei J2EE. Acest model arhitectural este deosebit de comun în verticala financiară. Este folosit pentru performanțe ridicate platforme de tranzacționare, deoarece pe Wall Street, Windows este standardul de facto pentru computerele desktop.

o Hibrizi Flash/J2EE. Acestea combină puterea Adobe Flash ca platformă pentru streaming video și aplicații bogate de Internet cu beneficiile tehnologiei J2EE pentru servere. Acest lucru vă permite să obțineți un grad ridicat de scalabilitate și să implementați o interfață cu capabilități multimedia extinse.

Costuri de dezvoltare reduse. Organizațiile încearcă să reducă costurile de dezvoltare și implementare a software-ului combinând atât instrumente și programe proprietare, cât și open source. În acest sens, merită menționată popularitatea tot mai mare a suitei LAMP (Linux, Apache, MySQL, PHP) și utilizarea sa tot mai răspândită în organizații.

Reducerea timpului de comercializare a produselor. Organizațiile pot prefera anumite instrumente de dezvoltare din cauza beneficiilor specifice de muncă pe care le oferă. Acest lucru are potențialul de a reduce semnificativ timpul de lansare pe piață.

Utilizarea eficientă a investițiilor existente. Orice abordare „ucide și înlocuiește” se confruntă cu obstacole semnificative. Acest lucru se datorează faptului că majoritatea organizațiilor nu sunt dispuse să renunțe la investiții semnificative în programe și instrumente vechi.

Reducerea riscului. Unii furnizori din industria IT oferă suport nativ personalizat pentru platformele lor. În ochii clienților lor, acest lucru este văzut ca un risc. Blocarea în platforma unui anumit furnizor IT poate duce la un risc semnificativ de afaceri, mai ales dacă acel furnizor este (sau va deveni) un concurent.

2 Tendințele majore ale industriei, cum ar fi adoptarea accelerată a cadrului de îmbunătățire a proceselor CMM/CMMI și utilizarea tot mai mare a modelelor de dezvoltare externalizate sunt strâns legate de această transformare aparentă a industriei de dezvoltare software. Raportul IDC Insight privind utilizarea J2EE și .NET de Steve McClure afirmă următoarele. 10,4% dintre utilizatorii actuali .NET se așteaptă să folosească atât J2EE/J2ME în următoarele 12 luni; 11,9% dintre utilizatorii J2EE/J2ME se așteaptă să fie implicați în dezvoltarea .NET în următoarele 12 luni.

Eterogeneitatea IT: cea mai mare provocare a ALM

Pe scurt, multe organizații din industria IT văd eterogenitatea ca singura alternativă din cauza numeroaselor beneficii de afaceri asociate cu aceasta. Foarte des, echipele de dezvoltare folosesc instrumente diferite care nu sunt concepute pentru a lucra împreună. Nu există un singur furnizor care să furnizeze instrumentele pentru toate acțiunile necesare în contextul unui proiect software. Mai mult, nu există un singur furnizor care să poată acoperi pe deplin cele trei domenii principale: suport și modernizare a sistemelor vechi, extinderea și personalizarea aplicațiilor ambalate și dezvoltarea de noi aplicații distribuite. Prin urmare, este foarte probabil ca organizațiile să continue să folosească instrumente de dezvoltare disparate în cadrul aceluiași proiect și în diferite domenii tehnologice. Din acest motiv, cea mai mare provocare în implementarea ALM este eterogenitatea instrumentelor de dezvoltare. Amintiți-vă că ALM se străduiește să obțină predictibilitate și integritate în procesul de producție de software prin măsurabilitate automată, aliniere și disciplină. Cu toate acestea, în mediile cu un grad ridicat de eterogenitate, aceste calități ale procesului de producție de software sunt mult mai dificil de realizat.

Deoarece măsurabilitatea necesită colectarea de informații despre metrice din diverse instrumente și depozite de dezvoltare a aplicațiilor, nu există un standard general acceptat pentru o astfel de colectare a datelor. Întrucât nu există o schemă comună de informații pentru toate instrumentele implicate în proces, devine de asemenea necesar să „normalizăm” metricile colectate și să le comparăm cumva în contextul unor proiecte specifice.

Alinierea necesită urmărirea activităților și a rezultatelor pe tot parcursul procesului, de la strategiile IT până la modulele implementate. Acest grad de control operațional este foarte dificil de atins atunci când resursele și activitățile procesului sunt împrăștiate în instrumente și depozite disparate. Nu există instrumente standard care să identifice, să colecteze, să gestioneze și să utilizeze automat informațiile de audit.

Disciplina necesită implementarea, adoptarea și controlul diferitelor procese comune pentru a gestiona producția de software. Acest lucru devine mult mai complex atunci când subprocesele rulează ca „insule de proces” între o varietate de instrumente de proces. Nu există un mecanism standard pentru furnizarea coregrafiei unor astfel de subprocese (consecventă cu un proces de nivel superior) sau pentru implementarea componentelor de proces pentru aceste instrumente. De asemenea, nu există o terminologie uniformă pentru a descrie procesele într-un mediu de instrumente disparate. Toți folosesc propriile limbaje de „elemente”, „artefacte”, „proiecte” etc. Un alt aspect al disciplinei necesită schimbări semnificative în management și analiza impactului. Aceste capabilități, totuși, necesită o implementare adecvată a controlului operațional end-to-end. După cum sa discutat, controlul de la capăt la capăt este mult mai dificil de realizat într-un mediu de dezvoltare eterogen.

Pentru a aborda aceste probleme, organizațiile care practică ALM deseori încetează să dezvolte numeroasele integrări personalizate punct la punct care de obicei reduc lacunele tehnologice dintre diferitele instrumente de dezvoltare pe care le folosesc. Astfel de integrări sunt nesigure. Se rup atunci când instrumentele sunt actualizate sau schimbate și sunt costisitoare de creat și de întreținut. De asemenea, rezultă procese software care nu pot fi ușor măsurate, controlate sau gestionate. Evident, această abordare este inacceptabilă și neprofitabilă.

Prin urmare, furnizorii de soluții ALM reprezintă o mare provocare pentru majoritatea organizațiilor IT. Aceste organizații ar dori să vadă mai multă valoare de la ALM, și anume o îmbunătățire semnificativă a procesului de producție de software care le va oferi stabilitatea și predictibilitatea de care au nevoie. Cu toate acestea, dincolo de aceasta, clienții soluțiilor ALM își doresc și altceva.

Abilitatea de a utiliza un amestec de platforme de lucru în modul care se potrivește cel mai bine obiectivelor lor de afaceri.

Simțiți-vă liber să utilizați o varietate de instrumente de dezvoltare de aplicații comerciale și open source optimizate pentru nevoile lor de implementare.

Utilizarea fluentă a unei varietăți de procese de dezvoltare software comerciale sau personalizate, care sunt optimizate pentru cultura, tipurile de proiecte și tehnologia de bază a organizației.


Îndeplinirea acestui set complex de cerințe necesită o nouă abordare a ALM. O abordare care permite clienților să valorifice pe deplin capabilitățile ALM într-un mediu IT eterogen. Borland și-a anunțat recent abordarea și strategia de produs numită Open ALM. Această abordare este concepută direct pentru a rezolva această problemă. Este singura soluție ALM care este concepută de la zero pentru a permite organizațiilor IT să livreze software în mod previzibil în propriile lor termene.

Depășirea eterogeneității: Frontiera finală a ALM

Abordarea Open ALM implementează viziunea și strategia de produs stabilite de Borland. Această abordare reprezintă o schimbare arhitecturală semnificativă, care este unică pe piața comercială ALM. De fapt, dacă sunt implementate pe deplin, platforma Borland Open ALM și aplicațiile asociate ar putea oferi beneficii semnificative chiar și clienților care nu folosesc deloc instrumente de dezvoltare a aplicațiilor Borland. Nu există nicio îndoială că Borland consideră că afacerea cu unelte este vitală. Compania va continua să le dezvolte și să ofere cele mai bune instrumente din clasă echipei extinse de dezvoltare de software. Instrumentele Borland vor evolua treptat pentru a sprijini strategia Open ALM. Acest lucru le va permite să participe la orchestrarea producției de software bazată pe Open ALM.Totuși, instrumentele Borland ar putea fi înlocuite, dacă clienții consideră de cuviință, cu orice produs care să le susțină cerințele de dezvoltare. Acesta poate fi un produs terță parte sau open source. Acest nivel de modularitate și flexibilitate distinge strategia de produs a Borland de alți furnizori ALM, mulți dintre care încearcă să preia întregul lanț de aprovizionare cu software.

Beneficiile Open ALM

Open ALM oferă valoarea funcțională a ALM, oferind în același timp un grad de flexibilitate de neegalat la nivel de proces, instrument și platformă. Mai exact, utilizatorii Open ALM obțin următoarele capacități:

Libertatea de a alege orice combinație de platforme și spații de lucru în contextul unui proiect software sau pentru mai multe proiecte diferite simultan. În acest caz, alegerea se face în funcție de prioritățile de afaceri sau de adecvarea pentru proiect.

libertate de alegere cele mai bune mijloace dezvoltare pentru platforme selectate bazate pe economie, performanță și adecvare tehnică.

Libertatea de a alege sau de a proiecta procesele de dezvoltare care se potrivesc cel mai bine proiectelor și platformelor alese, precum și

cultura organizațională și cerințele de time-to-market.

Platforma Open ALM și instrumentele sale de asistență vor oferi organizațiilor IT care implementează medii eterogene de dezvoltare a aplicațiilor cu următoarele capabilități pentru prima dată.

Oferiți vederi superioare, multidimensionale și personalizabile ale progresului proiectelor și portofoliului, ale calității și ale riscului pentru a sprijini managementul proiectelor și inițiativele de îmbunătățire a proceselor.

„Graal”: complet control operationalși urmărirea ciclului de viață. Acest lucru va crea o aliniere reală între obiectivele de afaceri și activitățile de dezvoltare, va oferi o legătură mai bună între așteptările utilizatorilor finali și rezultatele proiectului și va permite mai bine gestionarea proiectelor printr-o analiză de impact precisă și cuprinzătoare.

Un nou nivel de management al procesului de creare a software-ului prin coordonarea automatizată bazată pe proces a acțiunilor specialiștilor și instrumentelor implicate în ciclul de viață.


Aceste capabilități permit performanțe superioare ale echipei, sprijină inițiativele de îmbunătățire a calității și ușurează sarcina conformării cu reglementările interne și externe. Acestea vor fi livrate ca un set de componente la nivel de infrastructură și controale ALM ale întreprinderii. În plus, clienții pot folosi, de asemenea, cele mai bune instrumente integrate de la Borland pentru dezvoltarea de aplicații și managementul proiectelor. Acest lucru le va permite să câștige valoare în patru domenii cheie de proces.

Managementul portofoliului de proiecte (PPM). Mijloace și procese automatizate să gestioneze dezvoltarea întregii strategii software, precum și să gestioneze execuția unui portofoliu de proiecte de dezvoltare software.

Definirea și managementul cerințelor (RDM). Un set de instrumente și cele mai bune practici care asigură că cerințele proiectului sunt exacte și complete, pot fi urmărite eficient până la obiectivele de afaceri și sunt acoperite în mod optim de testele software.

Managementul calității ciclului de viață (LQM). Procedura și mijloacele de gestionare a definiției și măsurării calității în toate etapele creării software-ului. Aceste instrumente sunt concepute pentru a detecta și a preveni problemele de calitate la începutul unui proiect, atunci când costul remedierii lor este relativ scăzut. Echipele QA trebuie, de asemenea, să se asigure că testele lor sunt complete și se bazează pe cerințele utilizatorilor finali.

Managementul schimbării (CM). Infrastructură și instrumente care ajută la prezicerea consecințelor schimbării. Ele ajută, de asemenea, la gestionarea resurselor și activităților asociate cu schimbările ciclului de viață atât în ​​modelele cu mai multe noduri, cât și cu un singur nod.

Soluția Borland Open ALM

După cum sa menționat deja, obiectivul principal al ALM este de a realiza un proces de dezvoltare software previzibil și controlat prin măsurabilitate, aliniere și disciplină automate. Am văzut că fiecare dintre cele trei dimensiuni ale ALM într-un mediu de dezvoltare de aplicații eterogen devine mult mai dificil de realizat și, prin urmare, prezintă o serie de provocări unice pentru utilizatorii ALM. Arhitectura platformei Borland Open ALM este un set de trei zone de soluții, fiecare special concepută pentru a rezolva problemele din unul dintre domeniile de bază ALM. Fiecare zonă de soluții Open ALM se bazează pe un strat de infrastructură extrem de modular și extensibil și este o colecție de aplicații specializate. Scopul stratului de infrastructură este de a permite platformei Open ALM să funcționeze cu orice combinație de instrumente comerciale sau open source și procese de dezvoltare, indiferent de furnizor sau de tehnologia mediului de operare așteptată. Diagrama de pe pagina următoare prezintă diagrama conceptuală a soluției Borland ALM.


Arhitectura soluției Borland Open ALM


Deschide Business Intelligence pentru ALM

Open Business Intelligence pentru ALM (OBI4ALM) se bazează pe infrastructura și aplicațiile standard pentru a crește măsurabilitatea progresului, calitatea muncii sau orice altă măsură ad-hoc pentru proiecte software într-un mediu de dezvoltare de aplicații eterogen. OBI4ALM oferă infrastructura pentru colectarea de date uniformă, distribuită, precum și corelarea și analiza valorilor din orice instrument de dezvoltare a aplicațiilor care este înregistrat pentru acesta. Prin extragerea unor valori predefinite din sursele de date, cadrul OBI4ALM integrează informații disparate împrăștiate de-a lungul ciclului de viață al dezvoltării software. Această consolidare oferă oportunități mari. De exemplu, puteți crea o vizualizare agregată a valorilor proiectului și puteți defini noi valori de proiect care combină mai multe valori de nivel inferior. Infrastructura OBI4ALM utilizează un depozit de date. Acest depozit conține informații actuale și istorice colectate de la acele instrumente care sunt implicate în diferite etape ale procesului de creare a software-ului. Utilizează o structură care este optimizată pentru interogare și analiza datelor. Aplicațiile OBI4ALM pot transforma valorile colectate în informații care pot fi folosite pentru a lua decizii pe baza acestora. Aceasta oferă suport pentru luarea deciziilor și notificarea timpurie a problemelor.

Tablouri de bord cu date în timp real - vizualizări personalizabile ale indicatorilor cheie de performanță care arată tendințele în timp.

Alerte bazate pe valori - notificări personalizabile care sunt declanșate când anumite condiții(de exemplu, când o tendință traversează o anumită graniță). Alertele ajută la creșterea flexibilității managementului pentru diverse probleme ale proiectului: progres lent, De calitate inferioară, lipsa de eficiență sau orice altă problemă care poate fi reprezentată numeric folosind metrici.

Instrumentele de decizie sunt instrumente analitice care folosesc informații istorice despre un proiect (sau mai multe proiecte) pentru a facilita deciziile de management de proiect.

Open Process Management pentru ALM

În final, procesul devine cel mai important concept care pătrunde în întregul ciclu de viață al software-ului. Procesul înseamnă mai mult decât partajarea structurilor informaționale cu instrumentele care sunt utilizate roluri diferite, sau furnizarea de integrare a capabilităților la nivel de interfață cu utilizatorul. Procesul are potenţial real să coordoneze acțiunile oamenilor și sistemelor care participă la procesul de creare a software-ului. Totodată, procesul asigură respectarea politicilor stabilite și controlul calității execuției.

Open Process Management pentru ALM (Open Administrarea procesului pentru ALM, OPM4ALM) furnizează componente de infrastructură și un set de aplicații care sunt utilizate pentru modelarea, implementarea și implementarea diferitelor procese software într-un mediu de dezvoltare de aplicații eterogen. OPM4ALM merge mult mai departe decât oferirea de îndrumare și atribuirea de sarcini participanților la proces. Această metodă utilizează, de asemenea, un nivel de automatizare a procesului care servește drept „clei” principal pentru integrarea părții client, a serverului și a metodologiei conform regulilor capturate în modelele de proces. Din această perspectivă, integrarea între instrumentele de dezvoltare a aplicațiilor este asigurată de fapt de procese de nivel inferior. Aceasta devine baza fundamentală pentru munca eficienta echipă.

Infrastructura OPM4ALM este construită pe un nucleu de proces distribuit. Permite modelarea, adaptarea, implementarea, orchestrarea și coregrafia mai multor procese de creare de software într-un mediu de dezvoltare eterogen. O parte importantă a infrastructurii OPM4ALM este gestionarea și detectarea evenimentelor de proces. Instrumentele Open ALM se pot abona și „asculta” aceste evenimente și pot fi notificate când apar. Motorul de proces oferă, de asemenea, definirea și evaluarea flexibilă a regulilor. Acest lucru ajută la descrierea și implementarea politicilor de dezvoltare a aplicațiilor.


Aplicațiile OPM4ALM oferă valoare de la nivelul infrastructurii de proces. Ele oferă următoarele caracteristici.

Instrumente pentru procese de modelare, reglare, potrivire și reutilizare. Acestea permit proiectarea eficientă a proceselor software comerciale sau personalizate folosind un model de dezvoltare software interfuncțional.

O consolă de procese software pentru întreprinderi care oferă o vedere panoramică consolidată. Această vizualizare conține toate procesele software care sunt implementate în diferite proiecte care implică instrumente de dezvoltare disparate.

Tabloul de bord pentru evaluarea conformității procesului. Acesta arată abaterile procesului și consecințele lor potențiale și oferă capabilități de raportare utile pentru inițiativele de conformitate.

Măsurare și raportare pe baza unor metrici specifice pentru fiecare proces.

Deschideți controlul pentru ALM

Controlul proceselor de la capăt la capăt sprijină multe dintre beneficiile importante ale ALM. Iată câteva dintre ele: Este un instrument important pentru implementarea dezvoltării bazate pe cerințe de afaceri, dezvoltării și testării bazate pe cerințe și pentru o analiză precisă a impactului schimbărilor. Open Traceability for ALM (OT4ALM) oferă o infrastructură pentru crearea și clasificarea relațiilor dintre resursele create în timpul procesului de creare a software-ului. De asemenea, creat program flexibil conexiuni ale resurselor aferente. Nu contează în ce instrumente se află aceste resurse. Această tehnologie oferă, de asemenea, instrumente pentru navigarea diagramei relațiilor dintre resurse, precum și pentru crearea de interogări optime și pentru preluarea datelor pe care le conține această diagramă.

OT4ALM oferă aplicații care transformă datele de control colectate în informații de luare a deciziilor.

Planificare automată, analiza impactului schimbărilor, predicții precise ale costurilor și bugetului.

Controlul limitelor - avertizare timpurie privind abaterile de la limitele specificate (de exemplu, resurse care nu îndeplinesc cerințele) și cerințele neîndeplinite.

Reuse Analyzer - vă permite să reutilizați întregi arbori de resurse (de la cerințe și modele la codul programului și teste) în loc să reutilizați pur și simplu modulele de cod de program.

TraceView - instrumente interactive pentru vizualizarea informațiilor de trasabilitate pentru diverse proiecte. Vă ajută să găsiți toate resursele procesului și să le comparați cu alte resurse.

Infrastructura platformei comune

Infrastructura Open ALM conține două componente care sunt utilizate în toate zonele soluției.

Metamodelul ALM. Un limbaj comun pentru descrierea proceselor software, a relațiilor dintre resursele procesului (controlabilitate) și unități de măsură (metrice). Metamodelul ALM oferă un model conceptual bogat pentru domeniul dezvoltării software. Acest lucru este necesar pentru a descrie un vocabular standard pe care trebuie să-l înțeleagă toate instrumentele compatibile cu Open ALM. Această înțelegere va asigura interacțiune eficientăîn cadrul platformei Open ALM.

Nivel de integrare ALM. Motor de integrare extensibil și încorporabil și SDK. Acesta definește o modalitate standard de a opera instrumentele ALM, de a colecta valori ALM și de a crea diagrame pentru a monitoriza resursele. Pentru a sprijini și a participa la platforma ALM, instrumentul trebuie să furnizeze un plugin de platformă care să satisfacă standardul Open ALM API. De asemenea, puteți utiliza un adaptor special care conectează instrumentul la alte medii de dezvoltare a aplicațiilor prin procese care sunt orchestrate de platforma Open ALM.


Drumul spre deschidere ALM

În următoarele 24 de luni, Borland va extinde din ce în ce mai mult infrastructura, aplicațiile și instrumentele care compun platforma sa Open ALM. De asemenea, Borland intenționează să completeze acest produs cu o gamă largă de programe de servicii profesionale menite să accelereze implementarea și să asigure succesul implementărilor Open ALM pentru întreprinderi. Clienții pot profita astăzi de unele dintre beneficiile Open ALM. Organizațiile care doresc să îmbunătățească calitatea și să îmbunătățească schimbările și procesele de management al proiectelor vor găsi soluția actuală Borland foarte atractivă. Această soluție oferă suport foarte automatizat și integrat pentru patru domenii critice ale proceselor de dezvoltare a aplicațiilor:

Managementul portofoliului de proiecte (PPM);

Definirea și managementul cerințelor (RDM);

Managementul ciclului de viață al aplicației (LQM);

Managementul schimbării (CM).

Aceste soluții sunt furnizate printr-o integrare strânsă între produsele și instrumentele Borland producători terți. Acest lucru oferă clienților flexibilitatea de care au nevoie și le crește semnificativ capacitatea de a gestiona proiecte software în prezent.

De ce Borland?

De-a lungul istoriei sale lungi, Borland a colaborat continuu cu clienții săi pentru a se asigura că pot construi software în cel mai convenabil mod. Borland se angajează în dezvoltarea bazată pe standarde și suportul pe mai multe platforme. A oferit organizațiilor IT flexibilitatea și libertatea de alegere de care aveau nevoie. Cu Open ALM, Borland își duce valorile tradiționale la următorul nivel. nou nivel. Acest lucru diferențiază în mod clar compania de alți furnizori ALM și inițiative ALM non-profit.

Când vine vorba de furnizorii importanți de ALM, IBM Rational și Microsoft, este puțin probabil ca serviciul pentru clienți să fie prioritatea lor principală. Ambele companii încearcă în mod continuu să-și folosească instrumentele de dezvoltare pentru a bloca clienții în soluțiile middleware și platformele lor de gestionare a sistemelor.

Spre deosebire de această abordare, Borland a insistat întotdeauna să susțină standardele Java și J2EE și a oferit suport puternic și integrat pentru platformă, limbi și instrumente de dezvoltare Microsoft. Borland continuă să extindă în mod clar soluția ALM de la Microsoft. Borland a investit masiv în susținerea celor mai recente tehnologii Microsoft. De exemplu, CaliberRM, prima soluție complet integrată de management al cerințelor pentru Team System, este recomandată de Microsoft pentru a extinde funcționalitatea de bază de management al cerințelor oferită de instrumentul VSTS. Borland va continua să extindă colaborarea între platformele Java și .NET. Există planuri de a oferi capabilități suplimentare, cum ar fi generarea de cod de la UML la C# și suport pentru Microsoft Domain Specific Languages ​​(alternativa Microsoft pentru a înlocui UML).


Trecerea către sursa deschisă provine, de asemenea, din provocările pe care le ridică eterogenitatea pentru ALM. Scopul mai multor inițiative Eclipse (Application Lifecycle Framework (ALF), Corona și Eclipse Process Framework (EPF)) este similar cu cel al Borland Open ALM. În timp ce Borland înțelege motivațiile din spatele acestor proiecte, compania consideră că abordarea lor este insuficientă. Atât ALF, cât și Corona încearcă să furnizeze doar componente ale infrastructurii Open ALM. Cu toate acestea, Open ALM este mai mult abordare holistică. Această abordare permite, de asemenea, clienților să obțină valoare de afaceri din infrastructurile pre-construite printr-o suită de aplicații complementare. În trecerea sa către Open ALM, Borland merge mai departe decât alți furnizori ALM. Compania și-a extins recent orizonturile și caută să acopere domenii suplimentare de dezvoltare a aplicațiilor. Borland caută, de asemenea, cea mai bună abordare pentru a sprijini proiecte de dezvoltare de aplicații în pachete pe platformele SAP NetWeaver și Oracle Fusion.

Concluzie

Ceea ce face ca Borland să fie unic este faptul că compania îi ajută pe utilizatorii ALM să creeze software pe propriile intervale de timp. Abordarea Borland Open ALM și strategia de produs îl disting în mod clar pe Borland de alți furnizori ALM și inițiative open source. Borland este singurul furnizor principal de soluții ALM care recunoaște în mod inerent realitatea eterogenității IT. Această companie încearcă să ajute utilizatorii ALM să utilizeze eficient instrumentele existenteîn procese, medii de lucru și instrumente de dezvoltare. Abordarea de integrare bazată pe proces a lui Borland diferențiază și mai mult compania de concurenții săi. Acest lucru permite Borland să ofere transparență, control și ordine în întreaga strategie ALM.

Borland începe să construiască infrastructură, aplicații și instrumente de dezvoltare aferente pentru Open ALM. Prin urmare, pentru prima dată, clienții vor putea utiliza pe deplin capacitățile ALM. Ei vor beneficia de un proces de dezvoltare software complet fără întreruperi, gestionabil și măsurabil.

Carolyn Pampino, IBM
Pe baza aplicațiilor: Rational Team Concert Beta 3, Rational Quality Manager Beta 3, Beta 3

Revizuire

Concurența acerbă obligă multe organizații să creeze produse pentru mai mult timp scurt, făcându-le și mai inovatoare. Dezvoltarea software în sine este o sarcină complexă, astfel încât sistemele create de organizațiile de dezvoltare sunt și ele extrem de complexe. sisteme de informareși dispozitive. Echipele aflate sub presiunea termenului limită trebuie să facă acest lucru fără a sacrifica calitatea sau a crește bugetul. Pentru a face acest lucru, strategia lor ar trebui să fie îmbunătățirea eficienței dezvoltării software. Soluția la această dilemă este îmbunătățirea comunicării ciclului de viață prin managementul ciclului de viață al aplicației (ALM).

Conceput pentru a sprijini proiectele de dezvoltare software, soluțiile de management al ciclului de viață al aplicațiilor orchestrează oamenii, procesele și instrumentele într-un ciclu iterativ de dezvoltare a software-ului care include activitățile conexe de planificare, managementul schimbărilor, definirea și managementul cerințelor, managementul arhitecturii, managementul configurației software, asamblare și implementare. automatizare, managementul calitatii. Pe lângă capacitățile de bază, soluțiile LCA includ urmărirea între artefactele ciclului de viață, definirea și asigurarea procesului și raportare.

Cel mai important beneficiu al unei soluții LCM este capacitatea de a coordona oamenii, procesele, informațiile și instrumentele implicate într-un proiect pentru a crea produse inovatoare pentru părțile interesate de proiect. Deoarece nu există o soluție universală, sfătuim clienții noștri să se concentreze asupra urmând principii atunci când implementează managementul ciclului de viață care se potrivește cel mai bine cu cultura și mediul organizației lor:

  • Utilizați programarea în timp real;
  • Furnizați urmărirea ciclului de viață pentru artefactele aferente;
  • Oferiți oportunități de interacțiune în context;
  • Aplicați analiza de afaceri pentru dezvoltare;
  • Conduceți îmbunătățirea continuă a procesului de dezvoltare.

Planificare în timp real

Planificăm pentru că vrem să atingem un anumit obiectiv și vrem să știm când va fi atins. Există o singură modalitate de a ști când o lucrare este finalizată. Pentru a face acest lucru, este necesar să ne asigurăm că planurile sunt pe deplin integrate cu execuția proiectului și sunt întotdeauna la zi. Următorul tabel listează câteva activități comune de planificare pe care ar trebui sau nu ar trebui să le faceți.

Nu creați un mediu în care cerințele, modelele și planurile de dezvoltare și de testare sunt deconectate, gestionate separat sau deloc gestionate. Alegeți soluții de planificare care urmăresc munca întregii echipe, creează automat planuri de dezvoltare și testare bazate pe cerințe și leagă cerințe individuale, elemente de lucru și cazuri de testare.

Folosiți planuri care urmăresc ciclul de viață al joburilor în toate echipele funcționale, folosind mai multe vizualizări. Capacitatea planurilor de a vizualiza mai multe vizualizări ale acelorași date, cum ar fi lista clasată, structura de defalcare a activității, foaia de parcurs sau vizualizările panoului de activități, vă ajută să estimați și să distribuiți munca tuturor membrilor echipei, ceea ce duce la un timp mai rapid pentru lansare.

Evitați să utilizați planuri care nu au legătură cu mediul dvs. de management al ciclului de viață și sunt deconectate de activitățile și obiectivele echipei. Utilizați planuri care sunt complet integrate cu execuția proiectului.

Asigurați-vă că toate planurile sunt accesibile și deschise tuturor celor din echipa de proiect.

Pentru a menține planuri precise, asigurați-vă că puteți indica timpul petrecut pentru fiecare sarcină. Membrii echipei pot vedea impactul modificărilor asupra datelor de finalizare a proiectului și pot distribui volumul de lucru în consecință pentru a elimina căile critice și întârzierile de finalizare a proiectului.

Nu utilizați actualizări manuale, deoarece acestea pot cauza erori. A stimula Participarea activă echipe de planificare, utilizați planuri care facilitează accesul la informații și o interfață cu utilizatorul care facilitează actualizarea datelor planului în contextul activității în cauză.
Evitați situațiile în care planurile sunt create la începutul unui proiect și nu sunt utilizate niciodată din nou. Practicați planificarea continuă folosind planuri în timp real, interogări ciclului de viață și tablouri de bord ale proiectelor pentru a răspunde rapid la schimbările externe sau ale echipei.

Următoarea imagine arată cât de rapidă actualizarea timpului petrecut direct dintr-un articol de lucru facilitează menținerea planurilor precise.

Orez. 1. Actualizarea timpului petrecut dintr-un articol de lucru menține planurile exacte

Următoarele trei imagini arată vederi diferite ale aceluiași plan de iterație. Utilizarea vizualizărilor ajută echipa să echilibreze munca, să planifice eficient și să răspundă mai rapid la schimbări.

Orez. 2. Vizualizarea timpului programat arată când unii membri ai echipei au mai multă muncă de făcut decât alții.

Orez. 3. Prezentarea electronică a task-board-ului poate fi utilizată de echipe flexibile situate geografic

Orez. 4. Vizualizarea planului de dezvoltare afișează distribuția sarcinilor pe zi și săptămână într-un mod mai tradițional

Imaginea de mai jos arată un plan de lansare în Rational Team Concert cu link-uri către Product Backlog asociat, colecții de cerințe în Rational Requirements Composer și un plan de testare în Rational Quality Manager.

Orez. 5. Legat de planificare sunt colectările de cerințe și planurile de testare.

Soluția de management colaborativ al ciclului de viață a IBM Rational include planificare complet integrată, în timp real.

Urmărirea ciclului de viață

Urmărirea nu este doar o altă caracteristică suplimentară plăcută de a avea în ciclul de viață al dezvoltării software. Urmărirea vă ajută să înțelegeți ce fac toți ceilalți din echipă. De exemplu, un analist de cerințe știe bine ce cerințe a scris, dar trebuie să știe și dacă o anumită cerință va fi luată în considerare la o anumită iterație de dezvoltare și, dacă da, la care. Sau vrea să știe dacă implementarea acestei cerințe a fost testată și care a fost rezultatul.

O soluție LCI care permite trasabilitatea între artefactele ciclului de viață ajută echipele să răspundă la întrebări complexe despre stadiul proiectului lor. Crearea de conexiuni între artefacte permite echipelor să răspundă mai ușor la întrebări precum: „Ce cerințe sunt afectate de defecte?” și „Care elemente de lucru sunt gata pentru testare?”

Orez. 6. Întrebări importante la care se răspunde soluția LCA

Urmărirea ajută fiecare membru al echipei să înțeleagă ce fac toți ceilalți și cum afectează volumul general de lucru. Dacă lucrați într-un mediu reglementat extern, urmărirea vă poate ajuta să răspundeți la întrebările auditorilor, cum ar fi „Ce modificări sunt incluse în această versiune, ce teste au fost efectuate și cu ce rezultat?”

Mai jos sunt obișnuite lucruri de făcut și de făcut atunci când vine vorba de urmărire:

Activități de evitat

Evitați soluțiile cu o interfață complexă care descurajează utilizatorii să creeze conexiuni între artefacte.

Nu exagerați creând legături de rutare sau făcând rutare doar de dragul rutare.

Utilizați o soluție care facilitează crearea și menținerea relațiilor de urmărire printr-o interfață de utilizator simplă și unificată, astfel încât nimeni să nu fie nevoit să treacă la alte instrumente doar pentru a conecta două artefacte.

Identificați câteva întrebări semnificative la care doriți să puteți răspunde și identificați strategiile corespunzătoare pentru crearea conexiunilor. Încercați unul și asigurați-vă că aveți succes înainte de a trece la următorul.

Evitați crearea de rapoarte care devin rapid învechite și urmărirea soluțiilor care nu contribuie la înțelegerea finalizării proiectului. Utilizați un sistem care oferă interogări, rapoarte și vizualizări care vă permit să evaluați finalizarea proiectului și să luați decizii în cunoștință de cauză pe baza relațiilor dintre artefacte. De asemenea, ar trebui să puteți vedea conexiunile de rutare direct din plan. Exemple de interogări care ajută la detectarea lacunelor sunt „elementele planului fără cerințe” și „elementele planului fără cazuri de testare”. Interogările care ajută la evaluarea completității includ „elementele planului cu teste eșuate”, „defecte de blocare a testelor” și „cerințe cu defecte deschise”.
Evitați utilizarea soluțiilor care nu țin cont de cerințele și auditurile externe de reglementare. Investește într-o soluție care include capacitatea de a crea relații de urmărire care sunt ușor de întreținut și de raportat.
Evitați să utilizați baze de date de design neintegrate, să vă dezvoltați propriile integrări bazate pe API-uri proprietare și să încercați să combinați un set de instrumente care nu au legătură.

Nu utilizați soluții care nu oferă interfețe deschise pentru crearea de date legate.

Nu alegeți depozite LCI cu integrări proprietare.

Integrați-vă echipele interfuncționale alegând o soluție cu servicii deschise pentru a conecta datele de-a lungul întregului ciclu de viață.

Alegeți o soluție care implementează interfețe deschise folosind servicii deschise(OSLC) pentru a construi relații între datele din ciclul de viață.

Selectați un furnizor de produse care înțelege și sprijină complexitățile provocărilor de integrare a managementului ciclului de viață.

Investește în instrumente care au planuri de integrare pe termen lung, deoarece acest lucru va facilita crearea de conexiuni și urme pe măsură ce proiectul progresează.

Alegeți o soluție care este scalabilă și care acceptă integrări deschise și flexibile, astfel încât să vă poată satisface nevoile și pe viitor. Vremurile se schimbă, apar noi produse și soluția dumneavoastră LCI va trebui să evolueze în continuare.

Imaginea de mai jos arată o vizualizare de urmărire pentru un plan de lansare care conține link-uri către cerințe și cazuri de testare. Planul are și o coloană pentru afișarea defectelor care afectează elementele planului. Acesta este un exemplu de plan integrat cu informații de urmărire. Spre deosebire de rapoartele de urmărire învechite, generate periodic, atunci când se utilizează un plan integrat cu o vizualizare de urmărire încorporată, lipsa artefactelor devine evidentă și ușor de corectat în proiect.

Orez. 7. Planul de lansare care acoperă dezvoltarea, cerințele și testarea

Odată ce legăturile de urmărire sunt stabilite, IBM Rational Collaborative Lifecycle Management creează automat legături de urmărire de la acestea la defectele identificate în timpul testării. Imaginea de mai jos arată un defect cu legături de urmărire create pentru acesta. Când adăugați un defect în timpul testării, legăturile de urmărire între defect și rezultatele testului, caz de testare, plan de testare, element de plan și cerință sunt create automat.

Orez. 8. Relații ciclului de viață create automat pentru un defect, afișează cazuri de testare, elemente de plan și cerințe afectate de acesta

Interacțiunea în context

Interacțiunea nu se limitează la menținerea unor relații prietenoase și de lucru. Interacțiunea îmbunătățește calitatea și crește valoarea produsului pentru părțile interesate, ceea ce înseamnă că interacțiunea este importantă pentru inovare. Oportunitățile de colaborare într-o soluție LCI pot îmbunătăți capacitatea membrilor echipei de a comunica între ei, de a răspunde la schimbări și de a contribui la predictibilitatea proiectului.

Instrumentele de colaborare ajută, de asemenea, echipele să se concentreze pe ceea ce este important. Echipele trebuie să găsească toate oportunitățile de a automatiza sarcinile manuale și non-creative. O soluție LCI bună include automatizarea pentru build-uri și execuția testelor, dar ar trebui să includă și automatizarea pentru raportarea stării și accesul la informații. Tablourile de bord ale proiectelor și tablourile de bord personale joacă un rol important în furnizarea automată a echipei informatie necesara, oferind vizibilitate asupra muncii în echipă și acces la date actualizate prin rapoarte și interogări de echipă. O interfață de utilizator bine concepută automatizează accesul la informații, furnizând informații direct utilizatorilor fără a-i forța să „schimbe contextul” prin trecerea la o altă aplicație. În această formă, automatizarea contribuie direct la interacțiuni mai bune.

Activități de evitat

Nu te baza pe oameni pentru a lucra împreună e-mail, programe de mesagerie instantanee, foi de calcul și comunicații verbale. Utilizați un sistem în care informațiile sunt disponibile instantaneu pentru toți membrii echipei în contextul muncii lor.

Integrați toate discuțiile despre articolele de lucru în plan, făcând din mediul dumneavoastră LCM singura sursă de informații necesare pentru a înțelege istoricul proiectului, ceea ce va grăbi dezvoltarea viitoarelor îmbunătățiri ale produsului.

Conectați-vă echipa, asigurându-vă că toată lumea din echipă poate folosi datele conectate. Când treceți mouse-ul peste un link, ar trebui să fie afișate informații despre artefactul de la celălalt capăt al linkului.

Nu ignora opiniile părților interesate și nu presupune că știi deja ce vor. Utilizați recenzii, aprobări și discuții online pentru a clarifica cerințele și pentru a răspunde la contribuțiile părților interesate din timp și des.

Imaginea de mai jos arată un set de tablouri de bord cu widget-uri care conțin informații de la Rational Team Concert, Rational Requirements Composer și Rational Quality Manager. Datele de pe tablourile de bord afișează starea curentă a proiectului.

Orez. 9. Tablourile de bord cu date din diverse surse asigură transparența muncii pentru toate echipele funcționale

Imaginea de mai jos arată un mini tablou de bord care este întotdeauna disponibil pe partea laterală a interfeței de utilizare și poate fi andocat la stânga sau la dreapta. Funcționează ca un mini tablou de bord personal care urmărește utilizatorul pe tot parcursul soluției LCM și poate fi ascuns sau afișat în orice moment.

Orez. 10. Mini-panoul este accesibil de oriunde în interfața cu utilizatorul

Următoarea imagine arată un mini-tablou de bord personal în Rational Team Concert. Acest panou include un widget care afișează modificările cerințelor în Rational Requirements Composer. Acesta este un exemplu de mini-tablou de bord cu informații din diverse surse. Când treceți mouse-ul peste o cerință, apare o previzualizare cu informații despre starea cerinței în Requirements Composer. Utilizatorii care au nevoie de acces rapid la informații se vor obișnui rapid cu mini-panouri.

Analiza de afaceri pentru dezvoltare

De unde știi că ceva se îmbunătățește dacă nu definiți valorile de succes? Puteți spune la un moment dat într-un proiect dacă echipa se îndreaptă către un rezultat de succes? Identificarea zonelor care necesită îmbunătățiri, stabilirea obiectivelor și urmărirea progresului către atingerea acestor obiective este ceea ce ajută la dezvoltarea analizei de afaceri pentru dezvoltare.

Potrivit Capers Jones 1, proiectele care folosesc pe scară largă practicile de măsurare au mult mai mult succes decât cele care nu au.

Orez. 12. Proiectele care folosesc practici de măsurare au șanse mai mari de succes.

De exemplu, următoarele trei valori sunt utilizate în mai puțin de 50% dintre organizații, conform cercetării Capers Jones:

  • Valori de calitate 45%
  • Valori de productivitate 30%
  • Valori de pregătire 15%

Activități de evitat

Nu utilizați valori de performanță de la alte organizații sau oricare surse externe la proiectul tău. Setați valori de performanță care se potrivesc organizației dvs.
Nu vă bazați pe informațiile colectate manual, cum ar fi interogarea echipei pentru actualizări de stare sau stocarea foilor de calcul pe hard disk. Luați decizii bazate pe fapte, bazându-vă pe tablouri de bord live și rapoarte generate automat pe baza informațiilor din activitățile echipei dvs.
Nu încercați să determinați toate valorile proiectului simultan. Când definiți o valoare, începeți cu puțin. Găsiți punctul de durere, luați o decizie și alegeți o metodă de îmbunătățire; stabiliți cum veți măsura progresul pentru această îmbunătățire. Utilizați un instrument care colectează informații despre activitățile echipei dvs. pentru a vă ghida echipa către rezultatul dorit.

Imaginea de mai jos prezintă rapoartele pentru echipa de dezvoltare pe tabloul de bord al proiectului. Când actualizați un articol de lucru, rapoartele reflectă activitățile echipei și direcția de progres. Folosiți diagrame de progres pentru a urmări progresul echipei dvs. către finalizarea activității planificate. Sau, alternativ, utilizați diagrame care arată modificări ale numărului de elemente de lucru în stările Deschis, În curs și Închis (în mod ideal, numărul de articole din stările Deschis și În curs ar trebui să scadă, iar în „Deschis” și „ În curs" afirmă. Închis" - cresc).

Orez. 13. Tabloul de bord cu rapoarte și valori pentru a măsura îmbunătățirile

Tablourile de bord și rapoartele sunt o componentă cheie a soluției LCI, responsabile pentru măsurarea și răspunsul la progresul continuu al echipei.

Îmbunătățirea continuă a procesului de dezvoltare

Un proces este mai mult decât un set documentat de acțiuni. Dezvoltăm procese bazate pe cele mai bune practici din industrie ca mijloc de îmbunătățire a comunicării echipei și de creștere a șanselor de succes ale echipei. Comportamentul este în mare măsură determinat de obicei. Când definiți sau modificați un proces, în esență, cereți întregii echipe să-și schimbe obiceiurile și să adopte comportamente care pot să nu fie clare pentru ei la început. Este destul de dificil să schimbi obiceiurile unei persoane. Schimbarea unui proces necesită adesea schimbarea modului în care mulți oameni gândesc și se comportă. O soluție LCM bine concepută vă permite să vă schimbați procesul treptat, să îmbunătățiți dinamica echipei și să continuați să vă îndreptați spre o mai mare eficiență.

Activități de evitat

Nu neglijați calitatea procesului și nu îl tratați ca pe o povară suplimentară. Realizați că îmbunătățirea continuă vă va ajuta echipa să adopte cele mai bune practici, creați un ritm de lucru și reduceți problemele neașteptate.
Rezistă tentației de a îmbunătăți totul deodată.

Nu încercați să definiți procesul prea precis la un moment dat.

Utilizați îmbunătățiri progresive prin modificarea continuă a planurilor și a tablourilor de bord pentru a aborda preocupările echipei în funcție de starea actuală a proiectului. Utilizați o abordare care vă ajută să începeți să vă îmbunătățiți situația actuală.
Evitați o situație în care un proces, odată identificat, este scris pe hard disk și nu va mai fi vizualizat niciodată. Conduceți îmbunătățiri revoluționare prin adoptarea celor mai bune practici sub formă de specificații de proces, șabloane și automatizări pe care mai multe echipe le pot folosi într-un singur instrument.
Evitați să controlați prea strâns procesul. Încurajați membrii echipei să se implice în îmbunătățirea procesului, alegând un sistem care facilitează îmbunătățirea continuă și ceva ce poate fi realizat cu un instrument pe care îl folosește toată lumea.
Nu definiți îmbunătățirile procesului fără a vedea rezultatul final. Pe măsură ce identificați îmbunătățirile procesului, afișați rezultatele îmbunătățirilor pe tablourile de bord.
Nu vă așteptați să faceți totul corect de prima dată. Trebuie înțeles că există întotdeauna loc pentru îmbunătățiri suplimentare. Prin urmare, este necesară revizuirea continuă a îmbunătățirilor și determinarea următorului set al acestora.

Echipele care doresc să-și îmbunătățească capacitatea de a îndeplini obiectivele de calitate folosesc Rational Quality Manager, care are integrări încorporate cu Rational Team Concert și Rational Requirements Composer. IBM Rational Quality Manager ajută organizațiile să optimizeze calitatea proiectelor prin furnizarea unui singur centru pentru managementul testelor care oferă suport integrat pentru ciclul de viață pentru aproape orice platformă țintă și tip de test. Implementează o soluție personalizabilă bazată pe roluri pentru planificarea testelor, crearea și execuția testelor, precum și controlul fluxului de lucru, management și urmărire end-to-end.

Folosirea împreună a acestor produse permite echipei să implementeze cele 5 principii ale managementului ciclului de viață discutate în acest articol. Aceste principii sunt încorporate în instrumente și sunt gata să vă ajute să vă îmbunătățiți capacitatea de a crea inovații software de înaltă calitate. Lucrul bun este că nu trebuie să folosiți toate cele trei instrumente pentru a obține cele mai bune rezultate - pot fi folosite în perechi sau toate împreună.

___________________________________________________________________________________________________________

Se știe că mulți utilizatori (și, să fiu sincer, unii specialiști IT), atunci când vorbesc despre dezvoltare software, se referă în primul rând la crearea și depanarea codului aplicației. A fost o vreme când astfel de idei s-au dovedit a fi destul de aproape de adevăr. Dar dezvoltarea aplicațiilor moderne constă nu numai și nu atât în ​​scrierea codului, ci și în alte procese, atât premergătoare, cât și următoare programarii în sine. De fapt, vom vorbi mai departe despre ele.

Ciclul de viață al dezvoltării aplicațiilor: vise și realitate

Nu este un secret pentru nimeni că multe produse de succes comercial, atât în ​​Rusia, cât și în străinătate, au fost implementate folosind doar instrumente de dezvoltare a aplicațiilor și chiar și datele au fost adesea concepute pe hârtie. Nu ar fi exagerat să spunem că dintre toate instrumentele posibile pentru crearea de software în Rusia (și în multe țări europene), instrumentele de dezvoltare de aplicații și, într-o măsură oarecum mai mică, instrumentele de proiectare a datelor sunt acum populare (în primul rând, acest lucru se aplică proiectelor). cu un buget mic și termene de implementare comprimate). Toată documentația de proiect, de la specificațiile tehnice până la instrucțiunile utilizatorului, este creată folosind editori de text, iar faptul că o parte dintre acestea sunt informații inițiale pentru programator înseamnă doar că o citește pur și simplu. Și asta în ciuda faptului că, pe de o parte, instrumentele de management al cerințelor, modelarea proceselor de afaceri, instrumentele de testare a aplicațiilor, instrumentele de management de proiect și chiar instrumentele de generare. documentatia proiectului există de destul de mult timp și, pe de altă parte, orice manager de proiect își dorește în mod natural să-și facă viața mai ușoară atât pentru el, cât și pentru ceilalți interpreți.

Care este motivul neîncrederii multor manageri de proiect în instrumente care permit automatizarea multor etape ale muncii echipelor pe care le conduc? În opinia mea, există mai multe motive pentru acest lucru. Prima dintre ele este că instrumentele pe care compania le folosește adesea nu se integrează bine între ele. Să luăm în considerare un exemplu tipic: Rational Rose este folosit pentru modelare, Delphi Professional este folosit pentru codare, CA AllFusion Modeling Suite este folosit pentru proiectarea datelor; instrumentele de integrare pentru aceste produse fie nu sunt disponibile deloc pentru o anumită combinație a versiunilor lor, fie nu funcționează corect cu limba rusă, fie pur și simplu nu au fost achiziționate. Ca rezultat, diagramele de cazuri de utilizare și alte modele create cu Rose nu devin altceva decât imagini în documentația de proiectare, iar modelul de date servește în principal ca o sursă de răspuns la întrebări precum: „De ce este necesar acest câmp în acel tabel?” Și chiar și părți atât de simple ale aplicației, cum ar fi echivalentele rusești ale numelor câmpurilor bazei de date, sunt scrise de către participanții la proiect de cel puțin trei ori: o dată când se documentează modelul de date sau aplicația, a doua oară când se scrie codul interfeței cu utilizatorul și a treia oară când se creează un fișier de ajutor și manuale de utilizare.

Al doilea motiv, nu mai puțin serios, pentru neîncrederea în instrumentele de suport pentru ciclul de viață al software-ului este că, din nou, din cauza lipsei sau a funcționalității slabe a instrumentelor de integrare pentru astfel de produse, în multe cazuri este posibil să nu fie posibilă sincronizarea constantă a tuturor părților proiectului. între ele: modele de proces, modele de date, codul aplicației, structura bazei de date. Este clar că implementarea proiectului schema clasica cascadă (Fig. 1), în care se formulează mai întâi cerințele, apoi se realizează modelarea și proiectarea, apoi dezvoltarea și, în sfârșit, implementarea (puteți citi despre această schemă și alte metodologii de implementare a proiectelor într-o serie de recenzii de către Lilia Hough, publicat în revista noastră), există mai mult un vis decât o realitate - în timp ce codul este scris, clientul va avea timp să-și schimbe unele procese sau să-și dorească funcționalități suplimentare. Rezultatul unui proiect este adesea o aplicație care este foarte departe de ceea ce a fost descris în termeni de referinta, și o bază de date care are puține în comun cu modelul original, iar sincronizarea tuturor acestora între ele în scopul documentării și transferului către client se transformă într-o sarcină destul de intensivă în muncă.

Al treilea motiv pentru care instrumentele de asistență pentru ciclul de viață al software-ului nu sunt folosite peste tot unde ar putea fi utile este că alegerea lor este extrem de limitată. Pe piata ruseasca Există în principal două linii de produse care sunt promovate activ: instrumentele IBM/Rational și instrumentele Computer Associates (în principal linia de produse AllFusion Modeling Suite), concentrată în mare parte pe tipuri specifice de modelare, mai degrabă decât pe procesul în curs de sincronizare a codului, bazei de date. si modele.

Mai există un motiv care poate fi clasificat drept factori psihologici: există dezvoltatori care nu se străduiesc deloc pentru formalizarea și documentarea completă a aplicațiilor lor - la urma urmei, în acest caz devin indispensabili și angajați valoroși, iar o persoană care este forțată să-și înțeleagă codul sau pur și simplu produsul care îl însoțește după demiterea unui astfel de dezvoltator se va simți ca un complet idiot pentru o perioadă foarte lungă de timp. Astfel de dezvoltatori, desigur, nu sunt în niciun caz majoritari, cu toate acestea, cunosc cel puțin cinci directorii companiei, pentru care asemenea foști angajați au stricat mult sânge.

Desigur, mulți manageri de proiect, în special proiecte cu un buget mic și termene limitate, ar dori să aibă un instrument cu care să formuleze cerințele pentru produsul software în curs de dezvoltare... și ca rezultat să primească o distribuție gata făcută de o aplicație de lucru. Acesta, desigur, este doar un ideal la care nu putem decât să visăm deocamdată. Dar dacă veniți pe pământ, puteți formula dorințe mai specifice, și anume:

1. Instrumentele de management al cerințelor ar trebui să faciliteze crearea modelului de aplicație și a modelului de date.

2. Pe baza acestor modele, ar trebui generată o parte semnificativă a codului (de preferință nu numai client, ci și server).

3. O parte semnificativă a documentației ar trebui să fie generată automat și în limba țării pentru care este destinată această aplicație.

4. La crearea codului aplicației, modificările automate ar trebui să apară în modele, iar atunci când modelul se modifică, codul ar trebui să fie generat automat.

5. Codul scris manual nu ar trebui să dispară atunci când se fac modificări la model.

6. Apariția unei noi cerințe ale clientului nu ar trebui să provoace probleme serioase asociate cu modificări ale modelelor, codului, bazei de date și documentației; în acest caz, toate modificările trebuie făcute sincron.

7. Instrumentele de control al versiunilor pentru toate cele de mai sus ar trebui să fie convenabile în ceea ce privește căutarea și urmărirea modificărilor.

8. Și, în sfârșit, toate aceste date (cerințe, cod, modele, documentație) ar trebui să fie disponibile participanților la proiect exact în măsura în care au nevoie de ele pentru a-și îndeplini responsabilitățile - nici mai mult, nici mai puțin.

Cu alte cuvinte, ciclul de dezvoltare a aplicațiilor ar trebui să permită o dezvoltare iterativă, colaborativă, fără costurile suplimentare asociate cu modificările cerințelor clienților sau modului în care acestea sunt implementate.

Nu vă voi asigura că toate aceste dorințe sunt absolut imposibil de implementat folosind instrumente IBM/Rational sau CA - tehnologiile se dezvoltă, apar noi produse și ceea ce era imposibil astăzi va deveni disponibil mâine. Dar, după cum arată practica, integrarea acestor instrumente cu cele mai populare instrumente de dezvoltare, din păcate, este încă departe de a fi atât de ideală pe cât ar părea la prima vedere.

Produsele Borland din perspectiva unui manager de proiect

Borland este unul dintre cei mai populari producători de instrumente de dezvoltare: timp de douăzeci de ani, produsele sale au fost îndrăgite pe merit de dezvoltatori. Până de curând, această companie oferea în principal o gamă largă de instrumente destinate direct creatorilor de coduri de aplicații - Delphi, JBuilder, C++Builder, Kylix (am scris despre toate aceste produse de mai multe ori în revista noastră). Cu toate acestea, succesul unei companii pe piață este determinat în mare măsură de măsura în care își urmărește tendințele de dezvoltare și cât de mult înțelege nevoile celor care sunt consumatori ai produselor sale (în acest caz, companii și departamente specializate în dezvoltarea de aplicații).

De aceea, strategia actuală de dezvoltare a instrumentelor de dezvoltare a Borland implică sprijinirea întregului ciclu de viață al aplicației (Application Lifecycle Management, ALM), inclusiv definirea cerințelor, proiectarea, dezvoltarea, testarea, implementarea și întreținerea aplicației. Acest lucru este dovedit de achiziția de anul trecut de către Borland a unui număr de companii - BoldSoft MDE Aktiebolag (un furnizor de top cea mai recentă tehnologie Dezvoltare de aplicații Model Driven Architecture), Starbase (furnizor de instrumente de management al configurației pentru proiecte software), TogetherSoft Corporation (furnizor de soluții de proiectare software). De la achiziționarea acestor companii, s-a depus multă muncă în ceea ce privește integrarea acestor produse între ele. Ca urmare, aceste produse răspund deja nevoilor managerilor de proiect legate de capacitatea de a organiza dezvoltarea iterativă a echipei. Mai jos vom discuta ce oferă în prezent Borland managerilor și altor participanți la proiectele de dezvoltare software (multe dintre produsele și tehnologiile de integrare descrise mai jos au fost prezentate de companie la conferințele pentru dezvoltatori din San Jose, Amsterdam și Moscova în noiembrie) .

Managementul cerințelor

Managementul cerințelor este una dintre cele mai importante părți ale procesului de dezvoltare. Fără cerințe formulate, de regulă, este practic imposibil să se organizeze normal munca la proiect și nici să se înțeleagă dacă clientul a dorit cu adevărat să primească exact ceea ce a fost implementat.

Potrivit analiștilor, cel puțin 30% din bugetul proiectelor este cheltuit pentru ceea ce se numește reproiectarea aplicației (și personal cred că această cifră este mult subestimată). Mai mult, mai mult de 80% din această muncă este asociată cu cerințe formulate incorect sau incorect, iar corectarea unor astfel de defecte este de obicei destul de costisitoare. Și cât de mult le place clienților să schimbe cerințele atunci când aplicația este aproape gata este probabil cunoscut de toți managerii de proiect... Din acest motiv, cea mai mare atenție trebuie acordată managementului cerințelor.

Pentru managementul cerințelor, Borland are produsul Borland CaliberRM, care este în esență o platformă pentru automatizarea procesului de management al cerințelor, oferind instrumente de urmărire a modificărilor (Fig. 2).

CaliberRM se integrează cu multe instrumente de dezvoltare atât de la Borland, cât și de la alți producători (de exemplu, Microsoft), până la încorporarea unei liste de cerințe în mediul de dezvoltare și generarea de șabloane de cod atunci când trageți pictograma cerințelor în editorul de cod cu mouse-ul. În plus, puteți crea propriile soluții pe baza acestuia - există un set special de instrumente CaliberRM SDK pentru aceasta.

Rețineți că acest produs este utilizat pentru a gestiona cerințele nu numai pentru software, ci și pentru alte produse. Astfel, sunt cunoscute cazuri de utilizare cu succes în industria auto pentru a gestiona cerințele pentru diferite componente ale mașinilor (inclusiv mașinile Jaguar). În plus, conform lui Jon Harrison, manager responsabil pentru linia de produse JBuilder, utilizarea CaliberRM pentru a crea Borland JBuilderX a simplificat semnificativ procesul de dezvoltare pentru acest produs.

Și, în sfârșit, deținerea unui instrument convenabil de gestionare a cerințelor simplifică foarte mult crearea documentației de proiect, și nu numai în stadiile incipiente. etapele proiectului, dar și asupra tuturor celor ulterioare.

Aplicație și proiectare de date

Designul este o parte la fel de importantă a creării unei aplicații și ar trebui să se bazeze pe cerințele declarate. Rezultatul designului sunt modelele utilizate de programatori în etapa de creare a codului.

Pentru proiectarea aplicațiilor și a datelor, Borland oferă produsul Borland Together (Fig. 3), care este o platformă pentru analiza și designul aplicațiilor care se integrează cu diverse instrumente de dezvoltare atât de la Borland, cât și de la alți producători (în special, Microsoft). Acest produs vă permite să modelați și să proiectați aplicații și date; Mai mult decât atât, gradul de integrare a acestuia cu instrumentele de dezvoltare în acest moment este de așa natură încât modificările în modelul de date conduc la modificări automate ale codului aplicației, la fel cum modificările codului duc la modificări ale modelelor (această tehnologie de integrare a instrumentelor de modelare și dezvoltare). instrumentele se numește LiveSource).

Borland Together poate fi folosit ca un instrument care combină sarcinile de gestionare a cerințelor și de modelare cu sarcini de dezvoltare și testare pentru a oferi o perspectivă asupra modului în care cerințele produsului ar trebui implementate.

Generarea codului aplicației

Codarea aplicațiilor este un domeniu în care Borland s-a specializat în ultimii 20 de ani de existență. Astăzi, Borland produce instrumente de dezvoltare pentru platformele Windows, Linux, Solaris, Microsoft .NET, precum și pentru o serie de platforme mobile. Am scris deja de mai multe ori despre instrumentele de dezvoltare ale acestei companii și nu ne vom repeta în acest articol. Remarcăm doar că cele mai recente versiuni ale instrumentelor de dezvoltare ale acestei companii (Borland C#Builder, Borland C++BuilderX, Borland JBuilderX), precum și cele care vor fi în curând o nouă versiune unul dintre cele mai populare instrumente de dezvoltare din țara noastră, Borland Delphi 8 pentru Microsoft .NET Framework, permite integrarea strânsă a instrumentelor de modelare Together și a instrumentelor de management al cerințelor CaliberRM cu mediile lor de dezvoltare. Cu siguranță vom vorbi despre Delphi 8 într-un articol separat din numărul următor al revistei noastre.

Testare și optimizare

Testarea este o componentă absolut necesară a creării de software de calitate. În această etapă se verifică dacă aplicația îndeplinește cerințele formulate pentru aceasta și se fac modificări corespunzătoare codului aplicației (și adesea modelelor și bazelor de date). Faza de testare necesită de obicei utilizarea instrumentelor de optimizare și analiză a performanței aplicației, iar Borland Optimizeit Profiler este utilizat în acest scop. Astăzi, acest produs este integrat și în mediile de dezvoltare ale celor mai recente versiuni ale instrumentelor de dezvoltare Borland, precum și în mediul Microsoft Visual Studio .NET (Fig. 4).

Implementarea

Implementarea software-ului este una dintre cele mai importante componente ale succesului proiectului. Ar trebui să fie efectuat în așa fel încât în ​​etapa de funcționare de probă a produsului să fie posibil să se facă modificări fără costuri și pierderi serioase și să crească cu ușurință numărul de utilizatori fără a reduce fiabilitatea. Deoarece implementările de aplicații de astăzi implică companii care utilizează tehnologii și platforme diferite și rulează o serie de aplicații existente, capacitatea de a integra o nouă aplicație cu sistemele vechi poate fi importantă în timpul implementării. În acest scop, Borland oferă o serie de tehnologii de integrare cross-platform (cum ar fi Borland Janeva, care permite integrarea aplicațiilor .NET cu aplicații bazate pe tehnologii CORBA și J2EE).

Managementul schimbării

Managementul modificărilor se realizează în toate etapele creării aplicației. Din perspectiva lui Borland, aceasta este cea mai importantă componentă a proiectului - la urma urmei, pot apărea modificări în cerințe, cod și modele. Este dificil să gestionezi un proiect fără a urmări modificările – managerul de proiect trebuie să fie conștient de ceea ce se întâmplă exact în această etapă și de ceea ce a fost deja implementat în proiect, altfel riscă să nu finalizeze proiectul la timp.

Pentru a rezolva această problemă, puteți folosi Borland StarTeam (Fig. 5), un instrument scalabil de gestionare a configurației software care stochează toate datele necesare într-un depozit centralizat și optimizează interacțiunea angajaților responsabili de implementare. diverse sarcini. Acest produs oferă unei echipe de participanți la proiect o varietate de instrumente pentru publicarea cerințelor, gestionarea sarcinilor, planificarea, lucrul, discutarea modificărilor, controlul versiunilor și organizarea fluxului de documente.

Caracteristicile acestui produs includ integrarea strânsă cu alte produse Borland, suport pentru echipele de dezvoltare distribuite care interacționează prin Internet, prezența mai multor tipuri de interfețe client (inclusiv o interfață Web și o interfață Windows), suport pentru multe platforme și sisteme de operare, prezența Kit-ului de dezvoltare software (SDK) StarTeam, care reprezintă interfețe ale programelor de aplicație pentru crearea de soluții bazate pe StarTeam, instrumente de protecție a datelor pe partea client și server, instrumente pentru accesarea repositoryelor Merant PVCS Version Manager și Microsoft Visual SourceSafe, integrare unelte cu Microsoft Project, instrumente pentru vizualizarea datelor, crearea de rapoarte și sprijinirea luării deciziilor.

În loc de o concluzie

Ce înseamnă că setul de produse de mai sus de la un producător binecunoscut, ale cărui instrumente de dezvoltare sunt utilizate pe scară largă într-o mare varietate de proiecte, apare pe piața rusă? Cel puțin, astăzi vom putea obține nu doar un set de instrumente pentru diverși participanți la proiect, ci și o platformă integrată pentru implementarea întregului ciclu de viață al dezvoltării - de la definirea cerințelor până la implementare și întreținere (Fig. 6). În același timp, această platformă, spre deosebire de seturile de produse concurente, va garanta suport pentru toate cele mai populare instrumente de dezvoltare și vă va permite să integrați componentele sale în ele la nivelul sincronizării complete a codului cu modele, cerințe și modificări. Și sperăm că managerii de proiect vor răsufla ușurați, s-au salvat pe ei și pe angajații lor de multe sarcini obositoare și de rutină...

Dezvoltarea de software este o activitate destul de complexă. Crearea unui produs software cu caracteristici destul de clar definite, completat cu o calitate acceptabila, in limita bugetului alocat si la timp, necesita coordonarea constanta a unui numar mare de actiuni intre numerosi specialisti. În ultimii 15 ani, dezvoltarea de software a devenit o industrie cu drepturi depline; nu există loc în ea pentru o abordare nedocumentată, pur individuală, așa că este firesc ca apariția unei metodologii de management al ciclului de viață al aplicațiilor să devină o tendință vizibilă.

Desigur, în procesul de dezvoltare software există un loc pentru arta programatorilor talentați și abilitățile profesionale ale celorlalți participanți la procesele de creare a unui produs software, dar astăzi a devenit cheie să conștientizem faptul că în această activitate există nu există loc pentru incoerență, lipsă de documentație și dictatele individului. Una dintre cele mai vizibile tendințe ale primului deceniu al acestui secol în industria sistemelor software a fost apariția ALM (Application Lifecycle Management, ALM) - managementul ciclului de viață al aplicației .

Această abordare ar trebui să introducă disciplina de management în dezvoltare, considerând crearea unui produs software ca un proces de afaceri și ținând cont de natura sa ciclică. În conformitate cu ideea ALM, lucrul la orice soluție software nu se termină în etapa punerii în funcțiune: sistemul este modernizat și îmbunătățit, sunt lansate noile sale versiuni, care de fiecare dată inițiază următoarea rundă a ciclului de viață al aplicației.

Analiștii Forrester Research compară ALM cu ERP pentru industria software. Adevărat, istoria ALM este mult mai scurtă și nu se poate lăuda încă cu o listă comparabilă de implementări de succes. Analiștii recunosc că, în ciuda necesității obiective pentru astfel de soluții, instrumentele ALM sunt încă de utilizare limitată, iar piața lor este încă fragmentată. Observatorii pieței consideră că niciuna dintre ofertele ALM existente astăzi nu realizează pe deplin toate beneficiile și capacitățile potențiale ale automatizării managementului ciclului de viață al aplicațiilor. Cu toate acestea, dezvoltarea dezvoltării către procese controlate, previzibile, eficiente pentru crearea de software fiabil și de înaltă calitate nu poate decât să fie însoțită de apariția unor platforme adecvate pentru automatizarea acestor procese.

Furnizorii de soluții ALM oferă o varietate de instrumente și tehnologii pentru a sprijini procesul de dezvoltare a software-ului. Aceste instrumente depășesc cu mult instrumentele tradiționale de productivitate pentru dezvoltatorul individual. Acestea au ca scop furnizarea de metode și instrumente axate pe munca în echipă pentru a crea software. Pentru a crea o soluție ALM viabilă, furnizorii trebuie să răspundă nevoilor echipei de dezvoltare software „extinsă” și să includă roluri în produsele lor care contribuie la procesul mai larg.

Expertul IT D. Chappell avertizează împotriva unei viziuni simpliste a ALM, care este adesea identificată doar cu Ciclul de viață al dezvoltării software (SDLC): inițiere, ciclu de dezvoltare iterativ, lansare și implementare a produsului. Disciplina ALM acoperă o gamă mai largă de sarcini, luând în considerare toate aspectele existenței unei astfel de resurse corporative precum aplicațiile. Conform definiției lui D. Chappel, ciclul de viață al aplicației include toate etapele în care o organizație investește într-un fel sau altul în această resursă - de la ideea inițială a unei soluții software până la eliminarea software-ului la sfârșitul vieții.

Această definiție este extrem de detaliată în HP - conform companiei, ciclul este doar una dintre etapele unui model cu drepturi depline

ABM este etapa de livrare a aplicației (Fig. 3.14), iar pe lângă aceasta există și planificarea, operarea și dezafectarea. Ciclul este închis: până în momentul în care organizația ajunge la concluzia finală că aplicația este inutilă, aceasta continuă să se îmbunătățească. Implementarea competentă a ALM are ca scop, printre altele, extinderea funcționării eficiente a unei soluții software și, ca urmare, asigurarea unei reduceri a costurilor pentru achiziționarea sau crearea de produse software fundamental noi.

Analiza nevoilor afacerii

Prioritate și investiție

Wardlenne ShShDoiSh „Monitorizare program

Îmbunătăţire

Planificare

Îndrumarea deciziilor

Corecţie

erori

Monitorizarea

setare

ciclul de viață al aplicației

Practici

Corespondenţă

cerințe

Se repetă

islopkyvanis

Iniţiere

iterații de dezvoltare

Livrare

Scoaterea din serviciu

Eliberare

investitie

Orez. 3.14. Modelul ALM

D. Chappel extinde imaginea ciclului de viață într-una liniară, evidențiind trei domenii principale ale ALM: guvernanță, dezvoltare și operațiuni. Procesele corespunzătoare acestor zone decurg, suprapunându-se, de la începutul unei idei pentru o nouă aplicație sau modernizarea uneia existente, până la etapa de desfășurare a acesteia și până la finalizarea completă a funcționării.

Guvernarea în ALM are loc pe tot parcursul ciclului de viață al aplicației și include toate procesele și procedurile care se referă la luarea deciziilor și managementul proiectelor. Sarcina principală aici este să se asigure că aplicația îndeplinește anumite obiective de afaceri, ceea ce determină importanța acestei componente ALM. Printre procesele de management, D. Chappel include elaborarea unei propuneri de investiții detaliate (un caz de afaceri care conține o analiză a costurilor, beneficiilor și riscurilor asociate unei viitoare aplicații), care precede etapa de dezvoltare; managementul dezvoltării folosind metode și instrumente pentru managementul proiectelor și portofoliului (Project Portfolio Management, PPM); gestionarea unei aplicații care rulează ca parte a managementului portofoliului de aplicații pentru întreprinderi (Application Portfolio Management, AWS).

Dezvoltarea aplicației are loc între momentul în care o idee este concepută și soluția finală este implementată. Procesele de dezvoltare sunt implementate și după implementare atunci când este nevoie de modernizarea aplicației sau de lansare de noi versiuni. Dezvoltarea include definirea cerințelor, proiectarea, codificarea și testarea, toate acestea având loc de obicei pe mai multe iterații.

Operarea include procesele de monitorizare și gestionare a unei aplicații care rulează, care sunt planificate și începute cu puțin timp înainte de sfârșitul dezvoltării și continuă până la eliminare. Includerea proceselor operaționale în ciclul de viață al software-ului este esențială: silozurile dintre echipele de dezvoltare și operațiuni sunt considerate una dintre cele mai presante probleme în aplicațiile de întreprindere, iar integrarea lor folosind ALM promite să îmbunătățească semnificativ eficiența utilizării software-ului de afaceri. Singura problemă este că în mediile ALM o astfel de integrare rămâne încă un obiectiv bun, și nu o implementare reală.

Imaginea generală descrisă a ALM în practică este transformată în necesitatea de a planifica și automatiza multe etape ale ciclului de viață al software-ului. Un mediu ALM ideal integrează toți participanții în ciclul de viață al aplicației, le oferă acces consecvent la resurse și sarcini relevante, înțelegând în același timp contextul fiecărui rol individual și oferindu-le instrumentele potrivite.

O listă extinsă de roluri și sarcini ale participanților la proces ALM care trebuie să fie susținute de instrumente adecvate include:

  • manageri de top - gestionează portofoliile de proiecte și, folosind tablouri de bord, controlează valorile cheie ale ciclului de viață al software-ului, inclusiv riscurile și calitatea produsului;
  • manageri de proiect - planifică și controlează implementarea proiectului, analizează riscuri posibileși sunt responsabili pentru alocarea resurselor;
  • analiști - interacționează cu utilizatorii de afaceri, determină cerințele pentru un produs software, gestionează cerințele și modificările acestora pe parcursul proiectului;
  • arhitecti - arhitectura model sistem software, inclusiv componentele sale funcționale, datele și procesele;
  • dezvoltatori - scriu cod folosind medii de dezvoltare integrate și diverse instrumente de asigurare a calității software în etapa de codificare;
  • Inginerii departamentului calitate - creează și gestionează teste, efectuează teste funcționale, de regresie, testare a performanței, inclusiv utilizarea instrumentelor de testare automatizate;
  • Personalul de operațiuni - monitorizează și gestionează aplicația și implementează părere cu echipa de dezvoltare privind problemele emergente;
  • utilizatorii de afaceri - folosind instrumente specializate, sunt capabili să formuleze cerințe, să raporteze defectele aplicației și să urmărească starea modificărilor efectuate.

Cu toate acestea, procesul ALM „tradițional” nu reușește să-și atingă potențialul maxim de a genera valoare pentru organizație. Faptul este că mulți furnizori introduc în mod agresiv soluții ALM limitate end-to-end pe piață, care au ca scop legarea clienților de platforme tehnologice închise. Clienții descoperă curând că aceste soluții nu se integrează cu procesele, instrumentele și platformele lor de dezvoltare existente. Din păcate, acest lucru lasă echipele de dezvoltare blocate cu procesele disparate ale ALM și cu aglomerația de date, ceea ce, la rândul său, le împiedică să realizeze întregul potențial al ALM.

Mediul software unificat ALM este proiectat pentru a oferi instrumente pentru lucrul și gestionarea proceselor bazate pe configurarea și gestionarea modificărilor și controlul versiunilor software. În general, implementarea abordărilor și instrumentelor ALM vă permite să creați procese standard pentru crearea și operarea aplicațiilor, să monitorizați conformitatea cu acestea în toate proiectele, să implementați un proces strict de management al schimbărilor, să anticipați impactul acestora asupra mediului IT și a afacerii în ansamblu, creați un sistem de valori pentru calitate, productivitate și riscuri de dezvoltare, urmăriți și analizați aceste valori pe parcursul ciclului de viață și, în cele din urmă, asigurați-vă că aplicațiile pe care le creează îndeplinesc cu adevărat obiectivele de afaceri.

Inițial, unii dintre puținii inovatori care au înțeles importanța ALM și și-au schimbat strategiile de produs pentru a-l susține în mod explicit au fost Borland și IBM Rational. Reacționând la oportunitățile evidente, alte companii s-au alăturat conceptului ALM câștigător: Microsoft, Telelogic, Mercury, Serena, Compuware, CollabNet și Mercury. Astăzi, ALM este o tendință stabilită și o industrie în creștere recunoscută de analiști. Furnizorii de soluții ALM oferă o varietate de instrumente și tehnologii pentru a sprijini procesul de dezvoltare a software-ului. Aceste instrumente depășesc cu mult instrumentele tradiționale de productivitate pentru dezvoltatorul individual. Acestea au ca scop furnizarea de metode și instrumente axate pe munca în echipă pentru a crea software. Pentru a crea o soluție ALM viabilă, furnizorii trebuie să răspundă nevoilor echipei mai largi de dezvoltare de software și să includă roluri în produsele lor care contribuie la procesul mai larg.

Un dezavantaj comun al primelor sisteme ALM a fost integrarea slabă a modulelor pentru diferite etape ale ciclului de viață, atât în ​​cadrul platformei unui producător, cât și în cadrul soluțiilor. furnizori diferiți. Neputând să folosească o platformă ALM cuprinzătoare, clienții au construit o platformă fragmentară care i-a forțat să implementeze manual managementul procesului de la capăt la capăt al ciclului de viață, anulând astfel beneficiul potențial major al automatizării ALM. Prin urmare, ca direcție principală de îmbunătățire a mediilor ALM, în urmă cu patru ani, analiștii Forrester au prezis apariția unor platforme integrate ALM 2.0 care să ofere servicii comune pentru a susține diferite roluri în ciclul de viață, să utilizeze un singur depozit fizic sau virtual de artefacte de dezvoltare, gestionați procesele ciclului de viață micro și macro, asigurarea integrării instrumentelor pentru diferite roluri într-un singur mediu, capabilități de raportare end-to-end suportate pentru diferite etape ale ciclului de viață.

Astăzi, apar noi cerințe pentru ALM, iar adoptarea pe scară largă a metodelor de dezvoltare agile joacă un rol decisiv în acest sens. Cu câțiva ani în urmă, creatorul uneia dintre cele mai faimoase metode Scrum rapide, D. Sutherland, a anunțat viitoarea adaptare totală a ideilor de dezvoltare rapidă. Acest lucru părea o exagerare, dar prognoza s-a dovedit a fi corectă. Potrivit unui studiu comun al analiștilor Capgemini Group și HP Software&Solutions, în 2010, peste 60% dintre companii utilizau deja sau plănuiau să utilizeze dezvoltarea agilă, iar dintre participanții la sondajul Forrester, doar 6% au recunoscut că încă se uită la metode rapide, toți restul le folosesc în grade diferite, 39% consideră că implementările lor sunt destul de mature.

Dezvoltatorii folosesc comenzi rapide și lansează produsul în producție, ceea ce nu ține cont de realitățile dezvoltării rapide, ceea ce creează obstacole serioase în calea vitezei de răspuns a aplicațiilor care rulează la modificările cerințelor de afaceri și, ca urmare, a flexibilității afacerii. în sine. Incapacitatea sau lipsa de dorință a personalului de operațiuni de a răspunde la schimbările din mediul aplicației făcute de dezvoltatori este adesea asociată cu deficiențe în documentația care este transmisă de la o etapă la alta, fără a reflecta dependențele cheie dintre componentele versiunii software lansate și, mai general, cu lipsa unui canal de comunicare fiabil și automatizat între dezvoltatori și personalul operațional. Această problemă se înrăutățește doar odată cu răspândirea instrumentelor moderne de automatizare pentru managementul centrelor de date și a noilor abordări ale implementării infrastructurilor IT, inclusiv cloud-urile. Foarte automatizate și concepute pentru a implementa aplicații cât mai repede posibil, astfel de medii nu vor putea răspunde la schimbări fără un canal de comunicare automatizat și fără implementarea proceselor end-to-end între etapele de dezvoltare și operare.

Conștientizarea gravității problemei și tendința de a căuta soluții la aceasta au dat chiar naștere unui nou termen, DevOps, folosit pentru a se referi la concepte și tehnologii pentru îmbunătățirea interacțiunii dintre dezvoltare și operațiuni. Analiștii își pun principalele speranțe pentru implementarea acestor idei pe medii ALM de nouă generație, care în practică, și nu în teorie, vor asigura integrarea etapelor cheie ale ciclului de viață al aplicației. Aplicațiile create astăzi sunt în multe cazuri compozite și integrează componente implementate în diferite limbaje de programare pentru diferite platforme, precum și cod de sisteme externe și soluții vechi, bazate pe principii de servicii. Pentru a-și gestiona ciclul de viață, mediul ALM trebuie să accepte mai multe medii de dezvoltare și platforme de execuție (cum ar fi NET și J2EE), precum și să ofere control asupra codului sursă, a licențelor și a stării de dezvoltare a componentelor aplicației externe.

Printre semnele adoptării pe scară largă a proceselor Agile, analiștii notează că organizațiile se îndepărtează de ortodoxie cu privire la aceste metode. Dezvoltatorii nu se tem să combine diferite procese dacă le permite să optimizeze lucrul pe noi sisteme, astfel încât mediul ALM 2.0 ar trebui să susțină diferite procese și metodologii în domeniile dezvoltării, managementului portofoliului și asigurării calității produselor. Acesta din urmă este deosebit de important: automatizarea proceselor end-to-end de management al calității - de la definirea cerințelor până la testare și operare - poate deveni una dintre cele mai punctele forte platformă ALM cuprinzătoare.

Linia de produse Rational pentru a susține diferite etape ale ciclului de viață al software-ului s-a distins întotdeauna prin amploarea sa și se concentrează pe integrarea modulelor între ele. Analiștii Butler Group au evaluat suita de soluții IBM Rational Software and Systems Delivery ca fiind cea mai completă de pe piață în ceea ce privește gama de componente ALM implementate. Această suită include produse pentru managementul portofoliului de proiecte, proiectare și dezvoltare bazată pe model, managementul cerințelor, managementul configurării și al schimbărilor, managementul calității, managementul construirii și lansării; orchestrarea proceselor ciclului de viață al software-ului și furnizarea de raportare și documentație pentru aceste procese. Cuvântul Systems din nume a apărut după achiziția Telclogic, ale cărei soluții sunt axate pe susținerea proceselor de inginerie a sistemelor și sunt acum integrate în portofoliul Rational. Includerea lor în mediul ALM al IBM reflectă o tendință de convergență a proceselor de dezvoltare a software-ului și a sistemelor și formarea unui mediu unificat de management al ciclului de viață pentru ei.

Dar cea mai semnificativă contribuție a IBM la dezvoltarea tehnologiilor ALM este proiectul Jazz pe termen lung de a crea infrastructura pentru implementarea unei platforme integrate de management al ciclului de viață al aplicațiilor de întreprindere. În acest moment, o serie de produse ale familiei Rational sunt deja integrate cu platforma Jazz, au fost lansate mai multe soluții noi, create inițial pentru a funcționa pe baza Jazz, iar în viitor se va oferi suport pentru infrastructura Jazz. în toate componentele liniei Raționale.

Nucleul Jazz este platforma Jazz Foundation, care combină Jazz Team Server și o serie de module de integrare suplimentare. Jazz Team Server demonstrează o nouă abordare pentru ALM pentru integrarea componentelor pentru diferite etape ale ciclului de viață (Fig. 3.15,). Dacă în mod tradițional o astfel de integrare s-a bazat pe comunicare punct-la-punct între produse individuale, atunci Jazz implementează o arhitectură de servicii deschisă distribuită bazată pe standardul REST, care asigură interacțiunea simplă a componentelor instrumentale între ele (un fel de ALM Web). Interfața RESTful vă permite să prezentați datele și funcționalitățile diferitelor module ca servicii. Folosirea unei abordări bazate pe standarde web face ca Jazz să fie foarte scalabil, făcând platforma solutie universala capabil să susțină sarcinile ALM în echipe mici și echipe mari de dezvoltare.

Proiect și Structura echipei

Notificare eveniment

Jazz Team Server

j * ;

Cerințe Elemente și relații IlJ Istoricul evenimentelor,

Folosiți „ cazuri ...... Tendințele istoricului articolelor

Construiește codul sursă. Cazuri de testare Rezultatele testelor

Studio vizual

Platforma client

Platforma client

Platforma client

Securitate și acces

Orez. 3.15. Platformă integrată de management al ciclului de viață al aplicațiilor de întreprindere

Jazz Foundation oferă servicii comune tuturor componentelor ALM pentru a activa capabilitățile cheie ale unui mediu modern de gestionare a ciclului de viață al aplicațiilor. Acestea sunt, de exemplu, servicii de colaborare care asigură interacțiunea diverșilor membri ai echipei în procesul de soluționare sarcini comune, susținând relațiile dintre diferitele etape ale ciclului de viață, luând în considerare contextul fiecărui rol ALM specific. Instrumentele de colaborare bazate pe jazz folosesc mesageria instantanee, instrumentele de discuții pe termen lung, wiki-urile și alte caracteristici populare Web 2.0. În acest caz, toate interacțiunile dintre membrii echipei sunt considerate resurse de proiectare care sunt stocate în legătură cu artefactele care au servit ca sursă a acestor interacțiuni (de exemplu, defecte sau cazuri de testare).

Serviciile Jazz Foundation vă permit, de asemenea, să definiți și să executați procese în conformitate cu o varietate de metodologii, inclusiv Rational Unified Process și diverse opțiuni de dezvoltare rapidă. Pentru aceasta, oferim mijloace de notificare a evenimentelor, suport pentru comunicarea între membrii echipei în executarea anumitor fluxuri de lucru, stabilirea și verificarea implementării regulilor, automatizarea sarcinilor de bază, organizarea fluxurilor de lucru folosind instrumente pentru diferite etape ale ciclu de viață. Se acordă multă atenție asigurării transparenței proceselor ciclului de viață și managementului proceselor, pentru care sunt introduse metrici precise de proces privind starea, problemele și riscurile proiectului și sunt furnizate tablouri de bord pentru a le urmări, inclusiv în timp real, la diferite niveluri, de la participanții la proces individual la echipă și nivelul de management al portofoliului. Alte servicii Jazz Foundation includ motoare de căutare, instrumente de securitate, acces bazat pe roluri și un depozit distribuit pentru toate resursele de dezvoltare.

Platforma Jazz oferă integrare cu mediul de dezvoltare Eclipse, oferind o gamă largă de vederi și perspective. Unele componente Jazz acceptă și clienți web. Platforma Jazz oferă două vizualizări semnificative pentru Eclipse: Team Central și Team Artifacts. Ambele vederi servesc la colectarea de informații și pot fi extinse de componente ale platformei Jazz. Dezvoltate de Eclipse, unele componente ale platformei Jazz permit utilizatorilor să acceseze serverul Jazz direct dintr-un browser web.

Interfața de utilizator web Jazz oferă această capacitate. Această interfață este mai potrivită pentru utilizatorii temporari sau ocazionali decât pentru un mediu de dezvoltare integrat, deoarece nu necesită instalarea de software special pe computerul client; tot ce ai nevoie este un browser web. Fiecare server Jazz are o pagină web principală unde utilizatorul poate selecta o zonă de proiect și se poate autentifica. Odată conectat, utilizatorul poate interacționa cu serverul Jazz și poate explora informații din depozitul Jazz, inclusiv verificarea celor mai recente evenimente, introducerea și actualizarea elementelor fluxului de lucru și descărcarea ansamblurilor.

Unul dintre cele mai izbitoare produse noi din familia Rational, creat special pentru a funcționa pe baza Jazz, este sistemul Rational Team Conceit (RTC), care este un set de produse pentru organizarea colaborării și automatizarea proceselor ciclului de viață al software-ului, complet construit în arhitectura Jazz. IBM Rational Team Concert este un mediu complet conceput pentru a organiza dezvoltarea sistemelor informatice într-un mediu cu mai multe proiecte în care studiază mulți dezvoltatori. Instrumentul vă permite să combinați eforturile specialiștilor în dezvoltare, să organizați interacțiunea eficientă a acestora și să economisiți cel mai inalt nivel controlul asupra tuturor activităților proiectului de-a lungul proiectului.

RTC oferă gestionarea configurației software, managementul sarcinilor și build-ului și planificarea iterațiilor și raportarea proiectelor, definește diferite tipuri de procese de dezvoltare și se integrează cu alte produse Rational pentru a susține întregul ciclu de viață al software-ului. În 2009, IBM a lansat, de asemenea, Rational Quality Manager, un portal de management al testelor bazat pe Jazz, și Rational Insight, un instrument de management al performanței pentru platforma Jazz folosind tehnologiile de analiză Cognos, conceput pentru managementul la nivel înalt al portofoliilor de proiecte de dezvoltare.

Capacitățile extinse de integrare ale IBM Rational Team Concert fac din acest instrument absolut unic. Dintre integrările existente, trebuie menționate următoarele.

  • 1. Integrarea cu IBM Rational Requirements Composer ca parte a managementului ciclului de viață al aplicației colaborative (CALM), care vă permite să asociați comenzile de lucru cu cerințele generate sau modificate din aceste joburi și invers, cerințele cu joburile create pentru planificarea muncii pentru a implementa aceste cerințe .
  • 2. Integrarea cu IBM Rational Quality Manager ca parte a managementului colaborativ al ciclului de viață al aplicației, pe baza căreia devine posibilă organizarea urmăririi defectelor pe baza rezultatelor testelor efectuate în timpul testării produselor software lansate.
  • 3. Integrare cu IBM Rational ClearQuest pentru a sincroniza comenzile de lucru și cererile de modificare definite în instrumentul clasic de management al dezvoltării IBM Rational ClearQuest.
  • 4. Integrare cu IBM Rational ClearCase pentru a sincroniza artefactele de gestionare a versiunilor și configurației între cele două instrumente specificate.

Arhitectura de integrare Jazz deschisă care stă la baza IBM Rational Team Concert permite dezvoltarea suplimentară de noi mecanisme de integrare cu alte sisteme care pot fi implementate și utilizate în mod activ în organizație. Una dintre opțiunile de integrare cu aceste sisteme poate fi utilizarea produsului RTC Email Reader de la compania Fineco Soft, care asigură sincronizarea comenzilor de lucru IBM Rational Team Concert în conformitate cu mesajele de e-mail într-un format predefinit. În același timp, sincronizarea inversă este posibilă și datorită subsistemului de notificare încorporat al IBM Rational Team Concert.

De asemenea, trebuie remarcat faptul că gestionarea versiunilor și configurației bazate pe IBM Rational Team Concert pot fi organizate în aproape orice proiect, chiar dacă mediul de dezvoltare (IDE) nu are integrare directă cu acest instrument. Acest lucru este posibil datorită partajarea„client gros” IBM Rational Team Concert și IDE neintegrat. Deci, dacă astfel de integrări există pentru Eclipse IDE, IBM Rational Software Architect, IBM Rational Application Developer și Microsoft Visual Studio, atunci, de exemplu, cu Delphi va trebui să utilizați suplimentar „clientul gros” IBM Rational Team Conceit, care nu prezinta mari dificultati.

airsoft-unity.ru - Portal minier - Tipuri de afaceri. Instrucțiuni. Companii. Marketing. Impozite