Základním principem agilního vývoje softwaru je dodat kvalitní software, který uspokojí zákazníka. Agilní přístup se snaží o eliminaci vyčerpávající dokumentace (aby dokumentace nebyla cílem sama o sobě). Tento přístup přistupuje ke změnám otevřeněji a pružněji než tradiční přístupy ve vývoji softwaru.
Není však třeba zbytečně dehonestovat tradiční přístupy ve vývoji softwaru (například vodopádová metodika, iterativní a evoluční přístupy). Některé softwarové projekty tyto metodiky vyžadují a jsou pro ně vhodnější než agilní přístup.
Základem agilního přístupu je Agilní manifest, který stojí na těchto hodnotách:
Nástroje pro vývoj softwaru a procesy slouží pouze k tomu, aby pomohly jednotlivcům uskutečnit plánované interakce. Procesy nejsou tak důležité jako lidé a jejich interakce.
Dokumentace má sloužit pouze k usnadnění údržby a dalšího rozvoje softwaru. Ideální je tedy, když vývojář pravidelně dokumentuje svoji činnost (například v programovacím jazyku Java pomocí Javadoc). Neměli bychom však toto pravidlo zneužít jako výmluvu k zanedbání dokumentace.
Je dobré připravit standardní smlouvu mezi zákazníkem a dodavatelem. Nicméně není dobré tomu věnovat více času, než je nutné. V případě nespokojenosti mohou obě strany vytvářet překážky, které nikomu neprospějí. Proto není třeba upřednostňovat právní neprůstřelné smlouvy, kterým bychom věnovali veškerou energii. Platí zde, že ústní dohody jsou závazné a nemusí být formalizované.
Pomocí tradičních metodik může být téměř úplně zablokována možnost provádět změny. To se děje tím, že se nastaví (a schválí) zdánlivě nevinný byrokratický aparát, který předchází každé změně. To má za následek, že po několika opakováních nikdo nebude chtít provádět změny. Změny jsou však přirozenou součástí života i softwaru. Podle této metodiky preferujeme lidské přístupy ke změnám.
Marián Knězek