Teško je pronaći nekoga tko to ne bi želioda se prema njima odnosi s poštovanjem. Ali za ovakvo stanje stvari mora postojati razlog. Na primjer, kada je osoba visoko kvalificirani priznati stručnjak u području razvoja softvera. A za to morate naučiti. I u okviru ovog članka, pogledat ćemo što je Agile, koje su njegove prednosti i kako razumjeti ovu tehnologiju.
Opće informacije
Prvo, pozabavimo se tehničkimtrenucima. Što je Agile? Prijevod (doslovni) ove riječi s engleskog jezika je "živahan, pokretan", "fleksibilan" se spominje nešto rjeđe. Usput, ovo je smanjenje. Puni naziv ovog pristupa je Okretan razvoj softvera.No, budući da je predug, odlučeno ga je smanjiti. I sada samo kažu Agilni. Prijevod kao "fleksibilan" koristi se jer je najrelevantniji za stvarno stanje.
Što je ovdje uključeno?
Nastavljamo razmatrati što je Agile.Ovdje bih se želio usredotočiti na činjenicu da se radi o fleksibilnom pristupu koji se temelji na mnogo različitih metodologija (Scrum, XP, Kanban, Lean). Da bismo bolje razumjeli temu, povuci paralele. Recimo da su agilne tehnologije podrijetlo svemira. Krajnji proizvod je sam svijet. A veliki prasak je najbolniji problem s kojim se samo morate suočiti - promjena popisa zahtjeva za proizvod. Tipično, procesi stvaranja uključuju korištenje modela vodopada. U ovom slučaju sve ide uzastopno i u fazama. Ovaj pristup se može ukratko izraziti: vidim cilj - idem do njega. A ako se zahtjevi za konačni rezultat promijene, tada se gotovo sve mora ponovno iznova izraditi. Ono što dodatno komplicira ovu situaciju je pokušaj pretvaranja da je sve u redu i da moramo ići naprijed.
Tako je Agile, metodologija upravljanja, osmišljena tako daborite se protiv svega toga svojom fleksibilnošću. Ova montažna mješavina minimizira različite rizike korištenjem skupova načela. Sve se to odražava u Agilnom manifestu objavljenom 2001. Ukratko, zvuče ovako:
- Glavna stvar su ljudi, a ne stvari.
- Surađujte, ne čitajte ugovor.
- Dokumentacija ne smije ometati rad.
- Promijenite što je brže moguće.
Možda izgleda previše neodređeno i nije točno, ali idemo detaljnije.
Raspored procesa
Dok gledamo što je Agile, okrenimo se jednoj od najpopularnijih metodologija poznatih kao Scrum. Što ona nudi? Prvo vam je potrebno:
- Odaberite vlasnika proizvoda. Osoba je prikladna za ovu ulogu, ono što vidi, do kojeg cilja mora ići i što će se na kraju dogoditi.
- Odlučite se za tim. Za to je potrebna skupina od tri do deset ljudi koji imaju vještine za postizanje rezultata.
- Odaberite odgovornog stručnjaka. To je osoba koja će pratiti razvoj projekta i pomoći timu u zaobilaženju poteškoća.
- Nosite se s poteškoćama.Sve postojeće zahtjeve za proizvod treba prikupiti na jednom mjestu i postaviti prioritete. Vlasnik proizvoda ovdje treba prikupiti sve svoje želje. Zatim ih tim procjenjuje i razumije može li se to provesti i koliko dugo traje.
- Podijelite čitavo radno opterećenje u dijelove vremena, tjedan ili dva, tijekom kojih će tim izvoditi određene skupove zadataka.
- Sastanci se trebaju održavati svakodnevno, ne duže od petnaest minuta. Na dnevnom redu trebalo bi raspravljati o onome što je jučer učinjeno, kakvi su planovi za danas, te o preprekama koje nas sprječavaju u preuzimanju visine.
- Učinite preglede za tjedan (dva), tijekom kojih tim govori o učinjenom. U tom slučaju potrebno je pokazati funkcionalnost dijelova proizvoda.
- Nakon svakog vremenskog razdoblja potrebno je razgovarati o problemima i tražiti rješenja. Štoviše, svi se događaji moraju odmah provesti.
Kako prepoznajete Agile?
Metodologija upravljanja, bez obzira na odabrani smjer, uvijek ima sljedeće značajke:
- Minimiziranje rizika. To je glavni cilj svakog fleksibilnog pristupa.
- Iteracijski razvoj. U ovom slučaju to znači rad u malim ciklusima.
- Najvažniji su ljudi i komunikacija među njima.
Zamislimo rijeku. Klijent je u jednoj banci. Drugi je tim. U ovom slučaju, agilni razvoj ima koristi za sve:
- Kupcu je potreban minimalno učinkovit proizvod. Međutim, tijekom njegovog stvaranja uvjeti se mogu promijeniti.
- Tim je korisno komunicirati s kolegama i kupcem.U tom slučaju minimizira se rizik od pogrešnog razumijevanja, povećava se transparentnost procesa, problemi se brzo rješavaju, smanjuju se šanse da će doći do iznenađenja pri stvaranju proizvoda.
Društveni faktor
Kada objašnjavaju što je Agile, običnogovoriti isključivo o pozitivnim aspektima. Doista, komunikacija unutar tima se poboljšava. Svi se ljudi usredotočuju na jednu ideju, ne stvaraju tajne među sobom, preuzimaju obveze. Zbog toga tim radi u ugodnom i brzom okruženju. Ovaj pristup omogućuje vam da pojednostavite kaos.
Od svog početka uspjelo ga je pronaćipriznanje u tehnološkoj industriji. Trenutno se široko koristi za projektiranje novih softverskih proizvoda. No u općenitoj poslovnoj praksi ovaj je pristup još uvijek malo poznat. Stoga su oni koji se prije nisu susreli s Agileom oprezni. Također treba shvatiti da ga treba koristiti samo u slučajevima kada su ljudi suočeni sa zadatkom intelektualnog rada.
Mali primjer
Pogledajmo kako ove metodologije funkcionirajurazvoj softvera. Recimo da imamo Petra, vlasnika proizvoda. Ne zna tehničke detalje, ali ima viziju šire slike. On zna zašto je proizvod potreban, koje probleme će riješiti i koga će zadovoljiti. Postoje i dionici. Oni mogu koristiti proizvod, podržati njegovo stvaranje ili na neki drugi način biti uključeni u njegovo stvaranje. Također možete dodati korisničke priče koje izražavaju želje dionika. Na primjer: sustav za rezervaciju karata za redovne autobuse Moskva-St. Petersburg mora imati pretraživanje po letovima. Peter će pomoći zainteresiranim stranama. Preuzet će kontrolu nad implementacijom iz ideja korisničke priče. Tu je i razvojni tim. To su ljudi koji će izgraditi radni sustav.
Budući da se koristi agilna metodologijarazvoj, tada se korisničke priče ne skupljaju do velikog izdanja, već se objavljuju odmah nakon završetka i što je češće moguće. Broj obrađenih zahtjeva protok je tima za tjedan dana. Kako ne bi izgubili zamah i zaglibili se u ručnom testiranju, tim mora poraditi na automatiziranoj integraciji. Što je? Automatski test se zapisuje za svaki radni trenutak. Ako ima previše priča, može doći do žurbe, gubitka motivacije, gubitka produktivnosti i kvalitete. Za takve slučajeve predviđena je metoda "jučerašnjeg vremena". Ona leži u činjenici da morate postaviti stroga ograničenja količine posla i pažljivo odabrati što će se točno provesti. Prethodno spomenuti "Kanban" predlaže postavljanje ograničenja zadatka.
Što učiniti s redom?
U redu, tim je odlučio da možeobraditi četiri priče tjedno. Ali kako pronaći smjer u svemu što postoji? Recimo da korisnici dostavljaju deset priča tjedno. Četiri se obrađuju. Tako će red stalno rasti. U ovom slučaju postoji samo jedna učinkovita metoda - riječ "ne". To je izuzetno važno za vlasnika proizvoda. Reći da nije teško. Mnogo je teže i važnije odlučiti što ne učiniti. Štoviše, za to je također potrebno snositi odgovornost. Stoga je potrebno odlučiti na što sada obratiti pozornost, a što odgoditi. Pravilno određivanje prioriteta zahtijeva da vlasnik proizvoda razumije vrijednost i opseg svake priče.
Mi donosimo odluke
Neke od priča su iznimno potrebne.Drugi su samo lijep bonus. Za razvoj nekih priča bit će potrebno nekoliko sati. Za stvaranje drugih bit će potrebni mjeseci. Mnogi ljudi često uspostavljaju odnos između veličine priče i njezine vrijednosti. Ali to nije uvijek točno. Više nije jednako boljem. Složenost i vrijednost zadatka pomaže Petru da pravilno odredi prioritete. Kako kvantificirati ove karakteristike? Nema šanse. Ovo je prava igra pogađanja. A za veću učinkovitost potrebno je u to uključiti mnogo ljudi. Ovo je i razvojni tim koji će informirati o opsegu posla i dionicima. No, treba shvatiti da su svi podaci dobiveni na ovaj način približne pretpostavke. Ovdje nema točnih brojeva. U početku će biti propusta. No kako budete stjecali iskustvo, njihov će se broj i opseg smanjivati.
Mogući rizici
Izbjegavanje problema zahtijeva iskrene odgovore na niz pitanja. To:
- Činimo li ispravnu stvar? Ovo je poslovni rizik.
- Možemo li provesti ono što je potrebno? Ovo je društveni rizik.
- Hoće li projekt funkcionirati na ovoj platformi. Ovo je tehnički rizik.
- Hoćemo li imati dovoljno novca i hoćemo li stići na vrijeme? To su rizici vremena i troškova implementacije.
U ovom slučaju potrebno je znanje.Na njih se može gledati kao na suprotnost rizicima. Kad se zabilježi značajna razina nesigurnosti, tada stječemo znanje - na primjer, stvaramo prototipove sučelja ili tehničke eksperimente. I već ih posjedujemo, donosimo odluke o smjeru u kojem se trebamo kretati.
Kako učiti?
IT industrija razvija se iznimno brzo, ikako na kraju ne biste izgubili, potrebno je stalno učiti, usavršavati vještine i učinkovitost rada. Stoga su pitanja obuke i provedbe relevantnija nego ikad. Gdje početi? Najbolja opcija je suradnja s tvrtkom koja već koristi Agile. Trening će zatim provoditi ljudi koji ne znaju iz glasina što je agilno. Ali to, nažalost, nije uvijek moguće. Najčešće je uključen stručnjak treće strane koji zna što je Agile. Provedba ovog pristupa provodi se pod njegovim nadzorom. Istina, usluge takvog stručnjaka koštaju. Ali ako dobijete stvarno obrazovanu osobu, svi će vam se troškovi stostruko isplatiti. Doista, u suvremenom svijetu učinkovitost zaposlenika igra važnu ulogu.
Što je u budućnosti?
Metodologije razvoja softvera stalno se razvijaju.Traže nove načine i mogućnosti za poboljšanje učinkovitosti aktivnosti i rada. Problematično je reći što nas čeka u budućnosti. Vjerojatno će fleksibilni razvojni sustav biti integriran s automatizacijom proizvodnih procesa. Na primjer, bit će moguće riješiti probleme čak i dok ste udaljeni od lokacije tvrtke. Budućnost na mnogo načina određuju nove informacijske tehnologije. Uostalom, kad se pojave, morate svladati nove metode rada s njima. I u ovom slučaju postoji razvoj koji je zatvoren u ciklus.
U zaključku
To je kraj izleta u agilne metode.razvoj. No, valja se prisjetiti da je teorija jedno, a praksa sasvim drugo. Nove informacijske tehnologije koje se stalno pojavljuju predstavljaju izazov za veliku zajednicu programera. Kako možete učiniti svoj tim učinkovitijim? Svatko sam pronalazi odgovor na ovo pitanje. Ovdje prikazani podaci mogu se koristiti za oblikovanje kralježnice. No, u praksi morate raditi s postojećim modelom i dovesti stanje stvari u stanje usklađenosti s postojećim izazovima. Tada će tim moći učinkovito ispuniti ciljeve koji su mu postavljeni.