Vývojářské nástroje potřebují týmovou spolupráci

Programátory si řada lidí stále představuje jako značně asociální tvory, kteří někde v ústraní dlouhé měsíce sepisují nesrozumitelné algoritmy. Realita je jiná – softwarový vývoj zahrnuje řadu značně specializovaných disciplín, a tedy i projektových rolí, kdy všichni musejí společně táhnout za jeden provaz a přitom si navzájem rozumět.

Vývojářské nástroje potřebují týmovou spolupráci


Trendu vzájemné kooperace se přizpůsobily i nástroje pro podporu vývoje aplikací. A mají nemalé ambice – zrychlit dodávky softwaru, zlepšit kvalitu, pružněji reagovat na změny. Čím toho chtějí dosáhnout?

Na začátku byl kód…
Hlavním nástrojem vývojáře je odedávna IDE (Integrated Development Environment) – prostředí, které mu umožňuje psát kód a generovat z něj spustitelnou aplikaci. Později vznikly specializované nástroje i pro ostatní úlohy jako UML modelování, testování apod.

Někdy koncem 90. let tak bylo snem většiny vývojářů mít na své stanici nejlepší IDE pro Javu, nejlepší IDE pro C++, nejlepší nástroj pro modelování atd. –, než zjistili, že donutit všechny tyto nástroje mezi sebou alespoň trochu spolupracovat je disciplínou samo o sobě.

Logickým krokem proto bylo přestat šít vývojářské nástroje na míru úlohám, ale raději lidem, kteří na nich pracují. Vznikly tedy platformy jako Eclipse, které umějí nabídnout více funkcí na jednom místě – vývojář si tak mohl více či méně pohodlně vygenerovat z připraveného UML modelu základní strukturu kódu, hotový kód pak uložit do verzovacího systému a výslednou aplikaci si ještě otestovat. Přitom mu stačilo znát ovládání jednoho nástroje.

Od ALM k CALM
Specializace jednotlivých profesí (a tedy i nástrojů) v softwarovém vývoji vedla k tomu, že bylo nutné je nějak propojit, umožnit výměnu informací mezi jednotlivými členy týmu a hlavně začít celý proces vývoje pořádně řídit.

Tak vznikly platformy ALM (Application Lifecycle Management), které obvykle představují jedno centrální úložiště, workflow engine a sadu nástrojů pro konkrétní projektové role. Jejich pojetí se mezi výrobci značně liší – někdy je jejich středobodem řízení kvality, jindy správa požadavků nebo konfigurační management.

Účel je nicméně vždy stejný – zajistit kontrolu nad celým procesem vývoje softwaru, ideálně od sběru požadavků na nový systém až po jeho (případné) vyřazení z provozu.

Dnešní svět zbožňuje komunikaci a sdílení informací, čím rychlejší, tím lepší. A ve vývoji softwaru tomu není jinak, proto je posledním trendem snaha trochu rozbít dosavadní rigidní procesy, podpořit vzájemnou komunikací spolupráci jednotlivých členů týmu, a celou tuto tak náročnou disciplínu tím více „polidštit“.

Před zkratku ALM tak přibylo písmeno C (od anglického collaborative). Od něj odvozené české přídavné jméno je kvůli naší historii poněkud zprofanované, takže se raději trochu kostrbatě opisuje jako „spolupráce v rámci týmu“. O co v podání softwarových nástrojů jde?



Úvodní foto: © S.John - Fotolia.com



Vyšlo v Computerworldu 18/2012
Celý článek i toto vydání lze zkoupit elektronicky








Komentáře