statnice:vyvoj:otazka25
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revision | |||
| statnice:vyvoj:otazka25 [18.05.2008 11:47] – xvalo07 | statnice:vyvoj:otazka25 [30.05.2008 21:19] (current) – formátování xvalo07 | ||
|---|---|---|---|
| Line 11: | Line 11: | ||
| ===== Teorie ===== | ===== Teorie ===== | ||
| - | Agilní | + | Tradiční rigorózní |
| - | Agilní metodiky | + | Agilní metodiky |
| - | Na začátku 21. století | + | Situace v Česku je ale poněkud jiná. Agilním metodikám jsou věnovány přípěvky na odborných konferencích a také odborná |
| - | Dosahují toho především upřednostňováním jednotlivců | + | Změny technologií a ekonomického prostředí, ke kterým v posledních letech dochází, vyvolávají potřebu rychlého zavedení IS/ |
| - | Agilní metodiky | + | ===== Manifest ===== |
| - | Další metodikou je SCRUM, česky mlýn v ragby. V textu je opět vysvětlena charakteristika metodiky, zvláště pak odlišnosti od XP. Poté se autor věnuje Lean Developementu, | + | Agilní metodiky |
| - | Čtvrtou metodikou je Feature Driven Development, | + | Tento [[http:// |
| - | Příklady: | + | > Odhalili jsme lepší způsob vývoje softwaru, sami jej používáme a chceme pomoci i ostatním, aby jej používali. Dáváme přednost: |
| + | > - individualitám a komunikaci před procesy a nástroji, | ||
| + | > - provozuschopnému softwaru před obsažnou dokumentací, | ||
| + | > - spolupráci se zákazníkem před sjednáváním kontraktu a | ||
| + | > - reakci na změnu před plněním plánu. | ||
| - | Extrémní programování | + | Mezi základní |
| - | + | ||
| - | Přitom různé metodiky kladou na tyto rysy různý důraz. Například, | + | |
| - | + | ||
| - | Scrum | + | |
| - | + | ||
| - | DSDM | + | |
| - | + | ||
| - | Crystal Clear | + | |
| - | + | ||
| - | Feature Driven Development | + | |
| - | + | ||
| - | http:// | + | |
| - | + | ||
| - | Mezi tyto rysy patří: | + | |
| - důraz na průběžnou komunikaci mezi vývojovým týmem a zákazníkem | - důraz na průběžnou komunikaci mezi vývojovým týmem a zákazníkem | ||
| - důraz na tvorbu kvalitního kódu a funkcí, které mají přímou obchodní hodnotu pro zákazníka | - důraz na tvorbu kvalitního kódu a funkcí, které mají přímou obchodní hodnotu pro zákazníka | ||
| Line 48: | Line 38: | ||
| - důraz na výslednou hodnotu pro zákazníka před dokumenty a papírováním | - důraz na výslednou hodnotu pro zákazníka před dokumenty a papírováním | ||
| - | Buchalcevová Alena | + | ===== Metodiky ===== |
| + | Pod hlavičku agilních metodik můžeme zařadit následující metodiky a přístupy: | ||
| + | ==== Extrémní programování ==== | ||
| + | [[wp> | ||
| - | Tradiční rigorózní | + | Přitom různé |
| + | ==== Scrum ==== | ||
| - | Změny technologií a ekonomického prostředí, | + | [[wp> |
| + | ==== DSDM ==== | ||
| - | přístupy: | + | [[wp> |
| - | * Dynamic Systems Development Method (DSDM), | + | ==== Crystal metodiky |
| - | * Adaptive Software Development ( ASD), | + | |
| - | * Feature–Driven Development (FDD), | + | |
| - | * Extrémní programování (Extreme Programming, | + | |
| - | * Lean Development, | + | |
| - | * Scrum , | + | |
| - | * Crystal metodiky, | + | |
| - | * Agilní modelování (Agile Modeling). | + | |
| - | Agilní metodiky se v poslední době stále používají na projektech v zahraničí. Nejde jen o plné nasazení určité agilní metodiky, ale také o kombinace jednotlivých agilních metodik a nebo aplikaci agilních přístupů v rámci tradičních metodik. Na základě oficiálních „veřejných“ metodik vznikají individuální varianty. | + | ==== Feature Driven Development ==== |
| - | Situace v Česku je ale poněkud jiná. Agilním metodikám jsou věnovány přípěvky na odborných konferencích a také odborná česká literatura se snaží této oblasti věnovat viz například | + | [[wp> |
| - | Agilní metodiky | + | ==== Adaptive Software Development ( ASD) ==== |
| - | Agilní metodiky jsou samotnými autory označovány jako metodiky, které umožňují vytvořit řešení velmi rychle a optimálně a toto řešení dovolují pružně přizpůsobovat. Jedná se o několik metodik, z nich nejpopulárnější je takzvané extrémní programování (XP). Agilní přístup (AP) byl s velkým nadšením přijat v komunitě programátorů pracujících s OOP. Představitelé těchto přístupů z celého světa v roce 2001 vydali společný dokument „Agile Manifesto“ a vytvořili alianci pro „agilní vývoj softwaru“. [AP 2001, Beck 2003, Beck 2002] | + | ==== Lean Development ==== |
| - | Tento manifest deklaruje následující priority | + | ==== Agilní modelování |
| - | + | ||
| - | Odhalili jsme lepší způsob vývoje softwaru, sami jej používáme a chceme pomoci i ostatním, aby jej používali. Dáváme přednost: | + | |
| - | * individualitám a komunikaci před procesy a nástroji, | + | |
| - | * provozuschopnému softwaru před obsažnou dokumentací, | + | |
| - | * spolupráci se zákazníkem před sjednáváním kontraktu a | + | |
| - | * reakci na změnu před plněním plánu. | + | |
| - | + | ||
| - | Přestože doposud uvedená informace o agilním přístupu vypadá krajně podezřele, tak agilní přístup má v praxi dobré výsledky, což můžeme potvrdit i my1. Autoři agilních metodik jsou většinou pro věc nadšení, ale také velmi vzdělaní lidé. Někteří z nich odborně publikují i v oblasti formálních technik a jiných metod řízení projektů, což dokladuji například i citace Amblera a Becka v tomto textu. | + | |
| + | ===== Přednosti agilních metodik ===== | ||
| Agilní přístup má velké přednosti v malých týmech, které mohou pravidelně komunikovat se zákazníkem/ | Agilní přístup má velké přednosti v malých týmech, které mohou pravidelně komunikovat se zákazníkem/ | ||
| * technickou podporu týmu (vývojové prostředí, | * technickou podporu týmu (vývojové prostředí, | ||
| * koordinovaný a průběžný kontakt se zadavatelem/ | * koordinovaný a průběžný kontakt se zadavatelem/ | ||
| - | Agilní přístupy nelze použít u velmi velkých projektů, kde se naráží nejvíce na nedostatek průběžného kontaktu se zadavateli a na potřebu projekt plánovat. | + | Autoři agilních metodik jsou většinou pro věc nadšení, ale také velmi vzdělaní lidé. Někteří z nich odborně publikují i v oblasti formálních technik a jiných metod řízení projektů, což dokladuji například i citace Amblera a Becka v tomto textu. |
| - | + | ===== Kritika ===== | |
| - | Podrobný popis agilních metodik s důrazem na extrémní programování je obsahem samostatné kapitoly sekce tohoto textu. | + | Agilní přístupy nelze použít u velmi velkých projektů, kde se naráží nejvíce na nedostatek průběžného kontaktu se zadavateli a na potřebu projekt plánovat. |
| - | Příčina sporu | + | |
| Příčina vzniku agilních metodik je samotnými autory popisována jako selhání rigorózních metodik. Příčinu jejich selhání vysvětlují v nepotřebné dokumentaci, | Příčina vzniku agilních metodik je samotnými autory popisována jako selhání rigorózních metodik. Příčinu jejich selhání vysvětlují v nepotřebné dokumentaci, | ||
| Line 102: | Line 82: | ||
| Další problém spočívá ve schopnosti rigorózních metodik správně, účinně a rychle zachytit, analyzovat a zobrazit zadání od uživatelů. K modelování se dnes téměř výhradně používá UML. V kapitole 4.2.2 byla diskutována jeho nedostatečná podpora úvodních fází modelování. AP je totiž také odpovědí na to, že UML nepodporuje dobře úvodní analýzu. Proto AP radí raději žádnou analýzu zadání nedělat a místo toho řešit projekt po částech a pravidelně spolupracovat s uživatelem. Bohužel vinou nedostatků rigorózních metodik je dnes AP prakticky úspěšné i v oblastech, kde by uživatelé byli schopni a dokonce by preferovali na začátku projektu formulovat požadavky – nebo jejich podstatnou část. Ale protože je v UML obtížné je srozumitelně modelovat, tak se raději nemodeluje vůbec a přistupuje se k AP, přičemž uživatelé musí průběžně komunikovat během vývoje. Toto je problém větších projektů, například specifických aplikací pro business, systémů pro řízení technologií (v telekomunikačním průmyslu nebo distribuce energií), atd. Ve všech těchto oblastech je třeba projekty plánovat a zadání je z podstatné části známé předem. | Další problém spočívá ve schopnosti rigorózních metodik správně, účinně a rychle zachytit, analyzovat a zobrazit zadání od uživatelů. K modelování se dnes téměř výhradně používá UML. V kapitole 4.2.2 byla diskutována jeho nedostatečná podpora úvodních fází modelování. AP je totiž také odpovědí na to, že UML nepodporuje dobře úvodní analýzu. Proto AP radí raději žádnou analýzu zadání nedělat a místo toho řešit projekt po částech a pravidelně spolupracovat s uživatelem. Bohužel vinou nedostatků rigorózních metodik je dnes AP prakticky úspěšné i v oblastech, kde by uživatelé byli schopni a dokonce by preferovali na začátku projektu formulovat požadavky – nebo jejich podstatnou část. Ale protože je v UML obtížné je srozumitelně modelovat, tak se raději nemodeluje vůbec a přistupuje se k AP, přičemž uživatelé musí průběžně komunikovat během vývoje. Toto je problém větších projektů, například specifických aplikací pro business, systémů pro řízení technologií (v telekomunikačním průmyslu nebo distribuce energií), atd. Ve všech těchto oblastech je třeba projekty plánovat a zadání je z podstatné části známé předem. | ||
| + | |||
| + | ========================================================= | ||
| + | |||
| + | Podrobný popis agilních metodik s důrazem na extrémní programování je obsahem samostatné kapitoly sekce tohoto textu. | ||
| + | Příčina sporu | ||
| + | |||
| + | |||
| + | |||
| + | ======================================== | ||
| + | |||
| + | Agilní metodiky vývoje se začaly objevovat na konci devadesátých let minulého století v mnoha rozličných formách jako reakce na to, že většina softwarových projektů nekončila včas, v rámci rozpočtu, případně nedodala zákazníkovi to, co očekával. To bylo způsobeno mnoha faktory a každá metodika se je snažila vyřešit jinak. | ||
| + | |||
| + | Agilní metodiky - novinka pro třetí tisíciletí | ||
| + | |||
| + | Na začátku 21. století se objevil nový fenomén na poli metodik vývoje softwaru – agilní metodiky. Za výchozí dokument těchto metodik můžeme považovat “Manifest pro agilní softwarový vývoj” od Kenta Becka či Alistaira Cockburna. Podle nich můžeme agilní metodiky definovat jako metodiky snažící se o lepší vývoj softwaru. | ||
| + | |||
| + | Dosahují toho především upřednostňováním jednotlivců a komunikace v týmu místo procesů a nástrojů. Dávají přednost funkčnímu softwaru před komplexními specifikacemi. Preferují spolupráci se zákazníky před dlouhými dohady nad smlouvami a upřednostňují rychlou odezvu na změny před slepým plněním plánů. Agilní metodiky považují stávající metodiky jako např. Unified Process za příliš “těžkotonážní”. Naproti tomu samy sebe označují jako “lehkotonážní”. Uvedená terminologie je založena zejména na skutečnosti, | ||
| + | |||
| + | Agilní metodiky si kladou za cíl “polidštit” vývoj softwaru. Chtějí se více soustředit na dosažení primárního cíle a méně se zabývat formalismem. Mezi agilní metodiky SCRUM, Crystal Light či extrémní programování (XP). Popularita agilních metodik, zejména extrémního programování, | ||
| + | Další metodikou je SCRUM, česky mlýn v ragby. V textu je opět vysvětlena charakteristika metodiky, zvláště pak odlišnosti od XP. Poté se autor věnuje Lean Developementu, | ||
| + | |||
| + | Čtvrtou metodikou je Feature Driven Development, | ||
| + | |||
| ===== Praxe ===== | ===== Praxe ===== | ||
| FIXME | FIXME | ||
statnice/vyvoj/otazka25.1211104034.txt.gz · Last modified: 18.05.2008 00:00 (external edit)
