În industria software, termenul agile se referă la tipologiile de management ce au rolul de a uni echipele, apelând la un set comun de principii de colaborare, flexibilitate, simplitate, transparență și de reacție la feedback-ul întregului proces de dezvoltare al unui nou proiect sau produs. Agile Testing, în general, reprezintă testarea software pentru descoperirea problemelor (bug-uri) sau pentru îmbunătățirea performanței.
În ultimul deceniu, Agile Testing s-a transformat dintr-o tehnică rar întâlnită în companii, într-una de tip mainstream, așa cum le-ar plăcea programatorilor să o numească, aflată în continuă creștere. Pe măsură de devenea tot mai cunoscută, testarea Agile părea să fie, de fapt, un substitut al design-ului de produs, mai ales în contextul aplicațiilor software. Cu siguranță, este vorba despre o eroare, iar specialiștii insistă de diferențele clare dintre cele două.
Avantajele Agile
Conform afirmațiilor făcute de expertul în testarea de software Scott Barber, între anii 1979 și 1985 toate companiile au început să codifice procesele de producție în cascadă, metodă folosită de către industriile de fabricație pentru zeci de ani. Într-o abordare în cascadă, orice persoană implicată în proiect este reprezentată într-o serie de pași ce pornește de la implementarea cerințelor și până la final.
Sursa: Wikimapia
După cum se poate vedea în diagrama de mai sus, înte procesele cascadă "de proiectare" și "etapele de punere în aplicare" există "verificarea" și etapele "de întreținere". Această diviziune a atribuțiilor între dezvoltatorii de software și testerii software, precum și poziționarea lor ca entități separate, la diferite puncte de-a lungul unui ciclu de producție, este una dintre problemele fundamentale pe care Agile dorește să le rezolve.
În testarea cu ajutorul metodei Agile, există puține aderențe rigide la cerințele de documentare conform unor itemi de verificare. Scopul, în schimb, este de a face pur și simplu ceea ce este necesar în orice moment pentru a satisface cererile unui client, înlocuind documentele cu întâlniri directe. Într-o companie Agile, toată lumea se așteptă să colaboreze îndeaproape, indiferent de rolul ocupat, pentru a atinge un singur scop: un produs software optim și performant, ce îndeplinește toate specificațiile esențiale cerute de client sau de designer.
Dezavantaje Agile
"Pentru toți susținătorii săi", scrie Mike Brown de la uTest, "Agile are partea sa de sceptici și detractori. Aceștia sunt oameni care au o experiență în utilizarea tehnicilor Agile foarte diferită, fiecare în parte, caracterizată prin procese haotice, de calitate inferioară, lipsă de comunicare și numeroase alte probleme".
Și aceste critici nu sunt în minoritate. În 2012, Max Smolaks, de la TechWeek Europe, a punctat: „Din peste 200 de participanți, 64 % au spus ca trecerea la Agile a fost mai grea decât părea inițial. 40% dintre respondenți nu au identificat un beneficiu evident pentru practică. Din cei care au făcut-o, 14 % au considerat că a dus la crearea unor versiuni mai rapide și 13% sunt convinși de generarea unui plus de feed-back. 7 % dintre participanți au remarcat că dezvoltatorii de tip Agile sunt mai fericiți pentru că beneficiază de o mai mare libertate în ceea ce privește planificarea”. prin raportarea de cercetare realizată de Voke Media pentru a determina ce 200 de companii de software diferite, gândit de încercarea lor de a îmbrățișa Agile,
Viitorul testării Agile
Astăzi trăim într-o lume în care descărcările digitale domină vânzările. La un moment dat, cu ajutorul terminalelor mobile, se pot descărca aplicații pentru a rezolva probleme tehnice pe care dezvoltatorii nu le observă. Viteza vânzărilor produselor software se află într-o creștere exponențială și judecând după rapoarte, răbdarea clienților pentru aceste erori de soft este invers proporțională cu această creștere.
Companii software ce folosesc Agile testing
Pentru Harish Grama (IBM), cele trei direcții pe care trebuie să le ia în considerare o companie mare, în care se lucrează cu tehnologii Agile sunt: definirea proceselor, instrumentele și disciplina.
Teresa Lanowitz, fondatoarea unei companii ce a finalizat recent un studiu de cercetare pe Agile, avertizează că organizațiile trebuie să decidă, în primul rând, dacă Agile este o alegere bună pentru ele (în special corporațiile în care documentația și procesele sunt foarte importante, sau în cazul în care există distribuție la nivel mondial și proiecte off-shore).
Pentru organizațiile mari, Agile nu se poate folosi în totalitate, a declarat Kelly Emo, director de marketing în cadrul unei companii producătoare de aplicații software. În anumite zone, Agile se va potrivi foarte bine, în timp ce în alte cazuri, din cauza cerințelor pe care trebuie sa le îndeplinească produsul, se vor apela practicile de dezvoltare software tradiționale.