Metodiky pro efektivní vývoj software (agilní programování)



Podobné dokumenty
ÚVOD DO SOFTWAROVÉHO INŽENÝRSTVÍ

Návrh softwarových systémů - úvod, motivace

AGILNÍ METODIKY VÝVOJE SOFTWARE

Návrh softwarových systém. Návrh softwarových systémů

Řízení reálných projektů, agilní metodiky

Agile Software Development

Smysl metodiky IS/IT. Koncentrovaná zkušenost Checklist na nic nezapomeneme

AGILNÍ METODIKY, JAK DÁL?

Výrobní systém Škoda. áši. Průmyslové inženýrství VI Vedoucí. Projekt IQ auto. Innovation - Qualification of proffessional Preparation

Zuzana Šochová MFF Modelování a realizace softwarových projektů

Metodika analýzy. Příloha č. 1

2. Začlenění HCI do životního cyklu software

Klasické metodiky softwarového inženýrství I N G M A R T I N M O L H A N E C, C S C. Y 1 3 A N W

1 Úvod 1.1 Vlastnosti programového vybavení (SW)

Vývoj informačních systémů. Přehled témat a úkolů

TREND POPIS ODPOVĚDNOSTI PRACOVNÍKA MANAŽER VÝVOJE

X36SIN: Softwarové inženýrství. Životní cyklus a plánování

Vývoj informačních systémů. Obecně o IS

SOFTWAROVÉ INŽENÝRSTVÍ Řízení IT projektů

POČÍTAČE A PROGRAMOVÁNÍ

Téma dizertační práce - Strategie ŠKODA AUTO pro čínský trh

Kvalita SW produktů. Jiří Sochor, Jaroslav Ráček 1

Vývoj informačních systémů. Přehled témat a úkolů

4IT445 - AGILNÍ VÝVOJ WEBOVÝCH APLIKACÍ AGILNÍ METODIKY VÝVOJE SW ING. JAN ČERNÝ

Ročníkový projekt. Jaroslav Žáček

SOFTWAROVÉ INŽENÝRSTVÍ Řízení IT projektů

Obsah. Zpracoval:

Vývoj informačních systémů. Jak vyvíjet v týmu

XINF1. Jaroslav Žáček

Agilní metodiky vývoje softwaru

Vývoj IS. Vladimíra Zádová, KIN, EF TUL- ISN3

Proces vývoje HRIS Vema (Human Resources Information System) Jaroslav Šmarda

KIV/ASWI 2007/2008 Pokročilé softwarové inženýrství. Cíle předmětu Organizační informace Opakování

Softwarové inženýrství 01. doc. Ing. František Huňka, CSc.

Informační systémy. Jaroslav Žáček

POŘÍZENÍ A IMPLEMENTACE INFORMAČNÍCH SYSTÉMŮ

Jan Hřídel Regional Sales Manager - Public Administration

Korporátní systém řízení ÚSC přístup v Liberci. Ing. Jaroslav Bureš

Umí HR držet krok s byznysem (zkušenosti z agilního řízení)

Normy kvality softwaru a jejich podpora v metodikách budování informačních systémů

CASE nástroje. Jaroslav Žáček

Jednotný NIS Prezentace k zahájení projektu pro Radu kraje Vysočina. Projektový manažer - Ing. Ivan Sokolov, Ph.D.

Vývoj řízený testy Test Driven Development

TÉMATICKÝ OKRUH Softwarové inženýrství

Novinky v UML 2.5 a agilní modelování

3. Očekávání a efektivnost aplikací

Infor APS (Scheduling) Tomáš Hanáček

Agile. nejžádanější způsob vývoje software. Tomáš Tureček. Business consultant, Lean&Agile coach Tieto

Specializace Návrhář software na základě analýzy vytváří návrh softwarových aplikací ve formě schémat a diagramů.

Agilní metodiky Agilní Jan Smolík

Seznámení s přípravou platformy pro zajištění služeb dodávaní dokumentů včetně MVS: ZÍSKEJ

Strojírenský průmysl. REFERENCE Červenec 2017

Softwarový proces. Bohumír Zoubek, Tomáš Krátký

Informační systémy. Jaroslav Žáček

2 Životní cyklus programového díla

Metodika SCRUM. pro malé IT projekty

PŘÍLOHA C Požadavky na Dokumentaci

CobiT. Control Objectives for Information and related Technology. Teplá u Mariánských Lázní, 6. října 2004

InternetovéTechnologie

Úvod do Softwarového inženýrství, trendy IS/ IT. Jaroslav Žáček

Srovnávací analýza metodik vývoje software

Technická specifikace předmětu plnění:

Analýza a Návrh. Analýza

BI-TIS Případová studie

Národní příručka Systém řízení bezpečnosti a ochrany zdraví při práci

METODIKA FEATURE-DRIVEN DEVELOPMENT NEOPOUŠTÍ MODELOVÁNÍ A PROCESY, A PŘESTO PŘINÁŠÍ VÝHODY AGILNÍHO VÝVOJE ing. Alena Buchalcevová, Ph.

ČÍM MOHOU PŘISPĚT NEJZÁMĚJŠÍ AGILNÍ METODIKY KE ZLEPŠENÍ VÝVOJOVÉHO PROCESU?

Testování software. Jaroslav Žáček

RUP - Motivace, principy. Jaroslav Žáček

Marketingové řízení podniku

RUP - MOTIVACE, PRINCIPY JAROSLAV ŽÁČEK

End-to-end testování. 26. dubna Bořek Zelinka

Expresní analýza PLM. jako efektivní start implementace PLM.

SPECIFIKA CERTIFIKACE PODLE ČSN EN ISO 9001:2001 V ORGANIZACÍCH, KTERÉ SE ZABÝVAJÍ VÝVOJEM SOFTWARE

WORKFLOW. Procesní přístup. Základ perspektivního úspěšného podnikového řízení. Funkčnířízení založené na dělbě práce

SOFTWAROVÉ INŽENÝRSTVÍ 1

5.1.7 Informatika a výpočetní technika. Časové, obsahové a organizační vymezení. ročník hodinová dotace

Abychom definovali dimenze kompetencí, položili jsme si otázku: S kým/čím vstupujete do vzájemné interakce?

EMBARCADERO TECHNOLOGIES. Jak na BYOD chytře? Možnosti zapojování různých mobilních zařízení do podnikových informačních systémů.

Úvod do softwarového inženýrství a týmového vývoje

PROBLÉMY A SPECIFIKA VÝVOJE SOFTWARE

Příloha č. 7 zadávací dokumentace popis vzdělávacích aktivit část VZ č. 2 Název projektu: FINIDR AKADEMIE - vzdělávání zaměstnanců

CASE. Jaroslav Žáček

Expediční systém Trilex

Seznámení s přípravou platformy pro zajištění služeb dodávaní dokumentů včetně MVS: ZÍSKEJ

Ročníkový projekt. Jaroslav Žáček

Jakou metodiku použít pro

Seznámení s přípravou platformy pro zajištění služeb dodávaní dokumentů včetně MVS: ZÍSKEJ - I

Úvod do problematiky vývoje Vývoj informačních systémů

ÚVOD DO PROBLEMATIKY PROJEKTŮ, KATEGORIE

Komunikační strategie a plán rozvoje portálu portal.gov.cz

SWOT ANALÝZA. Příloha č. 2, Pracovní list č. 1 SWOT analýza SWOT analýza - obsah. SWOT analýza. 1. Základní informace a princip metody

Agilní metodiky a techniky. analýza a vývoj IS

Efektivnost informačních systémů. strategické řízení taktické řízení. operativní řízení a provozu

Systém managementu jakosti ISO 9001

01 Teoretické disciplíny systémové vědy

Stav používání agilních metodik v ČR

Manažerská informatika - projektové řízení

Stav řešení Enterprise Architektury na Moravskoslezském kraji

WS PŘÍKLADY DOBRÉ PRAXE

Transkript:

Metodiky pro efektivní vývoj software (agilní programování)

Netradiční metody programování Cílem těchto metodik je vyvinout kvalitní a dobře fungující software rychle a levně. Umožňují flexibilní reakci na specifická přání zákazníka na funkcionalitu software při zachování minimálních nákladů na vývoj a následnou údržbu. Jednoznačná podpora týmové práce napříč všemi metodikami. Zvýšení efektivity vývoje software se zachováním jeho dlouhodobé funkčnosti spolu se snadností obsluhy a údržby. Hlavním cílem je dodat zákazníkovi co nejdříve produkt jež splňuje všechny požadavky, je kvalitní a lze u něj i nadále provádět podporu. Podstatné je dodat produkt spíše než konkurence.

Rozdělení metodik vývoje software Klasické přístupy Vodopádový model životního cyklu Spirálový model životního cyklu Metodika Rational Unified Process Metodika Unified Software Development Process Agilní metodiky Extrémní programování Metodika SCRUM Development Process Lean Development Feature Driven Development Test Driven Development Metodika Crystal Adaptive Software Development Dynamic Software Development Method Vývoj internetových aplikací Metodika Jennifer Fleming WebWAVE Development Process WebWAVE Ongoing Development Process

Metodiky programování Dřívější vývoj softwaru bez metodik, tzv. garážový software. V současné době vývoj softwaru obsahuje Týmovou spolupráci Podpora rychlosti vývoje Požadavek na podporu a údržbu Z důvodu podpory dílčích bodů zejména s ohledem na týmovou spolupráci vznikají postupy tvorby softwaru. Není třeba nové přístupy vymýšlet, stačí použít stávající a aplikovat je. Tento přístup umožnuje výtvářet modulární software a to nepoměrně rychleji než dříve. Taktéž to ovlivní skladbu vývojového týmu a přístup lídrů týmu.

Softwarové inženýrství Agilní jakožto i další přístupy vývoje software vychází z definice softwarového inženýrství Existuje povícero definic. Uvedme si definici Fritz Bauer jež zazněla v roce 1968 na konferenci NATO: Softwarové inženýrství je zavedení a používání řádných inženýrských principů tak, abychom dosáhli ekonomické tvorby softwaru, který je spolehlivý a pracuje účinně na dostupných výpočetních prostředcích. Definice obecná, avšak nadčasově platná. Snaží se nejen zavádět inženýrské přístupy, ale i nabádat k jejich dodržování.

Podmínky úspěšné a ekonomické tvorby software Ovlivňující faktory Vhodně sestavený vývojový tým (role, týmová práce, specializace a zástupitelnost členů týmu) Správná volba vývojového nástroje a operačního systému (povětšinou dána již zadáním) Počáteční rozvaha vyvinout/koupit (možnost integrace volně dostupných modulů ). Podrobná specifikace zadání od zadavatele (úspora dodatečných úprav). Většinou podrobně zadáno formou poptávkového dokumentu RFP (Reguest For Proposal) popřípadě formát RFI (Request For Information) pro informační souhrn. Rozvaha o budoucí údržbě a rozšiřování (možnost integrace rozšiřujících modulů, úspora nákladů, času, ). Výsledná aplikace by měla býti spolehlivá a účinně pracovat na dostupných technologických zařízeních, tedy efektivně využívat dosupné zdroje (hardwarové, softwarové, personální a jiné) a ve výsledku být šetrná k životnímu prostředí.

Předcházení problémům při vývoji software Dobrá komunikace na všech úrovních (tým, zákazník). Správný přístup vývoje (podpora CRM). Adekvátní odhady (čas, cena, rozsah, efektivita, návratnost, ). Dobré plánování (časové rozvrhnutí jednotlivých vývojových etap/hurá akce). Zvýšení produktivity práce (dělba práce dle specializací). Nepodceňování hrozeb a rizik (odhalování chyb již po čas vývoje snižuje celkové náklady). Perfektní zvládnutí nových technologií (maximální využití všech možností a přístupů, při vývojovém nasazení, za účelem zjednodušit si práci).

Metodiky, životní cykly vývoje softwaru Specifikace pojmů Metodologie je nejobecnějším popisným pojmem a ve své podstatě se jedná o nauku o metodách. Jinak řečeno metodologie je vědní disciplína, která definuje, popisuje a rozebírá jednotlivé metodiky. Metodika je popis komplexních postupů a navrhů vývoje, v místní souvislosti při vývoji softwarové aplikace. Mezi jednotlivé metodiky patří např. vodopádový model, či model napiš a oprav. Pod metodikou se skrývají všechny etapy řešení, avšak popis je brán s nadhledem (proc?, kdo?, kdy?, co?) bez detailnější specifikace. Metoda je označení konkrétního postupu vedoucího k vyřešení dílčího problému. Jedná se o specifikaci jednotlivých kroků.

Životní cykly projektu prvotní přístup Metodiky vývoje aplikací procházely vývojem a vždy odrážely aktuelní požadavky na software kladený v dané době. Cílem metodik bylo odstranit nedostatky vývoje aplikací, které se v daném časovém údobí projevovaly. Dnešní agilní metodiky zaměřeny na vývoj produktu co nejrychleji, v co nejkratším čase. Model napiš a oprav Rychlé napsání aplikace (jakýmkoliv způsobem) a předání do provozu Vhodné jen u jednoduchých aplikací V dnešní době již nepoužitelné

Životní cykly projektu prvotní přístup Striktní posloupnost fází Dlouhodobé využití modelu napiš a oprav již nebylo možné, proto v roce 1957 byl definován model na striktním dodržování vývojových fází. Nedostatkem tohoto modelu je absence zpětné vazby mezi jednotlivými stupni vývoje. Absence revizí, zhodnocení rizik, Zpětná vazba následovala až po dokončení vývojové fáze a to formou revalidace.

Životní cykly projektu prvotní přístup Vodopádový model Kladen důraz na vývoj softwaru Snaha o vytvoření zpětné vazby, po skončení každé fáze revidování postupu Dlouhá doba vývoje Až po dokončení fin. produkt

Životní cykly projektu prvotní přístup Spirálový model Mezník ve vývoji aplikací, v některých systémech převládající do dnešních dob. Překonává nedostatky vodopádového modelu jakými jsou sice komplexní, ale dlouhý vývoj aplikace. Zavádí iterativní přístup a opakovanou, důslednou analýzu rizik. Vývoj aplikace probíhá v opakovaných krocích, tzv. iteracích, kdy se zpřesnuje zákaznická specifikace. Na rozdíl od vodopádového přístupu dochází k přeskládání některých etap vývoje dle vhodnosti. Provádí se vývoj aplikace, dle hrubé specifikace a následně se progres konzultuje přímo se zákazníkem.

Specifikace softwarových produktů Produkt vývojářského snažení můžeme specifikovat na základě: Popisných metrik Předepsané funkcionality Kvalitu softwaru je vždy možné měřit jen ve vztahu k očekáváním, která na něj klade jeho uživatel. Program je softwarovým výrobkem, programovaným obvykle na zakázku, nebo splnující konkrétní požadovanou funkci. Softwarový produkt je vyšší formou programu. V průběhu vývoje byly na něj aplikovány softwarově-inženýrské techniky, tedy na počátku projektu byla provedena analýza projektu a na konci vývoje testování funkčnosti. Produkt je je dodáván s dokumentací, měl by obsahovat nápovědu a uživatelskou podporu. Programový systém je nejvyšší formou softwaru. Jedná se o navzájem propojené softwarové produkty, jež se v sobě navzájem integrují. Navíc umožnuje komunikaci s okolím (podpora konverze dat), komunikačních protokolů.

Agilní metodiky Rychlý, aktivní, svižný vývoj za účelem co nejrychleji dosáhnout stanoveného cíle. Rychlost vývoje je nejpalčivější problém při uvádění výsledného produktu na trh. Nejčastější nasazení při vytváření produktů na bázi webových technologií. V dnešní době píše aplikace kdekdo, při výužití programovacích nástrojů a technik typu Rapid Application Development je to velmi snadné. Zákazník chce aplikaci a nechce na ni čekat déle než je nutné. Tvorba nových přístupů a principů, jenž tyto body v sobě integrují. Odladěné a neprůstřelné aplikace x rychle vyvinutá a funkční aplikace. Důraz kladen i na náklady vývoje. Mnohdy zákazník v počátku ani neví, co vše od aplikace očekává, agilní přístup zapojuje zákazníka do vývoje. Podpora malých vývojových týmů.

Spolupráce zákazníků a vývojářů Rigorózní metodiky standardizují lidi v organizaci snaží se vykázat lidi do role zaměnitelné součástky čím větší projekty se realizují, tím více specialistů je třeba zapojit Agilní metodiky využívají individualit a silných stránek lidí požadují integraci znalostí, stálá interakce a kooperace, sdílení znalostí v týmu, týmové řešení problému.

Předpoklady agilního vývoje zákazník je součástí týmu a je k dispozici dle potřeby dokumentace a modely nehrají klíčovou roli při vývoji požadavky a prostředí se mění v průběhu vývoje přizpůsobování procesu vývoje vede k vyšší kvalitě produktu vývojáři mají zkušenosti potřebné k přizpůsobování procesů viditelnost procesů je jen při ukončení přírůstku hodnocení produktu je neformální cílem není znovupoužitelnost SW může být vyvíjen inkrementálně Tur, D. - France, R. - Rumpe, B.: Limitations of Agile Software Process

Omezení agilního vývoje omezená podpora pro distribuované prostředí vývoje týmy nejlépe v jedné místnosti, komunikace tváří v tvář omezená podpora subdodavatelů omezená podpora pro vytváření znovupoužitelných artefaktů omezená podpora pro vývoj ve velkém týmu omezená podpora pro vývoj kritických aplikací omezená podpora pro vývoj velkého komplexního SW - není architektura!! Tur, D. - France, R. - Rumpe, B.: Limitations of Agile Software Process

Agilní přístupy v řešení Při tradičním vývoji množina požadavků neměnná, tento přístup musel být změněn. Agilní přístup bere za neměnné čas a zdroje, v závislosti na tom se mění funkcionalita produktu.

Základní principy agilních metodik Iterativní a inkrementalní vývoj s velmi krátkými iteracemi (možnost průběžné dodávky řešení). Důraz na přímou a osobní komunikaci v týmu (osobní kontakt s vyříkáním si problémů při vývoji). Nepřetržité sepětí a komunikace se zadavatelem. Rigorózní, opakované, průběžné automatizované testování. Snaha o odstranění byrokracie s cílem dosáhnout co nejrychleji výsledný kód. Agilní přístup je vhodný zejména pro projekty s často se měnícím zadáním a uzpůsobováním aktuelní situaci.

Manifest agilního vývoje softwaru Pilířem agilních metodik vývoje softwaru je manifest z roku 2001 (The Agile Manifesto; www.agile-manifesto.org). Obsah manifestu: Přijmout a umožnit změnu je mnohem efektivnější, než pokoušet se ji zabránit. Je třeba být připraven reagovat na nepředvídatelné události, nebot zaručeně nastanou, tj. jedinou jistotou je změna. Na základě manifestu se dává přednost: Individualitám a komunikaci před procesy a nástroji Provozuschopnému softwaru před obsáhlými, objemnými dokumentacemi Spolupráci se zákazníkem před uzavíráním mnoha smluv Reakci na změnu před striktním plněním plánu

Jednotlivé dílčí prvky Užitná hodnota pro zákazníka (kontinuální dodávky softwaru s vyšší prioritou než dodávky dokumentace formou UML, ERD, ). Změny jsou výhodou (bezproblémová změna funkcionality i v pozdní části vývoje je konkurenční výhodou zadavatele). Časté dodávky (velmi krátké dodací cykly mezistavů vývoje). Zákazníci spolupracují s týmem. Motivace je klíčová (podpora vývojového týmu). Vzájemná konverzace (verbální komunikace v týmu přednostní před zprávami). Úspěch posuzován podle fungování. Udržitelný vývoj (sice netradiční vývoj, avšak nestaven na přesčasech). Perfektní návrh, perfektní řešení (není v souvislosti s neměnností). Zásadní je jednoduchost. Důvěra a komunikace vedoucí ke kreativitě. Zvyšování efektivity.

Agilní metodiky vývoje Adaptivní vývoj softaru (Adaptive Software Development) Vlastnostmi řízený vývoj (Feature-Driven Development) Extrémní programování (Extreme Programing) Lean Development SCRUM Development Process Crystal metodiky (Crystal Methodologies) Dynamic System Development Method (DSDM Consortium) Testy řízený vývoj (Test-Driven Development)

Extrémní programování Základními proměnnými i zde jsou: Náklady Čas Kvalita Šíře zadání Zvýšení interakce mezi proměnnými. Rapidně změnit celkové náklady na změnu projektu. Základní hodnoty přístupu: Komunikace. Jednoduchost. Zpětná vazba. Odvaha.

Extrémní programování Základní principy: Rychlá zpětná vazba. Předpoklad jednoduchosti. Přírustková změna. Vzužití změny. Kvalitní práce. Doplňkové principy: Výuka poznatků Malá počáteční investice Hraní na výhru Konkrétní experimenty Otevřená a úpřímná komunikace Přijetí zodpovědnosti Místní přizpůsobení Poctivé měření.

Extrémní programování Zpět k základům: Psaní zdrojového kódu. Testování. Poslouchání. Navrhování. Uprávy a dodávka. Další metody: 40hodinový týden Zákazník na pracovišti Standardy pro psaní zdrojového textu

Extrémní programování Životní cyklus ideálního projektu: Průzkum Plánování Iterace do uvolňění první verze Zprovozňování Údržba Smrt Lidské role: Programátor Zákazník Tester Stopař Kouč Konzultant Velký šéf

Zdroje Kadlec Václav: Agilní programování-metodiky efektivního vývoje softwaru. Computer Press. Brno. 2004. ISBN 80-251-0342-0. Andrew Hunt; David Thomas: Programátor pragmatik-jak se stát lepším programátorem a vytvářet kvalitní software. Computer Press. Brno. 2007, ISBN 978-80-251-1660-9. Beck Kent: Extrémní programování. Grada. Praha. 2002. ISBN 80-247- 0300-9. Extrémní programování [online]. 2004-2007 [cit. 2007-11-30]. Dostupný z WWW: <http://cs.wikipedia.org/wiki/extrémní_programování>.

Vývojové metodiky

Lean Development Agilní metodika programování. Nevznikla formalizací, ale na základě výrobních požadavků, podstatou je odstranit nadbytečné nevýrobní kroky. Původ v Japonsku, neefektivní a neflexibilní výroba automobilů. Podstatou je odstranění všeho zbytečného, co snižuje efektivitu a zvyšuje náklady. Vznikl Toyta production system, který je znám pod názvem Lean manufacturing.

Lean Development V roce 1980 definováno deset pravidel vedoucí k naplnění Lean manufactoring. Následně byly přizpůsobeny vývoji softwaru. Adaptace na agilní přístupy vývoje, tj. snížit náklady, časové nároky a snížit četnost chyb.

Klíčové pojmy Odstranit vše co je zbytečné. Minimalizovat zásoby (meziprodukty). Maximalizovat tok (zkrátit vývojový čas). Vývoj je tažen poptávkou (rozhodnutí v pozdní chvíli). Pracovníci mají pravomoci rozhodovat (rozhodování I na nejnižších úrovních). Hlavním cílem je uspokojovat požadavky zákazníků (a to nejen teď, ale i v budoucnu). Zavést zpětnou vazbu (a nebát se učiněných rozhodnutí). Odstranit lokální optimalizace (neustálé optimalizace stávajícího řešení nedávají smysl). Vybudovat partnerství s dodavateli (využívat subdodávek a předpřipravených komponent). Vybudovat kulturu pro možnost neustálého zlepšování.

Šest druhů plýtvání Navýroba (nesmyslné řešení). Čas ztracený čekáním (dynamické přidělování úkolů). Plýtvání související s transportem a přepravou (lepší rozdělení a automatizace procesů a to včetně zálohování). Plýtvání související se zpracováním (vedení musí mít přehled o rozdělení úkolů a jejich progresu). Plýtvání související s neefektivní prací (použití efektivních nástrojů vývoje s nutným povědomím o jejich dostupnosti). Plýtvání související s defekty ve výrobcích (minimalizace chyb, jež ne vždy lze odstranit).

Principy a nástroje Lean development Eliminace plýtvání (identifikace zdrojů, identifikace hodnoty). Rozvinout učení (ověření fungování experimentem). Rozhodovat co nejpozději (udržení otevřené mysli, rozhodování ve vhodnou chvíli). Rychlé a časté dodávky (meziprodukt, možnost rozhodování zákazníka). Pravomoci pracovníků (hierarchie, motivace lidí, rozdělení vedení, získávání zkušeností). Integrita (integrita softwaru, jednotlivých modulů, dbát na testování, zabývat se refaktorizací). Vidět celek (odstranění lokálních optimalizzací, vhodné a měřitelné smlouvy se zákazníky.

Vývoj pro web Tým, vývoj, vize Platformy, systémy, prohlížeče Uživatelské prostředí Zákazník Cíle webových prezentací

Metodika Jennifer Fleming Jennifer Fleming, webová návrhářka a vývojářka. Iterativní vývoj projektu, dodávání meziproduktů. Modelování, lineární přístup vývoje, adaptabilita na nové požadavky.

Základní fáze JF Shromáždění informací (konkurence, novinky, noví uživatelé). Stanovení strategie (identifikace problému, reálnost modelu, průzkum médií, rozpoutání diskuse, definice koncepce a rozsahu, utřídění obsahu, alternativy). Vytvoření prototypu (mapování pohybu po stránkách, vytvoření nadhledu designu, otestování prototypu, vytvoření finální architektury, načrtnutí obsahu produktu). Implementace (příprava a editace obsahu, dokončení GUI, vytvoření jádra aplikace, řešení problémů). Uvedení do chodu (testování a zjišťování kvality). Údržba, správa a rozšiřování (řízení obsahu, logy, kontrola odkazů, periodicita testování, restrukturalizace obsahu).

Jennifer Fleming Návrh a řešení webových projektů. Popis řešení. RUP. Jednoduchost vývoje.