Agile i Data Science kao savršen spoj?

Kako sam se pre par meseci upoznala sa manifestom agilne metodologije – vrednostima i principima, najzanimljivije mi je bilo da razmišljam o njegovoj primeni u Data Science projektima. Ideja je vrlo jednostavna, međutim, duboko sam ubeđena da svaka od vrednosti ima svoj disclaimer  – primenljivo u jednom kontekstu, u drugom nije, zbog toga i toga, i slično. Agile manifest kao korak napred u odnosu na tradicinalne metodologije kao što je tzv. vodopad trebalo bi da omogući da se smanji razlika u komunikaciji koja postoji između klijenta i vendora, dok sa druge strane – odgovori na sve brži razvoj novih tehnologija, i sve ćešće promene u inicijalnim zahtevima, koje  nastaju kao posledica dinamike rada, digitalizacije i konkurentnog tržišta.

Podsetimo se agilnih vrednosti kroz prizmu Data Science-a.

Pojedinci i interakcije ispred procesa i alata. U Data Science-u, interakcije su ključne zarad razumevanja i definisanja problema, odnosno izvlačenja maksimalne vrednosti na osnovu analize. Jako je bitno zadržati kritički um, i ukazivati na nepravilnosti. Neki uvidi često navode na promenu smera i rešavanje stvari koje nisu bile definisane scope-om, što ponekad podrazumeva ići van procesa. Sa druge strane, ograničavanje analitike na određene alate i tehnologije može rezultuje okrnjenom analizom i neupotrebljivim uvidima.

Primenljiv softver ispred detaljne dokumentacije. Ovo je možda vrednost o kojoj najviše može da se diskutuje kroz prizmu Data Science-a. Imati primenljiv softver i delivery je jako važno, međutim pisanje detaljne dokumentacije i objašnjenja na koji način su podaci uzorkovani i pripremljeni, koji modeli su i zašto korišćeni, šta stoji iza tih modela, i kako tumačiti njihov output, kakve su očekivane performanse – sve ovo je jako važno detaljno razdraditi kako bi se pored isporučenog rešenja osigurala i njegova upotrebna vrednosti.

Saradnja sa klijentima ispred ugovornih aranžmana. Kao i u svakom razvoju rešenja, imati dobru saradnju sa klijentima je preduslov za sve. U Data Science-u je ovo jako bitno, što kroz razumevanje domena kroz interakciju sa klijentom, što kroz tumačenje i testiranje rešenja koje se isporučuje, od strane klijenta. Budući da je specifična oblast, jako je važno uspostaviti saradnju sa klijentom koja podrazumeva ulaganje zajedničkih napora kako bi se kreiralo rešenje koje će imati upotrebnu vrednost – najćešće vrednost rešenja direktno zavisi od znanja koje čuči kod domenskih eksperata.

Reakcija na promenu ispred pridržavanja plana. U ovome se Agile i Data Science najviše poklapaju. Mnogo je čest slučaj da se kao rezultat analize probudi neka nova ideja o budućim koracima, unapređenju ili prilagođavanju postojećeg plana, i zato je potrebno biti agilan i ne pridržavati se slepo definisanog  plana, kako bi se uspešno odgovaralo na ovakve zahteve. Plan jeste jako bitan, ali zastareva i postaje neupotrebljiv kako se ciljevi redefinišu i menjaju. 

Da budem dovoljno jasna – to što su Agile i Data  Science, kako  sam ih u naslovu okarakterisala – “savršen spoj”, ne znači da u realizaciji dovode uvek do savršenog ishoda. Ono što sam želela da naglasim u toj karakterizaciji je upravo to što Agile dozvoljava Data Scientistima  da budu – Data Scientisti. A to znači da mogu da se posvete istraživanju, da u  zavisnosti od toka analize i  izvučenih  uvida menjaju smer kretanja  i redefinišu ciljeve, da usko sarađuju sa klijentima u pokušajima da pronađu rešenje, i tako dalje. Dalje, ako se govori o agilnim principima (onih čuvenih dvanaest), velike su šanse da će se svaki Data Scientist/developer na prvu loptu složiti sa svakim od njih. To i jeste lepota agilnih principa – definisani su tako, da se mogu uspešno primeniti na svaki projekat. Kada se malo razmisli, postoje neki principi koji jesu diskutabilni – npr. princip koji govori da najbolja arhitektura, zahtevi i dizajn dolaze od samo-organizujućih timova. Ja verujem u ovo. Ali, jedan jako važan preduslov za ovo je – način na koji su ti timovi sačinjeni. Ukoliko u  tom timu nisu ljudi koje krasi inovativnost, “growth mindset”, autonomija i odgovornost – vrlo verovatno će ova ideja pasti u vodu. Prosto, najčešće se desi da su timovi napravljeni – kako mora, i ponekad  je  evidentno  da timu fali lider koji će ga nadgledati i voditi. Mogla bih ovako o svakom principu ponaosob, ali zadržaću se samo na ovom, a dopustiti vama da porazmislite o dobrim i  lošim stranama svakog (ili situacijama kada bi neki princip mogao biti osporen).

Međutim, postoji nekoliko (ozbiljnijih) problema, koji mogu da se pojave kao posledica ovog spoja, a to su:

  • loše i šturo (ili čak nikakvo) dokumentovanje procesa istraživanja, jer je fokus na uvidima i rezultatima – što može predstavljati problem ukoliko neko drugi treba da se uključi u proces
  • jako česte promene zahteva mogu da odvedu analizu u potpuno drugom smeru, te je zbog toga teško definisati “acceptance” kriterijume i vremenske rokove – ponekad proces razvoja nekog modula oduzme i više meseci (nepotrebno)
  • klijenti nemaju  uvek razumevanja za mršave rezultate prediktivnih modela, što onda utiče na komunikaciju i kvalitet saradnje
  • takođe, klijenti često veruju da je Data Science magično oružje koje će rešiti sve njihove poslovne probleme – što opet utiće na komunikaciju, kvalitet  saradnje i praktičnu upotrebu rešenja
  • Data Scientisti često imaju problem sa osećanjem velikog pritiska – njihovo rešenje teško je opredmetiti, a kada se opredmeti, kritično je zavisno od  ulaznih podataka, na koje oni ne mogu da utiču
  • Komunikacije na dnevnom nivou mogu da budu deprimirajuće, jer često se desi da na nekim Data Science taskovima nema značajnog progresa nekoliko dana uzastopno, gde se ideja čestih i inkrementalnih pomeraja gubi

Bilo kako bilo, ono što je najbitnije je prepoznati u kom trenutku napraviti optimalan trade-off između agilnih vrednosti i onoga što je potrebno timu. U nastavku možete naći par smernica kako to može uspešno da se uradi, koje sam izvukla na osnovu svog iskustva:

  • neka timovi budu krosfunkcionalni, jako je bitno da tim okuplja role različitih veština, kako  bi mogao  da iznese projekat od početka do kraja, gde bi trebalo voditi računa o tome da tim ne bude premali ili preveliki (5-6 članova po timu bi trebalo da bude optimalno)
  • kako bi se pratio pogres, a obezbedila kontinuirana i inkrementalna isporuka – najbolje je raditi u sprintovima, gde je svakome jasno na kojim taskovima radi u svakom sprintu, i šta se očekuje na kraju sprinta (po meni, sprintovi od dve nedelje su u Data Science-u sasvim korektan period u kome je moguće ostvarivati progres)
  • potrudite se da i na R&D projektima imate inkrementalni progres – u suprotnom će ti projekti trajati celu večnost, i izgubiti upotrebnu vrednost – definišite očekivanja od svake faze istraživanja, kako biste po potrebi znali kada da presečete i počnete sa ulaganjem napora u nešto korisnije
  • biti agilan != biti haotičan. Ovo je klopka u koju se jako lako upada. U redu je da dinamički odgovarate na novonastalu situaciju, međutim – nepromišljeno delanje brzo vodi ka haotičnoj realizaciji, što uzrokuje kontraefekte – a to nije ideja agilne metodologije

Budući da je Data Science tako šarenolik, u zavisnosti od toga šta podrazumeva Data Science projekat na kome radite – mogućnost primene agilnih metoda će se razlikovati od jednog do drugog projekta. Ukoliko radite na  razvoju proizvoda,  Data Science u tom smislu postaje niša softverskog inženjerstva, gde se primena agilnih metodologija i scruma pokazuju kao jako korisne. Sa druge strane, ukoliko radite na one-time projektima ili rešenjima – primena može biti mnogo blaža i smislena samo u određenim fazama. Najbitnije je prepoznati koje su to dobre strane koje biste mogli da iskoristite, kako biste unapredili svoj način rada i postigli najbolje moguće rezultate.

About Valentina Đorđević 10 Articles
Valentina Djordjevic is a huge Data Science enthusiast. Graduating from the Faculty of Organizational Sciences, she faced the challenge of packing her (then irreconcilable) interests into a unique career path-cutting machine. Still, she is a real "fox" when it comes to her areas of interest, so we have no doubt that this has given her good signposts. Valentina finds motivation in challenging projects and in working with equally enthusiastic team members. She believes that working on the Data Science challenges helps her to continually grow, examine (her) boundaries, and develop her imagination. Still, she has not yet determined whether the fact that she has never solved the same problem in exactly the same way is a good or bad thing. She hopes her colleagues, or maybe someone in the community, will help her finally come up with the correct answer.

Be the first to comment

Leave a Reply

Your email address will not be published.


*