Je ťažké nájsť niekoho, kto by nechcelaby sa s nimi zaobchádzalo s rešpektom. Tento stav však musí mať svoj dôvod. Napríklad, keď je osoba vysoko kvalifikovaným uznávaným odborníkom v oblasti vývoja softvéru. A na to sa musíte naučiť. A v rámci tohto článku sa pozrieme na to, čo je Agile, aké sú jeho výhody a ako tejto technológii porozumieť.
Všeobecné informácie
Najprv sa budeme zaoberať technickýmimomenty. Čo je Agile? Preklad (doslovný) tohto slova z angličtiny je „živý, mobilný“, „flexibilný“ sa spomína o niečo menej často. A mimochodom, toto je zníženie. Úplný názov tohto prístupu je Agilný vývoj softvéru.Pretože je však príliš dlhý, bolo rozhodnuté ho skrátiť. A teraz už len hovoria Agile. Používa sa preklad ako „flexibilný“, pretože je najdôležitejší pre skutočnú situáciu.
Čo je tu zahrnuté?
Pokračujeme v zvažovaní toho, čo je Agile.Tu by som sa chcel zamerať na skutočnosť, že ide o flexibilný prístup, ktorý je založený na mnohých rôznych metodikách (Scrum, XP, Kanban, Lean). Aby sme téme lepšie porozumeli, nakreslime paralely. Povedzme, že agilné technológie sú pôvodom vesmíru. Konečným produktom je samotný svet. A veľký tresk je najbolestivejším problémom, s ktorým sa musíme len stretnúť - zmena zoznamu požiadaviek na produkt. Procesy tvorby spravidla zahrnujú použitie vodopádového modelu. V tomto prípade ide všetko postupne a po etapách. Tento prístup možno stručne vyjadriť: Vidím cieľ - idem k nemu. A ak sa zmenia požiadavky na konečný výsledok, niekedy sa takmer všetko musí znova prerobiť. To, čo ďalej komplikuje túto situáciu, je pokúšať sa predstierať, že je všetko v poriadku a že sa musíme pohnúť dopredu.
A tak je Agile, metodika riadenia, navrhnutá takbojujte proti tomu všetkému svojou flexibilitou. Tento prefabrikovaný hodgepodge minimalizuje rôzne riziká pomocou súboru zásad. To všetko sa odráža v agilnom manifeste vydanom v roku 2001. Stručne povedané, znejú takto:
- Hlavnou vecou sú ľudia, nie veci.
- Spolupracujte, nečítajte zmluvu.
- Dokumentácia by nemala zasahovať do práce.
- Zmeňte čo najrýchlejšie.
Môže sa to zdať príliš vágne a nepresné, ale poďme podrobnejšie.
Usporiadanie procesu
Keď sa pozrieme na to, čo je Agile, obráťme sa na jednu z najobľúbenejších metodík známych ako Scrum. Čo ponúka? Najprv potrebujete:
- Vyberte vlastníka produktu. Človek je na túto úlohu vhodný, čo vidí, k akému cieľu potrebuje ísť a čo sa nakoniec stane.
- Rozhodnite sa pre tím. Na dosiahnutie výsledkov je potrebná skupina troch až desiatich ľudí, ktorí majú schopnosti.
- Vyberte si zodpovedného špecialistu. Je to osoba, ktorá bude sledovať vývoj projektu a pomôže tímu pracovať s ťažkosťami.
- Vysporiadať sa s ťažkosťami.Všetky existujúce požiadavky na výrobky by mali byť zhromaždené na jednom mieste a mali by byť stanovené priority. Vlastník produktu by tu mal zhromaždiť všetky svoje priania. Potom ich tím vyhodnotí a pochopí, či ho je možné implementovať a ako dlho trvá.
- Celé pracovné zaťaženie rozdeľte na kúsky času, týždeň alebo dva, počas ktorých tím vykoná konkrétne sady úloh.
- Stretnutia by sa mali konať denne, nie viac ako pätnásť minút. Agenda by mala diskutovať o tom, čo sa urobilo včera, aké sú plány na dnes a o prekážkach, ktoré nám bránia vystúpiť.
- Vykonajte recenzie na týždeň (dva), počas ktorého tím hovorí o tom, čo sa urobilo. V tomto prípade je potrebné preukázať funkčnosť častí výrobku.
- Po každom časovom období je potrebné prediskutovať problémy a nájsť riešenia. Navyše všetok vývoj musí byť implementovaný okamžite.
Ako rozoznáte Agile?
Metodika riadenia, bez ohľadu na zvolený smer, má vždy nasledujúce vlastnosti:
- Minimalizácia rizík. Toto je hlavný cieľ každého flexibilného prístupu.
- Iteračný vývoj. V tomto prípade to znamená prácu v malých cykloch.
- Najdôležitejší sú ľudia a komunikácia medzi nimi.
Predstavme si rieku. Zákazník je v jednej banke. Druhým je tím. V tomto prípade má agilný vývoj výhody pre každého:
- Zákazník potrebuje minimálne účinný produkt. Pri jeho tvorbe sa však môžu podmienky zmeniť.
- Je užitočné, aby tím komunikoval s kolegami a so zákazníkom.V tomto prípade je minimalizované riziko nepochopenia, zvyšuje sa transparentnosť procesov, rýchlo sa riešia problémy a znižuje sa pravdepodobnosť prekvapenia pri vytváraní produktu.
Sociálny faktor
Pri vysvetľovaní toho, čo je Agile, zvyčajnehovoriť výlučne o pozitívnych aspektoch. Komunikácia v tíme sa skutočne zlepšuje. Všetci ľudia sa zameriavajú na jednu myšlienku, nevytvárajú medzi sebou tajomstvá, preberajú na seba záväzky. Výsledkom je, že tím pracuje v príjemnom prostredí a v rýchlom tempe. Tento prístup vám umožňuje zefektívniť chaos.
Od svojho vzniku dokáže nájsťuznanie v technologickom priemysle. V súčasnej dobe je široko používaný pre návrh nových softvérových produktov. Ale vo všeobecnej obchodnej praxi je tento prístup stále málo známy. Opatrní sú preto tí, ktorí sa s Agile predtým nestretli. Malo by byť tiež zrejmé, že by sa mal používať iba v prípadoch, keď ľudia stoja pred úlohou intelektuálnej práce.
Malý príklad
Pozrime sa, ako tieto metodiky fungujúvývoj softvéru. Povedzme, že máme Petra, vlastníka produktu. Nepozná technické detaily, ale má víziu celkového obrazu. Vie, prečo je produkt potrebný, aké problémy vyrieši a koho uspokojí. Existujú aj zainteresované strany. Môžu produkt používať, podporovať jeho tvorbu alebo sa inak podieľať na jeho tvorbe. Môžete tiež pridať používateľské príbehy, ktoré vyjadrujú priania zainteresovaných strán. Napríklad: systém rezervácie lístkov na pravidelné autobusy z Moskvy do Petrohradu musí mať vyhľadávanie podľa letov. Peter pomôže záujemcom. Prevezme kontrolu nad implementáciou z myšlienok používateľského príbehu. Existuje aj vývojový tím. To sú ľudia, ktorí vybudujú fungujúci systém.
Pretože sa používa agilná metodikavývoj, potom sa užívateľské príbehy nehromadí až do veľkého vydania, ale sú vydané bezprostredne po dokončení a tak často, ako je to možné. Počet spracovaných požiadaviek je priepustnosť tímu za týždeň. Aby tím nestratil dynamiku a nezahltil sa v manuálnom testovaní, musí pracovať na automatizovanej integrácii. Čo je to? Pre každý pracovný moment je napísaný automatický test. Ak je príbehov priveľa, môže dôjsť k zhonu, strate motivácie, zníženej produktivite a kvalite. Pre takéto prípady je poskytnutá metóda „včerajšieho počasia“. Spočíva v tom, že musíte nastaviť prísne limity pre množstvo práce a starostlivo vybrať, čo presne bude implementované. Predtým uvedený „Kanban“ navrhuje nastaviť limit úlohy.
Čo robiť s frontom?
Dobre, tím sa rozhodol, že môžuspracujte štyri príbehy týždenne. Ako sa však zorientovať vo všetkom, čo existuje? Povedzme, že používatelia odošlú desať správ za týždeň. Štyri sú spracované. Fronta tak bude neustále rásť. V tomto prípade existuje iba jedna účinná metóda - slovo „nie“. To je pre majiteľa produktu mimoriadne dôležité. Povedať áno nie je ťažké. Oveľa ťažšie a dôležitejšie je rozhodnúť sa, čo nerobiť. Okrem toho je tiež potrebné niesť za to zodpovednosť. Preto je potrebné rozhodnúť sa, na čo si teraz dať pozor a čo treba odložiť. Správne stanovenie priorít vyžaduje, aby vlastník produktu porozumel hodnote a rozsahu každého príbehu.
Robíme rozhodnutia
Niektoré príbehy sú veľmi potrebné.Ostatné sú len príjemným bonusom. Vývoj niektorých príbehov bude trvať niekoľko hodín. Vytvorenie ďalších bude trvať mesiace. Mnoho ľudí často kreslí vzťah medzi veľkosťou príbehu a jeho hodnotou. Ale to nie je vždy správne. Viac sa nerovná lepšiemu. Zložitosť a hodnota danej úlohy pomáha Petrovi správne stanoviť priority. Ako kvantifikovať tieto charakteristiky? V žiadnom prípade. Toto je skutočná hra s hádaním. A pre väčšiu efektivitu je potrebné do nej zapojiť veľa ľudí. Toto je vývojový tím, ktorý bude informovať o rozsahu práce a zainteresovaných stranách. Malo by byť zrejmé, že všetky údaje získané týmto spôsobom sú približné odhady. Presné čísla tu nie sú. Spočiatku budú chýbať. Keď ale získate skúsenosti, ich počet a rozsah sa zníži.
Potenciálne riziká
Vyhýbanie sa problémom vyžaduje úprimné odpovede na sériu otázok. To:
- Robíme správnu vec? Toto je podnikateľské riziko.
- Môžeme implementovať to, čo je potrebné? Toto je sociálne riziko.
- Bude projekt fungovať na tejto platforme. Toto je technické riziko.
- Budeme mať dostatok peňazí a stihneme to včas? Toto sú riziká času a nákladov na implementáciu.
V tomto prípade sú potrebné znalosti.Možno ich vnímať ako opak rizík. Keď je zaznamenaná značná miera neistoty, získame znalosti - napríklad vytvoríme prototypy rozhraní alebo technické experimenty. A keď ich už máme, rozhodujeme sa, akým smerom sa pohnúť.
Ako sa učiť?
IT priemysel sa vyvíja mimoriadne rýchlo aaby sme nakoniec neprehrali, je potrebné sa neustále učiť, zlepšovať zručnosti a efektivitu práce. Preto sú otázky školenia a implementácie aktuálnejšie než kedykoľvek predtým. Kde začať Najlepšou možnosťou je spolupráca so spoločnosťou, ktorá už Agile používa. Školenie potom povedú ľudia, ktorí z počutia nevedia, čo je agilné. Ale to, bohužiaľ, nie je vždy možné. Najčastejšie je do toho zapojený špecialista tretej strany, ktorý vie, čo je Agile. Implementácia tohto prístupu sa vykonáva pod jeho dohľadom. Je pravda, že služby takého špecialistu stoja peniaze. Ale ak získate skutočne informovaného človeka, potom sa všetky výdavky stonásobne vrátia. V modernom svete hrá efektivita zamestnancov dôležitú úlohu.
Čo je v budúcnosti?
Metodiky vývoja softvéru sa neustále vyvíjajú.Hľadajú nové spôsoby a príležitosti na zefektívnenie činností a práce. Povedať, čo nás v budúcnosti čaká, je dosť problematické. Flexibilný vývojový systém bude pravdepodobne integrovaný s automatizáciou výrobných procesov. Problémy bude možné napríklad riešiť aj vtedy, keď sa budete zdržiavať vo vzdialenosti od sídla spoločnosti. V mnohých ohľadoch budúcnosť určujú nové informačné technológie. Koniec koncov, keď vzniknú, musíte zvládnuť nové metódy práce s nimi. A v tomto prípade dochádza k vývoju, ktorý je uzavretý v cykle.
Na záver
Tým sa exkurzia do agilných metód končí.rozvoj. Malo by sa však pripomenúť, že teória je jedna vec a prax je niečo iné. Nové informačné technológie, ktoré sa neustále objavujú, predstavujú výzvu pre veľkú komunitu vývojárov. Ako môžete zefektívniť svoj tím? Každý si nájde odpoveď na túto otázku sám. Tu uvedené informácie môžu byť použité na tvarovanie chrbtice. V praxi však musíte pracovať s existujúcim modelom a uviesť stav vecí do stavu súladu s existujúcimi výzvami. Potom bude tím schopný efektívne plniť ciele, ktoré mu boli stanovené.