Propunere proiect cercetare

Acest material reprezintă propunerea de proiect pentru tema “Metodologii agile în dezvoltarea soluțiilor mobile” ca parte din procesul de admitere pentru un stagiu de cercetare în cadrul Școlii Doctorale de Informatică Economică. Se prezintă contextul științific și motivația temei alese prin referințe către literatura studiată. Obiectivele cercetării sunt enunțate. Este descrisă metodologia de cercetare și sunt estimate rezultatele obținute.

Proiectul a fost prezentat în data de 19 Iulie 2016.

Contextul științific și motivația temei alese

Abordările agile au venit ca răspuns la metodologiile tradiționale de management al proiectelor, orientate către planificarea riguroasă, care s-au dovedit a fi dificil de aplicat în cazul dezvoltării de produse software. Astfel au fost aplicate metode iterative, cu un cadru de lucru simplificat, care să permită flexibilitate la schimbare, livrarea continuă de software ce produce valoare de business şi care pun un accent mai mare pe indivizi şi interacţiunea dintre ei, decât pe procese şi unelte. Caracteristicile comune ale metodelor Agile se regăsesc într-un set de patru valori și douăsprezece principii cuprinse în „Manifestul pentru dezvoltarea agilă de software”. [1]

Cele mai populare metode de lucru în echipe agile sunt Scrum [2], XP [3], Kanban [4]. Printr-un studiu sistematic al literaturii de specialitate s-a arătat că unul din factorii de succes pentru întroducerea practicilor agile este adaptarea lor în funcție de caracteristicile specifice companiei, proiectului dezvoltat, tehnologiile folosite și dinamica echipei [5].

Interesul comunității academice pentru studiul metodelor agile este într-un trend ascendent. Din datele obținute în urma unei căutări în baza de date ScienceDirect după termenul “agile” a rezultat un număr total de 7971 articole publicate intre anii 2001 și 2015 în jurnale academice.

Agilitatea în sectorul IT din Romania a fost evaluată în cadrul unui studiu realizat în perioada Februarie – Martie 2015. Metodele de cercetare folosite au fost analiza datelor din surse publice, sondarea opiniei printr-un chestionar online, realizarea de interviuri semistructurate cu specialiști din cadrul echipelor ce folosesc abordări agile. În urma analizei a rezultat că majoritatea companiilor sondate sunt în proces de integrare și adaptare a noilor metode și practici de lucru. Chestionarul a avut un număr total de 97 răspunsuri valide, dintre care 65% au menționat că organizația lor folosește metode agile de mai puțin de 5 ani. [6]

Dezvoltarea rapidă a tehnologiei din ultimii ani a condus la o varietate incredibilă a dispozitivelor mobile. Domeniile de aplicare a soluțiilor mobile variază de la comerțul electronic, servicii bancare, sisteme de e-learning, servicii de comunicare, activități de relaxare și aplicații multimedia.

In lucrarea “Programarea dispozitivelor mobile” [7] sunt prezentate în detaliu limbajele de programare pentru realizarea aplicațiilor mobile și sunt descrise sistemele de operare pentru dispozitive mobile.

Ca urmare a activității practice proprii desfășurate în ultimii ani au fost identificate tehnologii pentru dezvoltarea soluțiilor mobile precum:

  • Limbaje de programare server (NodeJS, PHP, ASP.NET, Ruby)
  • Limbaje de programare client (Java (Android), Objective C, Swift (iOS), C# (Windows Mobile), JavaScript, HTML5)
  • Tehnologii cloud computing (Amazon Web Services, Azure, Google Cloud Platform)
  • Baze de date SQL și NoSQL (MySQL, SQLite, SQL Server, MongoDB, Neo4J)

Având în vedere aspectul dinamic și evoluția rapidă a tehnologiilor din domeniul studiat, lucrarea de cercetare se va concentra pe aspectele generale ale procesului de dezvoltare mobile, astfel încât rezultatele obținute să fie supuse unui risc minim de uzură morală.

Cercetări anterioare realizate în cadrul Școlii Doctorale de Informatică Economică au condus la elaborarea de soluții originale pentru măsurarea calității aplicațiilor mobile [8] și de metodologii dedicate dezvoltării de proiecte IT caracterizate prin practici și idei inovative. [9]

Considerând caracterul de noutate al temei alese și interesul în comunitatea de cercetare a fost identificată oportunitatea de a realiza un proiect de cercetare prin desfășurarea unui stagiu de doctorat care să vizeze formalizarea unui cadru de lucru în echipă pentru dezvoltarea aplicațiilor mobile utilizând metode agile. Aceasta este completată de motivația personală a candidatului de a aprofunda subiectul propus pentru a-și extinde cunoștințele dobândite prin practică cu un stagiu riguros de cercetare.

Obiectivele cercetării

Obiectivele derivate pentru programul de cercetare sunt:

  • Realizarea stadiului actual al cunoașterii prin analiza critică a literaturii de specialitate și analiza comparată a tehnologiilor și uneltelor utilizate pentru dezvoltarea aplicațiilor mobile pentru a restrânge direcția de cercetare
  • Identificarea rolurilor cheie în cadrul echipelor de dezvoltare mobile și clasificarea competențelor necesare
  • Formalizarea etapelor ciclului de dezvoltare prin definirea de metrici specifici fiecărei faze care să permită măsurarea performanței
  • Crearea unei metodologii de măsurare a calității aplicațiilor mobile cu privire la satisfacerea nevoilor utilizatorilor și realizarea de indicatori pe care echipele de dezvoltare să le urmărească în cadrul ciclului de dezvoltare
  • Dezvoltarea unui prototip de aplicație pentru dispozitive mobile folosind abordări agile și tehnologii inovatoare pentru validarea în practică a soluțiilor propuse
  • Diseminarea rezultatelor obținute prin publicare de articole științifice în jurnale, participarea la conferințe și seminarii științifice.

Pentru a atinge obiectivele specifice programului de cercetare se vor aplica metode de cercetare în concordanță cu standardele actuale ale Școlii Doctorale.

Metodologia cercetării

Activitatea de cercetare se desfășoară în trei faze:

  • Anul 1 – realizarea stadiului actual al cunoașterii
  • Anul 2 – definirea problemei de cercetare, elaborarea și validarea soluțiilor originale
  • Anul 3 – diseminarea rezultatelor obținute prin publicarea de articole, redactarea tezei de doctorat și susținerea publică

Pentru realizarea stadiului actual al cunoașterii se va realiza analiza critică a literaturii de specialitate. Procedeul presupune identificarea cuvintelor cheie specifice domeniului studiat, construirea unei bibliografii prin consultarea de baze internaționale, realizarea de sinteze a conținutului în fișe de analiză. Prezentarea stadiului cunoașterii reprezintă o sinteză critică cu scopul de a prezenta rezultate semnificative și conexiuni între acestea. Alte metode specifice cercetării economice sunt realizarea de studii de caz, cercetarea economică bazata pe anchete, desfășurarea de sondaje prin chestionare, interviuri, focus grupuri și observații [10].

Având în vedere caracterul empiric al dezvoltării software anumite ipoteze se vor valida prin experimentare practică. Este necesară definirea și rafinarea unui proces de lucru care să tină cont de ciclul de dezvoltare software și de caracterul riguros al cercetării științifice. Astfel se vor urma o serie de etape pentru realizarea experimentelor:

  • Formularea întrebărilor de cercetarea
  • Definirea ipotezelor de cercetare
  • Analiza problemei
  • Realizarea textelor sursă
  • Testarea aplicației
  • Colectarea datelor și analiza rezultatelor obținute
  • Validarea ipotezelor

Prin însușirea și aplicarea metodologiei de cercetare se estimează obținerea de rezultate care să reprezinte o contribuție științifică în cadrul temei selectate.

Rezultate estimate

Rezultatul principal ca urmare a programului de cercetare este realizarea tezei de doctorat care include soluțiile originale identificate în urma studiului temei „Metodologii agile în dezvoltarea soluțiilor mobile”. Soluțiile prezentate trebuie să prezinte un caracter de noutate,  să asigure un grad potrivit de generalizare astfel încât riscul uzurii morale sa fie scăzut și să fie validate în practică.

Se estimează ca activitatea de cercetare va duce la formalizarea unui cadru de lucru inovativ pentru dezvoltarea soluțiilor mobile folosind metode agile. Acest cadru va descrie rolurile cheie dintr-o echipa și procesele de lucru, va propune metrici de evaluare a calității procesului de lucru și de măsurare a satisfacție utilizatorilor de aplicații mobile.

Rezultatele intermediare vor fi validate în comunitatea academică prin publicarea de lucrări în jurnale, participarea la conferințe și seminarii științifice astfel încât să fie îndeplinite criteriile necesare pentru susținerea tezei de doctorat.

Referințe

  1. Beck, K., Beedle, M., Van Bennekum, A., Cockburn, A., Cunningham, W., Fowler, M., … & Kern, J. (2001), Manifesto for agile software development, http://www.agilemanifesto.org
  2. Rubin, K. S. (2012), Essential Scrum: a practical guide to the most popular agile process, Addison-Wesley
  3. Beck, K. (2000), Extreme programming explained: embrace change, Addison-Wesley professional
  4. Anderson, D. J. (2013), Kanban, Blue Hole Press Inc
  5. Dikert, K., Paasivaara, M., & Lassenius, C. (2016)., Challenges and Success Factors for Large-Scale Agile Transformations: A Systematic Literature Review, Journal of Systems and Software
  6. Budacu, E. N., Bodea, C. N., Stancu, S. (2015), Agility in the IT Services Sector: A Study for Romania, Proceedings of the IE 2015 International Conference
  7. Pocatilu, P., (2012), Programarea dispozitivelor mobile, Editura ASE
  8. Zamfiroiu, A., (2014), teza de doctorat Metrici ale calităţii aplicaţiilor mobile, Academia de Studii Economice din Bucuresti
  9. Despa, M., (2015), teza de doctorat Managementul proiectelor IT orientate pe inovație, Academia de Studii Economice din Bucuresti
  10. Bodea, C. N., (2014), Suport de curs Metodologia cercetării, dezvoltării și inovării, Academia de Studii Economice din București