1 / 27

Feature-Driven Development (FDD)

Luk áš Šimon. Feature-Driven Development (FDD). FDD – Feature-Driven Development. Patrí do rodiny agilných metód (proces) vývoja softvéru spolu s metódami ako napríklad XP alebo Scrum. Prečo proces?. a čo je proces?. Čo je vlastne FDD. Súbor „best practices“

gagan
Download Presentation

Feature-Driven Development (FDD)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Lukáš Šimon Feature-Driven Development (FDD)

  2. FDD – Feature-Driven Development Patrí do rodiny agilných metód (proces) vývoja softvéru spolu s metódami ako napríklad XP alebo Scrum

  3. Prečo proces? a čo je proces?

  4. Čo je vlastne FDD Súbor „best practices“ Vložených do procesu (sformalizovaných) Filozofia?

  5. Obsah Porovnanie FDD Úvod do FDD SPEM a nástroj EPFC Ako namodelovať metódu vývoja softvéru v EPFC Ukážka modelu FDD v EPFC FDD a Softec

  6. Porovnanie FDD • Metódy vývoja softvéru sa rozdeľujú na: • rozsiahle (heavy-weight): RUP, .. • agilné (agile): FDD, XP, Scrum, .. • Porovnanie FDD: • FDD je agilná metóda a na rozdiel od XP sa dá použiť aj pre veľké projekty do 500 ľudí • FDD nie je taká zložitá a byrokratická ako RUP (RUP sa oplatí implementovať až pri tímoch nad tisíc ľudí) • FDD je navrhnutá pre objektovo orientovanú paradigmu

  7. Vznik FDD Pri vývoji systému pre Singapurskú banku Java Modeling In Color With UML (Peter Coad, Jeff De Luca)

  8. Základná definícia Patrí do rodiny agilných metód V projektoch až do500 ľudí Vyvíjaný systém rozdeľuje na veľa nízkogranulárnych funkcií, ktoré sú pridelené do balíkov funkcií Vývoj v krátkych iteráciach

  9. Základná definícia Definuje 6 kľúčových rolí v projekte Definuje 2 fázy: inicializácia (start-up) a budovanie (construction). Definuje 5 procesov, ku každému procesu definuje aktivity Definuje vývoj softvéru vo veľa iteráciách v malých skupinkách (3 až 6 vývojárov) pod vedením skúseného programátora

  10. Feature - funkcia Nízko-granulárna funkcionalita systému vyjadrená v reči zákazníka napríklad: vypočítaj celkovú cenu tovaru Implementácia každej funkcie má byť kratšia ako dva týždne, väčšinou sa má jednať iba o niekoľko dní.

  11. Stavy a míľniky funkcie Každej funkcii definuje tri stavy: „nezačatá“, „rozpracovaná“, „dokončená“ Definuje 6 míľnikov pre funkciu:

  12. Pohľad na aktuálny stav systému Definuje sumárny report progresu „progress summary report“ - aktuálny stav systému

  13. Role Projektový manažér Hlavný architekt Manažér vývoja Hlavní programátori Vlastník triedy Doménoví experti Tester a dokumentarista

  14. FDD procesy

  15. Proces 1 - Vyviň úplný model (Develop an Overall Model)

  16. Proces 2 - Vytvor zoznam funkcií (Build a Features List)

  17. Proces 3 - Plánuj podľa funkcie (Plan By Feature)

  18. Proces 4 - Navrhni podľa funkcie (Design by Feature)

  19. Proces 5 - Vytvor podľa funkcie (Build by Feature)

  20. SPEM - Software Process Engineering Metamodel OMG (Object Management Group) štandard určený na modelovanie softvérových metód EPF Composer implementuje špecifikáciu SPEM Open-source a podporovaný veľkými spol. IBM,OMG Alternatívy BPMN, BPEL, XPDL

  21. Proces? Proces určuje každému členovi tímu jeho zodpovednosti a práva

  22. SPEM - EPFC - model

  23. EPFC – Eclipse Process Composer Nástroj na popis metód vývoja softvéru Všetky informácie o procese na jednom mieste Konzistentný a spoločný slovník –štandardizáciu pri zápise procesov Zjednodušuje a urýchľuje schopnosť pochopiť procesy pre všetkých zúčastnených Podporuje verzionovanie procesov Export modelu do HTML Je open-source (podporovaný IBM, OMG, ..)

  24. Ukážka FDD v EPFC

  25. Postup ako namodelovať metódu vývoja softvéru v EPFC Organizácia metódy Definícia projektových fáz a procesov Detailný popis projektových rolí Detailný popis identifikovaných artefaktov Definícia vlastností pre jednotlivé úlohy

  26. Ďakujem za pozornosť

  27. Literatúra A practical Guide to Feature-Driven Development (Stephen R. Palmer, John M. Felsing) www.featuredrivendevelopment.com www.eclipse.org/epf/

More Related