Kontakti

Agilne metode razvoja doc. Metodologija agilnog razvoja. Umjesto definicije. Što reći o Agileu kada su se okupili različiti ljudi iz različitih odjela


Nemojte ga izgubiti. Pretplatite se i primite link na članak na svoju poštu.

Jeste li ikada bili uključeni u projekte ili barem sudjelovali u projektnom radu? Ako je tako, onda ste vjerojatno primijetili da pokretanje tima može biti teško. Čak i ako se prilagodi, postoji rizik da će svi napori biti uzaludni, jer se zahtjevi za traženim rezultatom često mijenjaju.

Međutim, možete značajno pojednostaviti rad na projektu i naučiti kako njime upravljati, čime ćete povećati učinkovitost tima, koristeći fleksibilni sustav upravljanja projektima pod nazivom Agile ("Agile" ili "Agile"). Općenito, o tome smo već ukratko govorili u našoj (četvrtoj lekciji), ali sada ćemo o ovoj temi govoriti detaljnije.

Agilna metoda: definicija i kratka povijest

Koliko god to neobično zvučalo, već 70-ih godina prošlog stoljeća počeli su ozbiljno razvijati softver i upravljati projektima. Američki informatičar Winston Royce napisao je 1970. dokument pod nazivom "Upravljanje razvojem velikih softverskih sustava". U njemu je kritizirao sekvencijalni razvoj, ističući taj razvoj softver ne bi trebao nalikovati radu montažne linije (kao što se, na primjer, radi u proizvodnja automobila), gdje se novi dijelovi dodaju redom u uzastopnim fazama.

Umjesto da čeka da se svaka(e) faza(e) dovrše redom, Royce je predložio fazni pristup. Njegova je bit da se u početku prikupljaju svi zahtjevi potrebni za projekt, nakon čega se dovršava cijela arhitektura, kreira dizajn, napiše kod itd.

Na temelju toga, 90-ih je bilo moguće stvoriti skup fleksibilnih metoda razvoja softvera koji mogu zamijeniti složene i dugotrajne metode. Dogodilo se ovako:

  • 1991. godine pojavila se metoda za brzi razvoj RAD aplikacija
  • 1994. godine pojavila se metoda za razvoj dinamičkih DSDM sustava
  • 1995. godine pojavila se platforma (okvir) agilnog razvoja Scrum
  • 1996. godine uvedena je agilna razvojna metodologija Crystal Clear, kao i XP Extreme Programming
  • Godine 1997. pojavila se iterativna metodologija za razvoj softvera FDD

Zajedno, ove su se tehnike okupile pod općim nazivom Agilni razvoj softvera.

Četiri godine kasnije, 2001., sedamnaest programera okupilo se u Snowbirdu u Utahu, SAD. Kao rezultat rasprave o metodama razvoja, objavljen je Manifest za razvoj agilnog softvera (prevedeno s engleski koncept"Agile" znači "agilan", "spretan" ili "brz", ali se u većini slučajeva prevodi kao "agilan"). Zadao je tempo za sav daljnji rad na razvoju softvera.

Agilni manifest

Manifest, koji su izradili programeri, uključuje 4 osnovne ideje i 12 načela učinkovitog upravljanja projektima. Bilo koji od Agile sustava za upravljanje projektima (o sustavima ćemo govoriti kasnije) oslanja se na ove ideje i principe, iako ih koriste u različitim varijacijama.

  1. Ljudi i njihove interakcije važniji su od procesa i alata
  2. Radni softver važniji je od dokumentacije
  3. Klijenti i suradnja s njima važniji su od ugovora i dogovaranja uvjeta
  4. Spremnost na promjene važnija je od izvornog plana

Agilna načela:

  1. Zadovoljite kupce isporukom softvera unaprijed i dosljedno (kupci su sretni kada im softver koji radi redovito i u redovitim intervalima stiže)
  2. Mijenjajte zahtjeve za konačni proizvod tijekom cijelog razvojnog ciklusa
  3. Isporučite radni softver što je češće moguće (jednom tjedno, svaka dva tjedna, mjesec dana itd.)
  4. Održavajte suradnju između programera i korisnika tijekom cijelog razvojnog ciklusa
  5. Podržati i motivirati sve uključene u projekt (ako se puno bolje nosi sa svojim zadacima od tima čiji su članovi nezadovoljni uvjetima rada)
  6. Omogućiti izravnu interakciju između programera (mogućnost izravnog kontakta doprinosi uspješnijoj komunikaciji)
  7. Mjerite napredak samo s ispravnim softverom (kupci bi trebali dobiti samo funkcionalni i radni softver)
  8. Održavati kontinuirani tempo rada (tim mora razviti optimalnu i trajnu brzinu rada)
  9. Obratite pažnju na dizajn i tehničke detalje (zahvaljujući učinkovitim vještinama i dobrom dizajnu, projektni tim dobiva priliku kontinuirano poboljšavati proizvod i raditi na njegovom poboljšanju)
  10. Pokušajte učiniti tijek rada što jednostavnijim, a softver jednostavnim i jasnim
  11. Dopustite članovima tima (ako programeri mogu sami donositi odluke, organizirati se i komunicirati s drugim članovima tima, razmjenjujući s njima ideje, vjerojatnost stvaranja kvalitetnog proizvoda značajno se povećava)
  12. Stalno se prilagođavati promjenjivom okruženju (zahvaljujući tome, gotov proizvod će biti konkurentniji)

Dok shvaćate Agile, osim pregleda ideja i pravila, svakako pogledajte ovaj kratki video u kojem stručnjak za upravljanje projektima, konzultant i poslovni trener Alexey Tachenkov govori o osnovama sustava.

Da bi se gore navedene ideje i principi stvarno proveli u praksi, potrebno je pridržavati se nekoliko pravila. Samo tada Agile upravljanje projektima može biti učinkovito.

Ključne točke u Agile aplikaciji

Agilna metodologija temelji se prvenstveno na vizualnoj kontroli. Najčešće, sudionici projekta, radeći na postizanju rezultata, koriste posebne kartice u boji. Jedna boja signalizira završetak planiranja nekog elementa konačnog proizvoda, druga - završetak njegovog razvoja, treća - o spremnosti itd. Vizualna kontrola omogućuje timu da ima jasnu predstavu o trenutnom stanju procesa i osigurava istu viziju projekta svih njegovih članova.

Članovi tima i klijent obično rade zajedno i rame uz rame. Zahvaljujući tome značajno se ubrzavaju mnogi radni procesi koji su povezani s informiranjem sudionika projekta. Osim toga, zajednički rad doprinosi stvaranju zdrave atmosfere za plodnu i učinkovitu suradnju i što skorije postizanje rezultata.

Kada voditelj projekta, tim i klijent rade zajedno, ne postoji opasnost od nerazumijevanja ciljeva i gubitka informacija. Svi radni procesi postaju što transparentniji, što znači da se svaki problem koji se pojavi može riješiti gotovo trenutno i pronaći najbolje opcije njihova rješenja.

Posebnu pozornost treba posvetiti voditelju projekta. Ne može se nazvati osobom koja daje upute lijevo i desno. Voditelj ovdje radije djeluje u ulozi voditelja koji postavlja smjer i određuje pravila suradnje i rada. Drugim riječima, agilno upravljanje je prilagodljivo.

Druga važna točka Agile metodologije je podjela cjelokupnog opsega projekta na nekoliko manjih dijelova. Ovaj pristup uvelike pojednostavljuje proces razvoja, a pojedinačne grupe tima mogu se usredotočiti svaka na svoj specifični zadatak.

Radeći na jednom ciklusu, sudionici projekta uče nove vještine i stječu nova znanja, kao i analiziraju pogreške učinjene u tom procesu. Sve to smanjuje vjerojatnost počinjenja sličnih pogrešaka u budućnosti (u sljedećim ciklusima i drugim projektima) gotovo na nulu.

I na kraju, posljednji značajan element pristupa su sprintevi i svakodnevni sastanci. Sprintovi se definiraju kao vremenski ograničena (krajnji rok) vremenska razdoblja tijekom kojih tim ima vremena izvršiti određene zadatke. Zahvaljujući sprintevima, tim može vidjeti rezultate svojih akcija.

Ako svo vrijeme predviđeno za projekt podijelimo na nekoliko sprinteva, dobit ćemo ih točno određeni broj; neka ih bude 15. Svaki sprint traje npr. dva tjedna. Tijekom ova dva tjedna (vrijeme predviđeno za sprint) sudionici se sastaju svaki dan kako bi razgovarali o procesu i napretku.

Dnevni sastanci ne bi trebali biti duži od 15 minuta. Organizirani su tako da svaki član tima sebi daje isti odgovor na tri pitanja:

  • Što sam radio jučer?
  • Što ću danas raditi?
  • Što me sprječava u radu?

Odgovori na ova pitanja omogućuju vam da kontrolirate proces, shvatite u kojoj se fazi nalazi svaki od članova tima i eliminirate potencijalne probleme na putu do cilja. Ukratko, implementacija Agile metodologije je moguća ako je ispunjeno nekoliko uvjeta:

  1. Smisao projekta je jasno naznačen
  2. Klijent aktivno sudjeluje u procesu implementacije
  3. Ukupna količina posla izvodi se korak po korak
  4. Trebali biste se usredotočiti na određeni rezultat
  5. Veličina jedne radne grupe: od 7 do 9 osoba

Trenutno je Agile podržano upravljanje projektima uglavnom uobičajeno u IT sferi, ali i poslovna sfera njime počinje ovladavati. Ovaj sustav se koristi u obuci, marketingu, poslovanju. Fleksibilno upravljanje projektima prihvaćaju mnoge tvrtke i vladine agencije.

Primjeri: Vlada Novog Zelanda, Vlada Nigerije, Norveški mirovinski fond, Return Path (softver), Oreo (proizvodnja kolačića), Aviasales (najveća tražilica avio karata), Hewlett-Packard (najveća američka IT kompanija), Sberbank"( Vjerojatno znate što je to).

Ove i mnoge druge organizacije najviše koriste različite metode upravljanje projektima temeljeno na Agileu. A razgovor o tim metodama jednako je važan kao i sama metodologija.

Popularne tehnike upravljanja projektima

Postoje mnoge metode upravljanja projektima koje koriste različiti moderne tvrtke... No najpoznatiji i najtraženiji među njima su Scrum i Kanban.

Scrum metoda

Među svim metodama Agile Scrum sustava, razlikuje se po tome što se fokusira na kontrolu kvalitete tijeka rada. Japanski stručnjaci koji su ga prvi opisali strateško upravljanje Hirotaka Takuechi i profesor znanosti i tehnologije Ikujiro Nonaka ovu metodu nazivaju "ragbi pristupom", gdje je Scrum "borba za loptu".

Metoda se sastoji u tome da se razvoj projekta dijeli na sprintove, na kraju kojih klijent dobiva poboljšani softver. Sprintovi su strogo tempirani i mogu trajati od 2 do 4 tjedna. Tijek rada u jednom sprintu uključuje nekoliko faza:

  • Utvrđuje se obim posla
  • Svaki dan održavaju se 15-minutni sastanci kako bi članovi tima mogli prilagoditi svoj rad i pregledati međurezultate
  • Dobiveni rezultati su prikazani
  • O sprintevima se raspravlja kako bi se pronašle dobre i loše odluke i akcije

U većini slučajeva, Scrum se koristi u radu sa složenim softverom i za razvoj proizvoda korištenjem inkrementalnih i iterativnih metoda. Zahvaljujući tome, produktivnost tima je značajno povećana i utrošeno vrijeme.

Scrum poboljšava rezultate, pomaže prilagoditi projekt promjenama, daje točnije procjene uz manje napora analize i omogućuje učinkovitiju kontrolu nad fazama rada i scenarijem projekta. Sve ovo najbolje odgovara poslovnim ciljevima.

Kanban metoda

Kanban je još jedna metoda koja čini timski rad učinkovitijim i učinkovitijim. Njegovo značenje svodi se na što transparentniji razvojni proces i ravnomjernu raspodjelu opterećenja među sudionicima projekta. Još jedna važna značajka Kanbana je da motivira ljude na stalnu suradnju, usavršavanje i učenje.

Kanban rad je izgrađen na nekoliko principa. Prvo, sve informacije o projektu moraju biti vizualizirane, što vam omogućuje da vidite preklapanja, pogreške i nedostatke te ih aktivno eliminirate. Drugo, rad na jednom zadatku trebao bi istodobno obavljati cijeli tim - to pomaže uravnotežiti napore i dobivene rezultate, eliminira neravnomjernu raspodjelu opterećenja. I, treće, vrijeme za izvršavanje svih zadataka strogo je kontrolirano, čime se optimizira proces i štedi vrijeme.

Za razliku od Scrum-a, Kanban je postao popularan mnogo kasnije, ali to ni na koji način ne umanjuje njegove zasluge i ne čini ga manje učinkovitim. Metoda je korisna kako u IT području tako i u poslovnom području.

Ovo su samo primjeri osnovnih tehnika upravljanja projektima temeljenih na Agileu. Ali nemojte zanemariti druge metode kao što su PRINCE2, Lean, Šest sigma, XP, CCPM, ECM, Waterfall i drugi. Osim toga, Agile ima neke nedostatke uz svoje prednosti.

Prednosti i nedostaci Agilea

Kada shvaćate Agile, važno je biti svjestan i pozitivnih i negativnih aspekata ove metodologije. Počnimo s profesionalcima.

Prije svega, vrijedi napomenuti da je Agile upravljanje vrlo fleksibilno. Ako, primjerice, tradicionalna metodologija ukazuje na određene faze rada, onda se Agile lako prilagođava potrošaču konačnog proizvoda i zahtjevima kupca.

Zapravo, broj nedostataka je minimiziran u konačnom proizvodu, jer je rezultat temeljite provjere kvalitete koja se provodi na kraju svake faze sprinta.

Osim toga, Agile se brzo pokreće, lako reagira na promjene i omogućuje razvojnom timu i klijentima da održavaju stalnu komunikaciju u stvarnom vremenu. Prednosti su očite, ali razgovarajmo i o nedostacima.

Nedostaci metodologije su što je, prvo, konstanta Povratne informacije može dovesti do činjenice da će se rok projekta cijelo vrijeme odgađati, stvarajući time prijetnju beskonačnom nastavku rada. Ako kupac vidi, na primjer, samo rezultate, ali nema pojma o naporima potrebnim da ih postigne, on će stalno zahtijevati poboljšanja.

Drugi nedostatak je potreba prilagodbe promjenjivim uvjetima projekta projektna dokumentacija... Ako tim nije pravilno obaviješten o promjenama ili dodatnim značajkama, funkcionalni zahtjevi ili dokumenti arhitekture možda neće biti ažurirani u ovom trenutku.

Treći značajan nedostatak Agilea je potreba za čestim sastancima. Oni, naravno, pridonose povećanju učinkovitosti rada, ali unatoč tome, stalno ometanje članova tima može negativno utjecati na proces, jer se pažnja ljudi sustavno udaljava od zadataka koji se rješavaju.

To također uključuje stvari kao što su potreba za stalnom prisutnošću klijenta, nemogućnost izgradnje dugoročnih planova te potreba za motiviranim i visokokvalificiranim stručnjacima. Inače, potonje se u velikoj mjeri odnosi i na implementaciju Agilnog upravljanja u aktivnostima organizacije. A, shvaćajući Agile, morate se upoznati i s temom njegove implementacije.

Agilna implementacija

Mnogo je primjera implementacije Agile u radu tvrtki. I praktički svi kažu da to zahtijeva čitav niz važnih mjera.

Za početak se odabire određena metoda, koja ovisi o uvjetima projekta. Zatim se određuju zadaci i ciljevi, glavni rok i vrijeme sprinteva, veličina tima i ostale komponente rada na projektu. Važno je odabrati metodu koja zadovoljava najveći broj zahtjeva.

Kao što smo rekli, implementacija Agile zahtijeva tim profesionalaca. Svi članovi trebaju poznavati osnovne ideje i načela metodologije te ih znati primijeniti. Ako tvrtka nema takve ljude, zaposlenike je potrebno educirati. Uprava tvrtke koja se odluči prijeći na korištenje Agile-a također mora jasno razumjeti je li organizacija spremna za promjene, može li se sustav primijeniti na njene projekte itd. Najčešće se morate obratiti stručnjacima za Agile kako biste odgovorili na ova pitanja.

U sljedećoj fazi poziva se osoba s iskustvom sa sustavom. On to demonstrira, objašnjava bit sprinta i akcija, funkcije budućih članova tima, specifičnosti međusobne interakcije i druga pitanja. I tek nakon toga se formira nova ekipa, raspodjeljuju se uloge, zadaci i odgovornosti, odabiru se alati za provođenje analitike, izvješćivanja itd.

Završna faza bit će prvo iskustvo s Agileom, tj. prvi projekt koji ga koristi. Morate shvatiti da su pogreške, nedostaci, nedosljednosti, zaostajanja neizbježni. Morat ćete napustiti neke alate i zamijeniti ih drugima, možda - da biste promijenili uloge među ljudima u timu. Prvo iskustvo je proces prilagodbe, a prilagodba je dvosmjerna: tvrtka se navikava na metodologiju, a metodologija se prilagođava tvrtki.

Zaključak

Sumirajući ovaj pregled, podsjetimo da su teorija i praksa dvije različite stvari. Nove metode i tehnologije te njihova implementacija svojevrsni su izazov za tim, a kako postići veću učinkovitost uvijek je stvar pojedinca. Agile nije lijek za lijek ili jamstvo uspjeha, ali vam omogućuje da postavite pravi kurs i pronađete orijentire na tom putu.

Za provedbu bilo kojeg projekta svakako ćete morati nešto promijeniti, tražiti nova rješenja. Samo prilagođavajući se stalno promjenjivim uvjetima rada i zahtjevima kupaca možete pronaći pravi način djelovanja. I agilna metodologija upravljanja projektima Agile može postati vjeran asistent u ovom pitanju.

Objašnjavamo koja je temeljna metodologija, otkrivamo osnovne koncepte, objašnjavamo kako funkcionira agilni tim i kako se ocjenjuje njegova učinkovitost.

Agile je cijela obitelj agilnih metodologija upravljanja projektima. Zanimljivo je da se sam koncept kontrole ovdje pokazuje ne sasvim ispravnim. Bilo bi točnije koristiti formulu "Agile je način timske interakcije koji vam omogućuje da zajedno stvarate proizvode." No, previše smo navikli na moć vertikalnih, hijerarhijskih veza, pa se i ovdje stabilna uporaba riječi "menadžment".

Nezgodna pitanja

  • Kako osigurati da kašnjenje u jednom odjelu ne zaustavi ostale?
  • Kako se nositi s činjenicom da izrada plana projekta ne oduzima do 30% vremena od ukupnog volumena njegove provedbe?
  • Kako se, u konačnici, ovi planovi mogu slijediti?

Rukovoditelji svih razina, od nižih menadžera do korporativnih direktora i državnih dužnosnika, desetljećima se bore s tim. No, sve dok je jedini poznati način manje-više kontroliranog kreiranja proizvoda i razvoja projekata ostao fazni - korak po korak, jedan za drugim, s tim se pozivima ništa nije moglo učiniti.

Kako bi se prešlo na kvalitativno novu razinu projektantski rad, zahtijevala je temeljnu promjenu paradigme.

Pokazalo se da jednostavno nema potrebe tražiti odgovore na većinu ovih bolnih pitanja. Treba ih ukloniti, a pojmove koji su ih izrodili, ako je moguće, ukinuti. Dakle, umjesto faznog razvoja vodopada, nastale su agilne metodologije.

Učinite to odmah!

Glavno mjerilo učinkovitosti u Agileu je proizvod. Dok drugi samo pripremaju dokumentaciju, agilni timovi željni su predstaviti izvediv prototip. To je – kao u poznatoj motivirajućoj formuli “učinjeno je bolje nego savršeno”. Implementirajte prvu funkciju i počnite je testirati stvaranjem sljedeće, i to iznova i iznova - ovo je glavno pravilo.

Faza razvoja u Agileu, to "s vremena na vrijeme", naziva se iteracija. Iteracije su istog trajanja tijekom cijelog projekta i u prosjeku traju dva tjedna. Unutar zasebne iteracije izvodi se određeni zadatak čije je glavno svojstvo da njegovo rješenje mora ažurirati proizvod na novu verziju ili povećati njegovu učinkovitost. Na temelju toga se odabiru takvi zadaci.

Kako iterativni pristup osigurava fleksibilnost? Zbog činjenice da se pojedini procesi mogu odvijati paralelno i neovisno jedan o drugom. Da, moram priznati da se time može povećati rok razvoja od ideje do potpuno gotovog proizvoda. No, stvar je u tome da je radni, funkcionalan i već sposoban susresti se s konkurentima i oduševiti korisnike, proizvod je u Agileu stvoren mnogo ranije, a ciklička priroda poboljšanja omogućuje vam da postignete puno bolju razradu takvih funkcija i mogućnosti do kojeg ne biste došli planiranim radom.nikad.

Horizontalna organizacija

Agilni tim izgrađen je na principima samoorganizacije i relativne ravnopravnosti svih sudionika. Čak i osoba koju mnogi predstavljaju kao voditelja projekta, vlasnik proizvoda, zapravo je samo personifikacija zahtjeva za proizvod. Djeluje kao nositelj znanja o onome što se očekuje konačni rezultat, ali nikako nije menadžer u standardnom smislu. Budući da je naviku hijerarhije teško iskorijeniti, u mnogim timovima vlasnik proizvoda, nažalost, mora preuzeti kontrolne funkcije. Ali ideal agilnog razvoja je kolektivna odgovornost članova tima jedni prema drugima.

Načela za izgradnju agilnih timova razlikuju se od projekta do projekta. Na primjer, u glazbenom servisu Spotify izgrađeni su ovako:

Druga važna vrijednost za agilne timove je međusobno prožimanje znanja. Član tima ne bi trebao biti ograničen na vlastito usko područje, trebao bi težiti međudisciplinarnosti. To ne znači da programer treba biti prodavač, a dizajner marketer.

Ali osnovno znanje o srodnim specijalizacijama u agilnom razvoju je bitno.

U početku se pretpostavljalo da će se time jednostavno povećati učinkovitost rada i razina međusobnog razumijevanja u timu, no danas je s razvojem neuroznanosti postalo jasno da se tim pristupom, osim toga, osigurava i održavanje mozga. u dobroj formi i dinamično stvaranje novih neuronskih veza. Ovo unakrsno oprašivanje znanja u Agileu naziva se t-oblik. Ilustracija u nastavku objasnit će zašto je to tako, bolje od bilo koje riječi.

Kako implementirati Agile?

Prelazak s razvoja slapa, koji je još uvijek uobičajen u mnogim organizacijama, na agilno upravljanje projektima može biti bolan.

Isprva, morate ukinuti hijerarhiju i istovremeno osigurati da svi sudionici u procesima mogu ravnopravno podijeliti odgovornost za rezultat.

Drugo, prijelaz na iterativni razvoj prisilit će vas da se usredotočite na osiguravanje da svaka od faza zajamčeno donosi nešto novo u proizvod. Nije lako, inercija planiranog razvoja proganjat će vas prvih nekoliko mjeseci.

Sastoji se od 12 principa. Naravno, i prije toga su se pojavile određene odredbe Agile pristupa, ali samo ih je ovaj dokument sistematizirao i u dovoljnoj mjeri postavio za korištenje. Svake godine nove tvrtke, IT stručnjaci i voditelji projekata prijavljuju se na manifest. Pojavljuju se nove metode i modifikacije agilnog razvojnog sustava.

Što je agilna metodologija?

Agile je iterativni razvojni model u kojem se softver stvara postepeno od samog početka projekta, za razliku od vodopada modela, gdje se kod isporučuje na kraju radnog ciklusa.

Srž Agilea je razbijanje projekata na male radne dijelove zvane korisničke priče. Prema prioritetu, zadaci se rješavaju u kratkim dvotjednim ciklusima (iteracijama).

12 principa koji čine Agile metodologiju mogu se podijeliti u 4 glavne ideje:

  • Prioritet ljudi i komunikacije nad alatima i procesima;
  • Prioritet radnog proizvoda nad kompletnom dokumentacijom;
  • Prednost suradnje s kupcima u odnosu na odobrenje ugovora;
  • Davanje prioriteta spremnosti za promjenu u odnosu na slijedeći izvorni plan.

Metode prisutne u Agileu:

Naziv "Scrum" duguje ragbiju, u kojem ova riječ označava metodu timske igre u obliku povlačenja tri linije od strane svakog od protivnika i pokušaja hvatanja lopte. Za uspješno presretanje potrebna je ne samo dobra fizička spremnost, već i koherentnost svakog sudionika u borbi i jasno razumijevanje cilja.

Metodu uspješno primjenjuju tvrtke kao što su Microsoft, Yahoo, Siemens Healthcare, a voditelj projekta u Amazonu čak ju je opisao na temelju stečenog iskustva.

Budući da je Scrum razvojni okvir, u svakom sljedećem primjeru može se značajno razlikovati od prethodnog.

Jeff Sutherland, autor iznio je 8 koraka za korištenje tehnike:

  1. Molimo izaberite vlasnik proizvoda- zna za svrhu projekta i očekivani rezultat.
  2. Skupljati naredba- do 10 ljudi s vještinama potrebnim za stvaranje funkcionalnog proizvoda.
  3. Pronaći scrum majstori- prati napredak projekta, pomaže projektnom timu da se nosi s poteškoćama.
  4. Šminka zaostatak proizvoda Dajte prioritet svakom zahtjevu proizvoda na Agile ploči. Važnu ulogu u tome ima i vlasnik proizvoda, koji prikuplja želje za proizvod na ocjenu od strane tima za zaostatke.
  5. Plan sprinteva(iteracije) - duljina vremena za dovršetak određenog skupa zadataka.
  6. Organizirati dnevni petnaestominutni "mit-ups"- postavite 3 pitanja svakom od tima: što ste radili jučer, što će se dogoditi danas, što vas sprječava da izvršite zadatak.
  7. Čini recenzije radnih dijelova proizvoda- uz uključivanje dionika u razmatranje i raspravu.
  8. Potrošiti retrospektivno- rasprava o problemu i traženje rješenja nakon svakog sprinta. Provedite rezultirajući plan promjene u sljedećem sprintu.


Agilna retrospektiva

Scrum ima 4 ključna elementa:

  • Zaostatak proizvoda- popis zahtjeva projekta
  • Zaostatak sprinta- popis zahtjeva koje je potrebno ispuniti u sljedećem sprintu
  • Sprint gol- sprint gol
  • Sprint Burndown Chart- dijagram koji se ažurira kako se zadaci dovršavaju. Lako je razumjeti dinamiku i razinu napredovanja tima u projektu.

(XP)

Razvijač metodologije, Kent Beck, stvorio je ekstremnu metodu programiranja, čiji je cilj nositi se sa zahtjevima koji se stalno mijenjaju za softverski proizvod i poboljšati kvalitetu razvoja.

Primjenjiv je isključivo u području razvoja softvera, a izgrađen je oko 4 procesa:

  1. kodiranje- prema standardima oblikovanja uniformi u timu;
  2. testiranje- testove pišu sami programeri prije pisanja koda koji se testira;
  3. planiranje- i konačna izrada i pojedinačne iteracije. Potonji se u prosjeku odvija jednom u dva tjedna.
  4. sluha- i programer i klijent, tijekom kojih nestaju nejasnoće, određuju se zahtjevi i vrijednosti.

Metodologije

Obitelj metodologija, malo poznatih na domaćim otvorenim prostorima projektnog upravljanja, razvio je Alistair Cockburn, jedan od autora Manifesta razvoja agilnog softvera. Cockburn predlaže razvrstavanje po boji prema kriteriju broja ljudi u timu: od 2 (Crystal Clear) do 100 (Crystal Red). Za veće projekte istaknute su boje Maroon, Blue i Violet.

Crystal projekti moraju zadovoljiti 3 glavna pokazatelja:

  1. brza isporuka radnog koda- razvoj ideje iterativnog modela Agile razvoja.
  2. savršenstvo kroz refleksiju- nova verzija softvera je poboljšana na temelju podataka o prethodnoj.
  3. "Osmotska" interakcija- Alistairova inovacija, metafora za komunikaciju i razmjenu informacija između programera u jednoj prostoriji.

Metoda dinamičkog razvoja softvera (DSDM)

Na razvoju DSDM-a nije radila jedna osoba ili čak tim, već konzorcij od 17 engleskih tvrtki. DSDM se, kao i ekstremno programiranje, prvenstveno koristi za razvoj softvera.

Posebna se uloga dodjeljuje sudjelovanju krajnjeg potrošača (korisnika) u procesu razvoja. Osim ovog principa, osnovni su:

  • česta izdanja radnih verzija proizvoda
  • autonomija programera u smislu donošenja odluka
  • testiranje tijekom cijelog radnog ciklusa.

DSDM je podijeljen na verzije koje se ažuriraju kako se tehnologije razvijaju, pojavljuju se novi zahtjevi za razvoj softvera. Posljednji za danas je DSDM Atern, izdan 2007. godine, iako je prethodni (2003.) još uvijek u upotrebi.

Na početku tim ispituje realnost razvoja aplikacije i opseg aplikacije. Nadalje, rad je podijeljen u tri međusobno povezana ciklusa:

  1. ciklus funkcionalnog modela- izrada analitičke dokumentacije i prototipova.
  2. ciklus projektiranja i izgradnje- dovođenje sustava u radno stanje.
  3. ciklus implementacije- implementacija sustava.

Razvoj vođen značajkama (FDD)

Metodologija koja je prethodila Agilnom manifestu razvoja softvera.

Iako FDD također koristi iterativni razvojni model, razlikuje se od Agile u sljedećem:

  • veći naglasak na predmodeliranju
  • povećana (u usporedbi s Agile) važnost izrade izvješća i grafikona
  • usmjerene na razvoj poduzeća.

Razvoj vođen značajkama sastoji se od sljedećih cikličkih faza:

  1. Izrada općeg modela- vizija projekta na temelju preliminarnih podataka.
  2. Izrada popisa svojstava- analog zaostatka proizvoda u Scrum metodi.
  3. Planiranje po nekretninama- procjena složenosti svojstava od strane svakog člana tima.
  4. Za svaku nekretninu- tehnički dizajn i izvedba - završna faza, na kraju koje svojstvo ulazi u proizvod i ciklus se ponavlja.

Razvoj softvera

Lean razvoj softvera vjerojatnije nije metodologija, već skup principa lean proizvodnje, koji je usmjeren na povećanje učinkovitosti procesa razvoja i minimiziranje troškova.

Set uključuje sljedećih 7 principa:

  1. osloboditi se gubitaka- sve što proizvodu ne dodaje vrijednost za krajnjeg korisnika.
  2. kontinuirano učenje- kontinuirani razvoj tima povećava sposobnost učinkovitog izvršavanja zadataka.
  3. donošenje odluke što je kasnije moguće- nisu prioritet spontane odluke, već promišljene, razvijene na temelju stečenog znanja.
  4. brza dostava- u biti osnova iterativnog modela.
  5. jačanje tima- jedno od načela "Manifesta..." kaže da su ljudi i interakcija važniji od procesa i alata. Projektni tim je okosnica uspješnog završetka zadataka.
  6. integritet i kvaliteta- morate u početku napraviti visokokvalitetan proizvod kako ne biste gubili vrijeme i resurse na daljnje testiranje i rješavanje grešaka.
  7. viziju cijele slike- podjelu projekta na zasebne dijelove nemoguće je bez razumijevanja trenutnog statusa razvoja, ciljeva, koncepta i strategije softvera koji se razvija.

Razne agilne razvojne metodologije

Agilno modeliranje (AM)

Agilno modeliranje je skup vrijednosti, principa i praksi za softversko modeliranje.

AM se koristi kao dio cjelovite metodologije razvoja softvera - na primjer, ekstremno programiranje ili Rapid Application Development.

Načela agilnog modeliranja su sljedeća:

  • učinkovita interakcija između dionika projekta
  • nastojeći razviti najjednostavnije moguće rješenje koje odgovara svim zahtjevima
  • stalne povratne informacije
  • hrabrost za donošenje i preuzimanje odgovornosti za odluke
  • shvaćajući da ne znaš apsolutno sve.

Agilni objedinjeni proces (AUP)

AUP je pojednostavljena verzija druge metodologije razvoja softvera - Rational Unified Process (RUP). Od 2012. zamijenio ga je Disciplined Agile Delivery (DAD), no AUP se još uvijek nalazi na nekim mjestima.

Autor metodologije, Scott Ambler, istaknuo je sljedeće ključne pozicije Agilnog objedinjenog procesa:

  • Vaš tim zna što radi;
  • Jednostavnost je na prvom mjestu.
  • Usklađenost s načelima agilne razvojne metodologije.
  • Usredotočite se na aktivnosti koje su vrijedne za projekt.
  • Neovisnost u izboru alata.
  • Individualna prilagodba AUP-a za potrebe konkretnog projekta.

Agilna metoda podataka (ADM)

ADM je skup iterativnih agilnih metodologija razvoja softvera koje naglašavaju formiranje zahtjeva i projektnih odluka kroz suradnju pojedinačnih timova. Kao i AUP, to nije samodostatna tehnika.

Bit Agilne metode podataka definirana je sa šest točaka:

  1. Podaci- osnova za izradu bilo koje aplikacije.
  2. Problemi s projektom- mogu se pronaći samo uz jasno razumijevanje svrhe i koncepta projekta.
  3. Radne grupe- uz neposredni razvojni tim, postoje poduzetničke grupe koje podržavaju druge radne skupine.
  4. Jedinstvenost- ne postoji idealna metodologija, za svaki projekt trebate kombinirati alate iz različitih metodologija.
  5. Timski rad- timski rad puno je učinkovitiji nego sam.
  6. "Slatko mjesto"- tražiti optimalno rješenje problema ("sweet spot"), izbjegavajući krajnosti.

Osnovni objedinjeni proces (EssUP)

Razvijen od strane švedskog znanstvenika Ivara Jakobsona, dizajniran za poboljšanje Rational Unified Process.

EssUP djeluje s konceptom prakse, koji uključuje:

  • slučaj korištenja – opis ponašanja sustava.
  • iterativni razvoj - stvaranje radnih dijelova koda u kratkim ciklusima od nekoliko tjedana.
  • timske prakse – usmjerene na ujedinjavanje tima i povećanje njegove učinkovitosti.
  • proceduralne prakse kao što su "Mislite veliko, počnite s malim" ili "Uključite dionike u poslovne procese".

Sve prakse nalaze se u ovom ili onom obliku u RUP, CMMI i Agile razvojnim metodologijama.

Getting Real (GR)

Učinkovita metodologija za startupe i početničke timove koja nudi maksimalno korištenje značajki malih projekata i tvrtki: mobilnost, fleksibilnost, traženje novih rješenja, odsutnost krute zbunjujuće hijerarhije itd. Jason Freed i David Hansson, osnivači tvrtke 37signals (sada Basecamp), definirali su Getting Real kao sustav za rješavanje stvarnih problema: što jednostavniji, razumljiviji i funkcionalniji.

GR je prefabricirani skup od desetak Agilnih razvojnih alata koji se koriste za minimiziranje:

  • prilike
  • opcije i postavke
  • struktura poduzeća
  • sastancima
  • obećanja.

Neobičan koncept nije široko prihvaćen, iako neki elementi koriste različite tehnike.

OpenUP (OUP)

Metodologija razvoja softvera neovisna o alatu bez krute strukture koja sadrži sljedeće prakse:

  • mjerenje brzine tima;
  • održavanje dnevnih sastanaka i retrospektiva po završetku iteracija;
  • koncept mikrokoraka i ranog testiranja pomoću kontrolnih lista;
  • Tehnika agilnog modeliranja (AMDD).

Prakse se provode na temelju četiri principa:

Agilna metrika

S obzirom na raznolikost alata, praksi, metoda i metodologija u Agileu, morate odabrati alat koji će pomoći u određivanju učinkovitosti svakog od njih. metrika je takav alat.

Za većinu projekata dovoljna su 4 područja metrike:

  1. Izvođenje- ovo uključuje Velocity i WIP. Prvi nije prikladan za sve projekte, jer se mjeri broj dovršenih zadataka po iteraciji, a oni su nejednaki. metrika Work-in-Progress određuje ograničenje zadataka u različitim fazama: što je više, to je gore;
  2. Prognoziranje- metrika kapaciteta: određivanje broja idealnih sati dostupnih u sljedećem sprintu. Sukladno tome, možete razumjeti koliko vremena imate za rad, koliko su zadaci učinkovito obavljeni i kako sprintati;
  3. Kvaliteta- na primjer, indeks stabilnosti zahtjeva, koji se izračunava po formuli = ( Ukupan iznos izvorni poslovni zahtjevi + Broj zahtjeva koji su se do sada promijenili + Broj dodanih zahtjeva + Broj uklonjenih zahtjeva) / (ukupan broj izvornih zahtjeva). metrika određuje količinu vremena utrošenog na preradu zadataka;
  4. vrijednosti- u svakom slučaju izračunava se pojedinačno, ovisno o formatu projekta. Na primjer, startup AirBnb odabrao je broj prenesenih visokokvalitetnih fotografija kao metriku koja određuje konačnu vrijednost proizvoda za korisnike. Njihovim povećanjem proporcionalno je rastao i broj potrošača.

Za metrike vrijede ista pravila kao i za druge Agile alate.

Ne postoji jedinstvena metrika koja je ispravna ili potrebna za vaš projekt.

Treba ih stalno revidirati, zastarjeti i po potrebi dodavati nove. Trebalo bi biti razumljivo i dostupno cijelom timu, a ne postati samo sebi svrha. Metrika radi metrike je loša odluka.


Razotkrivači mitova: Agilni

Popularnost obitelji Agile izigrala je trik, pa čak i specijalizirani portali imaju mitove o jednom ili drugom aspektu Agilea. Shvatit ćemo!

Mit br. 1: Agile funkcionira za sve projekte.

Najtrajnija zabluda. Nijedna Agile metoda sama po sebi neće dodati vrijednost proizvodu ili motivirati tim.

Mit br. 2: Agile protiv dokumentacije.

Agilni razvoj nije protiv dokumentacije, on je protiv dokumentacije kao samoj sebi svrha. No, pri odabiru dokumentacije kao sredstva komunikacije, Agile doista daje prednost komunikaciji uživo.

Mit br. 3: Agilno i planiranje su nespojive.

Dnevno planiranje s 10-minutnim stajanjem, iterativno zakazivanje svaka dva tjedna, sprint sastanci, itd., pobijanje je ovog mita.

Mit br. 4: Agile zahtijeva puno ponovnog rada.

U agilnom razvoju softvera, prerada dolazi u dva oblika: zahtjevi za preradom (korisnici razumiju što im je stvarno potrebno) i softver (razvojni timovi pronalaze bolje načine za pisanje i dizajn aplikacije). Ali s tim se morate nositi i drugim metodama! Štoviše, kako bi se smanjio negativan utjecaj prerade, potreban je iterativni model, što je značajka Agilea.

Prednosti i nedostaci korištenja Agilea

Prednosti:

  1. uključenost dionika- tim ima više mogućnosti razumjeti želje klijenta. Rana i česta isporuka softvera jača povjerenje dionika u projektni tim i dodatno se uključuje u projekt.
  2. ranu i predvidljivu isporuku- razvojni model kroz iteracije (kratki intervali od 1 do 6 tjedana) daje fleksibilnost, ubrzava izlazak proizvoda.
  3. fokusiranje na poslovnu vrijednost- Suradnja s klijentom timu daje razumijevanje kako proizvod učiniti što vrijednijim za potrošača.
  4. kontinuirano poboljšanje kvalitete- testiranje tijekom svake iteracije, dijeljenje konačne izrade u zasebne dijelove radnog koda omogućuje nam poboljšanje i rješavanje softverskih grešaka prije nego što konačni proizvod bude objavljen.

minusi:

  • povećani zahtjevi za tim i klijente- bez bliske interakcije između projektnog tima i korisnika, nemoguće je postići visokokvalitetan proizvod visoke vrijednosti. A obilje alata i tehnika u Agileu zahtijeva iskusan tim za implementaciju.
  • nije pogodno za outsourcing i projekti u kojima sudionici međusobno komuniciraju samo online.
  • rizik da nikada ne objavimo konačnu verziju softvera- ovaj minus, začudo, proizlazi iz iterativnog razvoja i kontinuiranog poboljšanja proizvoda - plusevi Agilea.
  • ne funkcionira bez jasne vizije poslovnih ciljeva projekta- budući da je Agile tim fokusiran na dionike, razvoj je nemoguć bez razvoja ciljeva i koncepta proizvoda.

Prijave

Za upravljanje projektima s Nisu sve usluge ili programi za upravljanje projektima prikladni za Agile, jer svaki ima svoje specifičnosti.

Ako vaš posao pripadamarketing i oglašavanje, dizajn, seo ili digitalne agencije zatim saas servis može se primijeniti na rad cijelog tima u cjelini. Mi smo preporučeni .

Evo nekoliko životnih hakova za postavljanje Agilea

  1. prilagodite oznake i statuse, koji su neophodni za rad Vaše tvrtke.
    Statusi mogu biti sljedeći: u tijeku, provjeravanje, završeno, potreban rad, kritičan, značajka, plaća.
    Oznake često izgledaju ovako: izgled, testiranje, proizvodnja, koncept, kod.
  2. izraditi zaostali projekt i projekt proljeće.
  3. kreirati zadatke i preliminarne kontrolne liste, skice itd. u zaostatku.
  4. na mit-ups definirati proljetni zadaci i prenijeti ih iz zaostatka u sprint.
  5. koristiti pristup gostu korisnika na zadatke kako biste uvijek imali dosljedne i ažurne komentare na projekt.
  6. slaviti odgovoran za zadatke tako da svaki kolega zna svoje područje odgovornosti i osjeća se uključenim u rezultat sprinta.


Presuda

Agilnim razvojem softvera mali projektni timovi povećavaju učinkovitost. Agile se implementira kroz druge agilne metode: Scrum, XP, Lean itd.

Nemoguće ga je implementirati na brzinu, od strane neiskusnog tima, u kratkom roku. ali implementacija Agile-a poboljšat će interakciju između IT-a i poslovanja, ubrzati vrijeme izlaska na tržište i povećati vrijednost proizvoda za krajnjeg korisnika.

V suvremeni menadžment Agilni model upravljanja razmatra se u tri različita konteksta, koji (svaki na svoj način) definiraju što je Agile.

Tri opsega agilnog značenja

U prvom, užem smislu, ovaj se izraz počeo koristiti u području razvoja softvera od ranih 2000-ih, kada su se stručnjaci iz industrije okupili u američkoj državi Utah, u planinskom odmaralištu, kako bi raspravljali o metodama i praksi stvaranja softverskih proizvoda zahtijevao krajnji potrošač... Rezultat tog sastanka bio je Manifest (Agile Manifesto) razvoja softvera, s 12 principa, koji se, prije svega, ticao uskog opsega aktivnosti autora, ali bi se potencijalno mogao proširiti i na neke druge poslovne projekte.

U drugom, širem smislu pojma, Agile principi se primjenjuju na vođenje gotovo svakog poslovanja i koriste se kao komponente, na primjer, u konceptu „Lean Startup“ (Lean Startup). U tom smislu, agilni model se shvaća kao slijedeći agilnu metodologiju za razvoj projekta, slijedeći tipičnu shemu u nekoliko koraka.

  1. Rad na projektu odvija se u iteracijama – kratkim ciklusima (sprintovima). (U slučaju razvoja softvera, ti ciklusi se kreću od 1 tjedna do 1 mjeseca.)
  2. Na kraju svakog ciklusa izlazi proizvod koji se već može koristiti u poslovanju. Za softver takav proizvod može biti aplikacija ili samo njezin dio, ali čak i "sirov" softver može se i treba isprobati u praksi.
  3. Proizvod pregledava kupac ili korisnici koji održavaju stalne povratne informacije s programerima. Pristup usmjeren na kupca primjenjuje se tijekom cijelog projekta (sve iteracije).
  4. Svi komentari se brzo uključuju u reviziju, a promjene koje su omogućile da se odmah ispravi razvoj proizvoda su dobrodošle, jer to omogućuje da se ne gomilaju globalne pogreške sustava.

U trećem, čak i širem smislu, Agile je dio modela upravljanja koji se koristi u Toyotinim tvornicama i sada je jedna od osnovnih komponenti upravljanja u gotovo svakoj uspješnoj proizvodnji. Temelji Agilea u ovom kontekstu slični su osnovama razumijevanja tehnologije u drugim kontekstima.

Svaki radnik koji je mogao inicirati zaustavljanje transportera i autor prilagodbi za fino podešavanje proizvodnog ciklusa dao je brzu povratnu informaciju u postavljanju konačnog formata proizvodnje u Toyotinim tvornicama. Agilna transformacija u cijeloj proizvodnji može dovesti do ponovnog opremanja proizvodne djelatnosti općenito, ako je proizvod rezultat živog odgovora na trenutne potrebe klijenta. Dakle, ako je tvornica proizvodila plastične limenke, a povratne informacije kupaca pokazuju potrebu za kantama, onda brza adaptacija uz paralelno podešavanje nijansi (oblik ručke, veličina, boja) bit će upravo u stilu Agile menadžmenta (ako se poštuju i ostali principi).

Načela agilnog upravljanja

Agile u upravljanju projektima kao model upravljanja poslovnim procesima koriste tisuće timova diljem svijeta, a posvuda su prisutni karakteristične značajke ovaj pristup:

  1. Za prilagodbu proizvoda presudni su potrošač i stupanj njegove uključenosti u kreiranje rezultata.
  2. Da bi donijeli odluku, timovi moraju biti vrlo učinkoviti i kohezivni.
  3. Fazni i ciklički rad postaje temelj procesa. Projekt je podijeljen na male dijelove, koji se dovršavaju do određenog datuma prije završetka projekta u cjelini.
  4. Fokus evaluacije učinka je na čestom predstavljanju međustanja projekta.
  5. Tim se u svom radu oslanja na Pareto zakon, prema kojem 20% napora daje 80% učinkovitosti, što omogućuje da se svaki zasebni ciklus ne dovede do savršenstva prije nego što se rezultat prezentira potrošaču. Proizvod se prirodno razvija sa svakom novom iteracijom.
  6. Pretpostavlja se da se jedna faza mora završiti prije nego što se pređe na sljedeću.

"Fleksibilni" pristup postao je temelj za niz metodoloških praksi koje se međusobno razlikuju, ali uključuju ideje Agilea: Scrum, Kanban, Lean, Crystal itd. Scrum metodologija se, na primjer, gotovo uvijek razmatra zajedno s Agile kao jedan sustav upravljanje projektima razvoja softvera.

Scrum pokazuje kako se "agilni pristup" može provesti u praksi u određenim operacijama. Tako se, na primjer, rad sa zahtjevima projekta provodi pomoću četiri "artefakta":

  • Zaostatak proizvoda uključuje formiranje liste zahtjeva, kreiranih prema jednom predlošku (User Story) i razvrstanih po prioritetu. Ako nema zahtjeva, projekt završava.
  • Zaostatak sprinta su zahtjevi najbližeg sprinta (etape), podijeljeni na zadatke bez mogućnosti dodavanja novih zahtjeva tijekom sprinta. Predanost sljedećoj prekretnici koju preuzima tim s Agile tipom upravljanja ispisana je na ploči (nazvanoj Kanban).
  • Cilj sprinta – Opći cilj sprinta je smjernica pri donošenju alternativnih odluka.
  • Sprint Burndown Chart - "burn chart". To pokazuje koliko je tim napredovao tijekom faze.

Agilni format upravljanja projektima nije prikladan za svakoga i ne uvijek. Državnim strukturama, čije se djelovanje temelji na nepromijenjenom zakonodavstvu i konzervativne u svojim ciljevima i provedbi, takva optimizacija nije potrebna.

Uobičajene greške i nedostaci agilne implementacije

Isti čimbenik koji se smatra snagom pristupa u nekim slučajevima može dovesti do problema u drugim. Dakle, "fleksibilnost" često uzrokuje zamućenje fokusa. U nedostatku metodološke osnove dolazi do gubitka referentnih točaka i zamjene primarnih sekundarnim. Kako bi spriječili takva "izobličenja", koriste se gotovim metodologijama ili vlastitim razvojem, koji strože reguliraju sadržaj i redoslijed operacija tijekom provedbe projekta. Ipak, u ovom slučaju, u Agile-managementu, greške su moguće.

Uobičajene pogreške u implementaciji uključuju sljedeće:

Uz sve poteškoće uvođenja fleksibilnog pristupa općenito, učinkovitiji je od tradicionalnih "nespretnih" industrija kada je u pitanju brzo stvaranje novog proizvoda orijentiranog na kupca. Dok je tradicionalna proizvodnja zaglavljena u birokratskoj birokratiji, agilni pristup omogućuje prirodno kretanje odmah nakon pokretanja projekta.

18. listopada 2017

Ako pogledate u stvarno ruska tvrtka stariji od 30 godina i s više od tisuću zaposlenih i izgovore riječ Agile, tada će reakcija biti u najmanju ruku oprezna. Ljudi su tamo već čuli priče poput "Kako reći baki" ili "Kako reći djedu" i pogledali sve Grefove govore, dobili desetak prijedloga za uvođenje fleksibilnosti u tjedan dana, neki su zaposlenici čak godinu dana radili sa Scrumom, ali ostaje jedno pitanje:

"Što ćemo s ovim, imamo samo web stranicu izvan programiranja?"

Kao rezultat toga, za oko 100% tvrtki Agile izgleda kao nadriliječništvo.

Ali ovdje je paradoks - u svijetu 77% tvrtki * koje koriste Agile u projektima uopće se ne bave razvojem softvera.



* Iz VersionOneove velike godišnje ankete o tvrtkama

Umjesto definicije. Što reći o Agileu kada su se okupili različiti ljudi iz različitih odjela

Agile nije metoda razvoja softvera. Definicije Wikipedije se slabo razumiju osim ako niste programer.
To su načela organizacije projektnih aktivnosti i ona je primjenjiva u svakom području. U praksi je za ljude najosjetljivija razlika odlazak iz hijerarhije i nestanak jednog centra za generiranje precizno opisanih zadataka. to timski rad s ulogama, odgovornošću za ukupni rezultat i ravnom strukturom interakcija.

Ekipa u igri "Što? Gdje? Kada?" postoji prema principima Agile. Interakcije imaju ključnu ulogu. Kapetan igra ulogu kupca proizvoda (točan odgovor), 2-3 erudita prebiru niz informacija, netko prati vrijeme, postoji osoba koja analizira, postavlja pitanja i potiče komunikaciju, svatko može govoriti van i dovesti do rezultata ili propasti sve, vanjske igre su debrifing (retrospektiva).

Protuteža Agileu je cjevovodna (kaskadna) metoda s krutom hijerarhijom i preciznim ciljevima postavljenim što bliže SMART-u. Prema ovim načelima u "Što? Gdje? Kada?" kapetan bi morao iznijeti točne probleme - kome u kojem smjeru razmišljati i pokušati to prikupiti kao odgovor. Svaki bi sudionik morao poštovati pristojnost i govoriti kada dođe na red. U slučaju neuspjeha netko bi im morao spustiti motivaciju ili ih otpustiti, a kapetan bi donio tu odluku.

Glavni razlog za nastanak i razvoj Agilea je to sve više projekata nemaju 100% razumijevanja što bi trebalo biti na kraju. Točne zadatke jednostavno je nemoguće zapisati. I odlučili smo da su slobodne interakcije važnije od uputa, a spremnost na promjene važnija od planova.

Agilne metodologije su odgovor na neizvjesnost; nije u potpunosti poznato što treba učiniti i što bi trebao biti rezultat. Čini se, ali što je neshvatljivo u razvoju, na primjer, web stranice ili u izgradnji kuće ili u kuhanju hamburgera u McDonald'su? Ovi projekti su pušteni u rad, gdje je tu neizvjesnost?

Ali... Čak i ako ste web studio i ovo vam je tisućita stranica, klijentu je ovo prvi put. A njegove će želje ostati neizvjesne do samog kraja. Mnogi studiji naprave 3-4 verzije glavne stranice i polažu u tjedan dana za nepredviđena poboljšanja. Svi koje poznajem imaju rad razbijen na iteracije, nakon čega slijedi demo i rasprava. Komunikacija s kupcem važnija je od potpisanog ugovora.

U izgradnji kuće postoji projektni plan, izračun materijala i troškova rada. Ali iz nekog razloga rokovi uvijek kasne. Događa se da temelj pluta, ili se estrih osuši, nešto počne pucati, ili je drvo vlažno ili je cigla previše porozna, ili je cement doveden u krivoj marki, ili se klijent predomislio i odlučio da sada bilo bi to kupalište. Predvodnik je muški orkestar, odlučuje o svemu što se pojavi, stalno odstupajući od plana radi rezultata. Normalan dom mnogo je važniji od opisa.

U redu, nema sumnje oko pravljenja hamburgera u McDonald'su. Proces je razrađen više od 70 godina i repliciran u 125 zemalja. Da, ovo je pokretna traka, gdje je bolje ne stati s fleksibilnošću. Agile nije primjenjivo na procese koji su već godinama dobro uspostavljeni. Istina, otvaranje novog restorana pod vrlo preciznom franšizom uvijek je jedinstven projekt. Gdje će biti prikladni iterativni pristup, smanjenje iteracija, raspodjela uloga, otvorena interakcija, vizualizacija projekta na Agile ploči, retrospektivni, dnevni sastanci planiranja.

Ukupne Agile temeljne vrijednosti (Manifest):

  • slobodna interakcija tima
  • izvedba projekta (odličan proizvod)
  • partnerska komunikacija s klijentom
  • spremnost na promjenu

Što su timovi uloga?

U poznatom timu postoje dvije uloge: šef i podređeni, jedan pametan drugi budala. U Agileu su tri temeljno važna: kupac proizvoda, metodist, član tima.

U pojednostavljenom obliku:
kupac- govori koji je proizvod potreban, za što je potreban, dogovara rasprave oko zahtjeva s tržišta, donosi odluke o prioritetima.
Metodičar- pazi da se kupac ne pretvori u gazdu. Pa i za provedbu drugih praksi, na primjer, da se svi zadaci ocjenjuju ili da ocjene zadataka ne prelaze 80% raspoloživog vremena, ako postoji takav dogovor.
Naredba- ocjenjuje, distribuira i provodi zadatke. Uvijek prikazuje verziju proizvoda, a ne pojedinačne dijelove koji su izvedeni.

Da potpuno pojednostavimo, u Agileu je potrebna osoba koja se brine da tim dobije maksimalnu količinu informacija o traženom proizvodu u svim detaljima s različitih strana i prihvaća Aktivno sudjelovanje u raspravi kako provesti. Zadatak nisam dobio kao direktivu odozgo, već opis i razumijevanje što bi trebalo učiniti za korisnika kada se proizvod razvije.

Izvana se fleksibilan tim od poznatog razlikuje upravo po prisutnosti ili odsutnosti tzv. narativne suradnje. Ako postoji rasprava o pitanju "Kako implementirati proizvod?" na svim razinama znači da je tim fleksibilan. Ako se traži tko je kriv što nisu ispunili popis konkretnih zadataka, onda je sve kao i obično.

Glavno pitanje je: "Kako upravljati resursima kada je sve tako fleksibilno?"

Sve ove priče o odgovornim timovima i povijesti nastanka metode doživljavaju se kao potpuno smeće ako nema odgovora na pitanja:
"A kako točnije upravljati resursima?" Da vam kažem o Agileu, samo ovo pitanje može biti otkriveno.

Treba napomenuti da je općenito sav Agile dizajniran posebno za rješavanje pitanja resursa "Kako učinkovito upravljati resursima u projektu s nepredvidljivošću" Metodologija se ne bi rodila da je glavni zadatak bio udobnost i sloboda ljudi u tim.

Postoji nekoliko važnih načela i metoda koje su jasno usmjerene upravo na predviđanje resursa:

1. Vidljivost potrebnih resursa. Agilne ploče neraskidivo su povezane s metodologijom. To je kada su zadaci podijeljeni u stupce, a stupci definiraju fazu zadataka u njima. Ovo je najvizualniji alat za vizualizaciju stanja projekta. U idealnom slučaju, svakoj vanjskoj osobi treba biti jasno u kojoj je fazi projekt i koliko je ostalo do kraja. Ako odjednom svima postane očito da nema dovoljno sredstava ili da je potrebno promijeniti prioritete, to će se dogoditi samo od sebe.
Kroz vidljivost se rješavaju pitanja predvidljivosti rezultata i upravljanja prioritetima.

2. Prioriteti i zaostaci... Pri planiranju se vodi računa da se ne mogu svi poslovi zatvoriti u zadanom roku. Uvijek postoji popis onoga što se mora učiniti i što bi bilo dobro napraviti (ovo je zaostatak). Prioritete postavlja tim u raspravi s internim kupcem proizvoda. Ako se dogodi da ostane vremena, rješavaju se zadaci drugog stupnja važnosti, ako nemaju vremena obaviti ni zadatke s ocjenom Obavezno (Kritično), tim se dodatno napreže.

3. Kratke iteracije(sprintovi). Ovaj pristup omogućuje tvrtkama da isprobaju nešto iz Agilea kao nitko drugi. Uprava pristaje na srednji rezultat za nekoliko tjedana bez ulaska i dodjele zadataka svima. Na takav način rada bilo bi nemoguće pristati šest mjeseci.
Sprint (iteracija) je raspon od nekoliko tjedana. Obično imamo 2 tjedna. Najvažnija stvar u sprintu je odrediti koji međurezultat treba postići. Dobro je ovaj rezultat nazvati iteracijom, na primjer, "Oslobodite ploče s pravima" ili "Objavite mjesto za testiranje". Ako se rad odvija u vremenskim intervalima, ali svaki interval ne dovodi do nekog specifičnog rezultata, onda to više nije iterativni pristup.

4. Ocjenjivanje zadataka u veličinama majica. Ljudi ne vole davati precizne procjene problema, ali je u redu da ih većina ocijeni otprilike na skali veliki, srednji, mali. Ispod su najpopularniji načini za procjenu problema u svijetu bez visoke točnosti. S postotkom učestalosti korištenja.


Koristimo treću, ali postoje samo ocjene 1h, 2h, 4h, 8h.

Smisao pristupa je pobjeći od pokušaja uhvatiti nekoga na netočnim procjenama njihova rada. Oni su već od samog početka uzorni. Fokus je na tome što bi svaki sprint nastojao postići maksimalni broj bodova, koji su otprilike vremenski vezani.

5. Burndown grafikon(raspored izgaranja)
Vrlo jednostavna stvar je dvoredni grafikon; prvi - koliko je vremena izgorjelo i to je uvijek ravna crta, drugi - koliko je zadataka u smislu resursa zatvoreno i ovdje su moguća kolebanja. Zapravo, to je grafički odgovor na pitanje ide li tim prema planu ili zaostaje.


Ovdje su prikazani samo opći pristupi bez detalja, možda bi bilo vrijedno napisati poseban materijal s detaljima upravljanja resursima. Ali ako ovdje sumirate u dva retka, dobit ćete:

  • najčešća pogreška je pokušaj vrlo preciznog ulaska u procjene, tim prestaje raditi za rezultat
  • najuspješniji pristup je rezervirati vrijeme, planirati 80% resursa

Insider iz najvećeg, najstarijeg i najpoznatijeg seo studija u Rusiji- dva puta polažu zalihu resursa, prvi prilikom razgovora s klijentom, drugi tijekom internog planiranja.

Top 5 najpopularnijih Agile praksi koje svi razumiju

Opet, osnovni Agile je jednostavan. Ne postoje superkomplicirane tehnike za koje je potrebno puno vremena za učenje. Ispod je, na primjer, 5 najpopularnijih praksi (prema istoj anketi VersionOne)


Svi su primjenjivi na projekte iz bilo kojeg područja i dovoljno su jednostavni za korištenje u trenutku. Sve ih ujedinjuje zajednička ideja iterativnog pristupa.

1. Iterativno planiranje- sprintovi (90% timova koristi)
Dobra je praksa trčati male utrke sa srednjim rezultatima. Sprint traje nekoliko tjedana. Dijelovi koji su prekratki ili predugi su loši. Isti interval za sve prilike također nije prikladan. Sprint bi trebao imati najtočniji cilj, na temelju toga se određuje trajanje.
Najčešća pogreška je ta što se timovi naviknu jednostavno rasporediti zadatke svaka dva tjedna, gube se procesi postavljanja međuciljeva i zbrajanja na kraju. Posao spada u normalan tijek zadataka, s ažuriranjima svaki sprint. Metodolog mora riješiti problem.

2. Dnevni sastanci planiranja(88% timova koristi)
Zadatak je da tim svaki dan potvrđuje jedinstveni smjer kretanja svih sudionika. Prema klasičnom opisu, svaki u timu otkriva tri pitanja:

  • Što je napravljeno od dosadašnjeg sprinta?
  • Što je planirano za danas?
  • S kojim ste se problemima susreli ili što vas sprječava?

U našoj praksi to brzo smeta timovima i postaje rutinsko ili formalno izvještavanje. Što pomaže:
Promijenite vrijeme sastanka - 6 mjeseci. ujutro, 6 mjeseci. navečer.
Svaki put za promjenu voditelja sastanka za planiranje, ne bi smjela postojati osoba kojoj oni odgovaraju. Izvrsna opcija ako je vođa izvučen ždrijebom. Kupci proizvoda, podijelite priče kupaca na početku sastanka o planiranju. Razgovarajte o općim temama i tek onda prijeđite na pitanja. Ne dopustite nikome osim članova tima da ide na sastanak planiranja.

3. Retrospektive(83% timova koristi)
Sastanak na kraju iteracije. Rasprava o tome što je uspjelo, a što ne. Najvažniji cilj je donijeti zaključke o tome kako se promijeniti.
Kupcu proizvoda - o tome kako bolje pokazati očekivanja korisnika, metodologu - o tome kako potaknuti dijalog i ispuniti dogovore odabranih pristupa, timu - o tome kako uzeti u obzir nove čimbenike koji se pojavljuju u procjenama. Retrospektive su u pravilu zabavne - iteracija je gotova, možete izdahnuti i raspravljati o rezultatima. Dobra vježba nešto za popiti ili pojesti tijekom pauza ovog procesa.

4. Iterativni dojmovi(81% timova koristi)
Ovo je demonstracija od strane tima jednom u nekoliko iteracija rezultata projekta, obično u obliku govora. Glavna stvar je imati "sjednicu" i u redu je ako to izgleda kao izvještavanje menadžmenta. Glavna poteškoća je da se netko drugi osim tima okupi i shvati značenje onoga što se događa. U našoj praksi pušta korijene samo uz vrlo hladno vodstvo.

5. Kratke iteracije(71% timova koristi)
Poanta je da morate stalno pokušavati skratiti ciklus dobivanja malih međurezultata. Ako to ne učinite, ciklusi će prirodno rasti ili će biti konstantni, bez obzira na srednje ciljeve. Što je petlja kraća, to je manje pogrešaka u iterativnom planiranju. To je zadatak metodologa, o tome se vrijedi prisjetiti barem jednom svakih šest mjeseci.

Kako razumjeti je li projekt u tijeku koristeći Agile metodologiju ili još nije?

Dijagram koliko tvrtki mijenja Agile za sebe izgleda ovako:


Fleksibilnost pristupa proteže se i na sam pristup. Ovo je prva stvar koju tim treba naučiti ako želi biti fleksibilan. Ne možete biti 100% agilni slijedeći sve recepte. Nitko se striktno ne pridržava pravila čistom obliku, u praksi svaka tvrtka ima svoje modifikacije.

Najpopularnije Agile metode jednostavne su za implementaciju, daju rezultate i neće preokrenuti tvrtku. Upravo iz tog razloga 98% onih koji koriste nešto iz Agilea kaže da su pristupi uspješni.


Ako počnete, na primjer, s jutarnjim planiranjem sastanaka, tada se u timu neće dogoditi ništa strašno, ali jednostavan svakodnevni dijalog ljudi unutar projekta čini proces fleksibilnijim.

Kombinacija fleksibilnosti i krutosti uvijek je individualna i ovisi o mnogim čimbenicima: voditelju, složenosti projekta, veličini tima, proračunu itd. No, ako je barem jedan pristup smisleno implementiran, onda ova tvrtka radi po Agile metodologiji i neće biti suvišno to s ponosom prijaviti unutar tima.

Svidio vam se članak? Podijeli