Dokonalosti není dosaženo tehdy, když už není co přidat, ale tehdy, když už nemůžete nic odebrat.
Mnohokrát se tvrdilo, že je něco nemožné a dnes jde o samozřejmost.
Stále je co zlepšovat a kde se zdokonalovat.
Zdaleka ne vše lze spasit navyšováním výkonu hardware.
Lidé, jejich schopnosti a znalosti jsou tím nejcennější co máme. Každý člověk je jedinečná osobnost. Každý z nás je zastupitelný, ale nenahraditelný. Bez kvalitních vztahů mezi sebou bychom neexistovali.
Základem je jednoduchost.
Jsme lidé, kteří navrhují a vyrábí programy. Programy sice píšeme na počítačích, jsou vykonávány počítači, ale děláme je pro lidi. Pokud to lidé pracující s našimi programy snadno poznají, pak to mohou být dobré programy.
Detaily jsou důležité.
I složité věci lze rozebrat na jednoduché části.
Co je i po rozebrání složité je třeba rozebrat víc.
Čas věnovaný analýze potřeb zákazníka a návrhu systému se mnohonásobně vrací v lépe fungující aplikaci, méně nakládaném programování, snadnější údržbě a rozšiřování funkcí.
I v softwarovém inženýrství platí Paretovo pravidlo, tedy: na 80% kódu připadá 20% náročnosti a na zbývajících 20% kódu 80% náročnosti.
Automatické testování aplikace je důležité.
Obecné potřeby firmy, mohou pokrývat obecné programy. Specifické potřeby, specializované programy.
Manifest agilního programování
Priority agilního programování
- Lidé a jejich spolupráce před procesy a nástroji
- Reakce na změnu před dodržováním plánu
- Fungující software před obsáhlou dokumentací
- Spolupráce se zákazníkem před sjednáváním smluv
Principy agilního programování
- Nejvyšší prioritou je uspokojit zákazníka skrz rychlé a průběžné dodávání kvalitního software.
- Změnové požadavky jsou vítány, dokonce i v průběhu vývoje. Agilní procesy je zpracují tak, aby zákazníkovi přinášely konkurenční výhody.
- Dodávejte fungující software často, v intervalech týdnů až měsíců. Upřednostňujte kratší intervaly dodání.
- Lidé z businessu a vývojáři musí spolupracovat každý den během celého projektu.
- Pro práci na projektu vybírejte motivované jedince. Dejte jim prostředí a podporu, kterou potřebují, a důvěřujte jim, že práci dokončí.
- Nejúčinnější metoda sdílení informací vývojářskému týmu (i uvnitř tohoto týmu) je osobní setkání.
- Fungující software je hlavním měřítkem postupu vývoje.
- Agilní procesy podporují udržitelný vývoj. Sponzoři, vývojáři i uživatelé by měli být schopní dodržovat stálý výkon dokud je třeba.
- Průběžná pozornost věnovaná technické dokonalosti a dobrému návrhu posiluje agilní přístup.
- Základem je jednoduchost – umění co nejvíce práce vůbec nedělat.
- Nejlepší architektury, požadavky a návrhy vznikají v týmech, které se samy organizují.
- Tým v pravidelných intervalech vyhodnocuje svou práci a upravuje své postupy tak, aby byl co nejefektivnější.