Hodnotocentrické metodiky



Podobné dokumenty
Řešení problémů s projektem

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

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

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

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

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

HR controlling. Ing. Jan Duba HRDA

Předmluva 11. Poděkování 11 O autorech 12 Úvodem 12 Komu je tato kniha určena 13 Jak byste měli tuto knihu číst 13 Web 14

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

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

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

Jedno globální řešení pro vaše Mezinárodní podnikání

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

Agile Software Development

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

Neuralmarketing Inteligentní newsletter

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

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

RUKOVĚŤ ÚSPĚŠNÉHO ŽADATELE V RÁMCI VÝZVY 06

Seminární práce Vývoj informačního systému. Manažerská informatika 2 Ing. Miroslav Lorenc

Správa IT služeb a řízení životního cyklu softwarových aplikací

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

2 Životní cyklus programového díla

Zkušenosti z implementace SuccessFactors v ČSOB. Martin Beran, ČSOB

Association for the advancement of Cost Engineering International (AACE) Australian Institute of Project Management (AIPM) English Association of

Vysoká škola ekonomická v Praze. Fakulta managementu v Jindřichově Hradci. Diplomová práce. Bc. Natalija Lichnovská

ZÁSADY A POSTUPY PROJEKTOVÁNÍ, FÁZE PROJEKTOVÁNÍ

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

IBM Analytics Professional Services

Co se chcete dozvědět?

ArcGIS Online Subscription

S T R A T E G I C K Ý M A N A G E M E N T

Softwarový proces Martin Hlavatý 4. říjen 2018

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

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

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

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

A. Návrhy na nové aktivity v roce 2015:

A. Návrhy na nové aktivity v roce 2015:

Praktické zkušenosti s nasazením agilní metodiky SCRUM při vývoji středně rozsáhlého softwarového projektu. Dušan Juhás

CMMI ení zralosti. Viktor Mulač. Business consultant. itsmf

Informační systém pro centrální správu lokální sítě a služeb ISP

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

VÝSTUPNÍ ZPRÁVA Ukázka nové 360 zpětné vazby

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

Microsoft.NET. AppTima Feedback Solution - komplexní systém pro zjišťování a vyhodnocování spokojenosti zákazníků

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

Informační strategie. Doc.Ing.Miloš Koch,CSc.

AGILNÍ METODIKY, JAK DÁL?

XINF1. Jaroslav Žáček

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

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

Software pro analýzu energetických dat W1000

244 EFEKTIVNÍ SOFTWAROVÉ PROJEKTY

POČÍTAČE A PROGRAMOVÁNÍ

Citace článku. Alena Buchalcevová, Jan Kučera. Katedra informačních technologií VŠE Praha nám. W.Churchilla 4, Praha 3

RUP - MOTIVACE, PRINCIPY JAROSLAV ŽÁČEK

RUP - Motivace, principy. Jaroslav Žáček

PHP framework Nette. Kapitola Úvod. 1.2 Architektura Nette

Vedoucí odboru, vedoucí organizační složky, ředitel MP

Přednáška. Sběr požadavků na SW s použitím metody C.C a nástroje Craft.CASE. e-fractal, s.r.o.

Výukový materiál zpracovaný v rámci projektu Výuka moderně

Metodika konstruování Úvodní přednáška

1. Ukazatelé likvidity

Zvyšování výkonnosti firmy na bázi potenciálu zlepšení

3 Inženýrství systémů založených na počítačích (Computer-based System Engineering)

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

Vliv podrobnosti definice procesu a úrovně CMM na charakteristiky procesu

Aktuá lní př ehodnocení MSF foř CMMI dle METES

3 Inženýrství systémů založených na počítačích (Computer-based System Engineering)

Semestrální práce z předmětu 4IT421 Téma: CMMI-DEV v.1.3 PA Project Monitoring and Control

Analýza a Návrh. Analýza

Operační program Lidské zdroje a zaměstnanost

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

Dynamické ověřování nákupních podmínek v systému PROe.biz

SOFTWAROVÉ INŽENÝRSTVÍ

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

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

IS pro podporu BOZP na FIT ČVUT

UKÁZKA ŠKOLÍCÍCH MATERIÁLŮ

ŘÍZENÍ PRACOVNÍHO VÝKONU

InternetovéTechnologie

Agilní metodiky vývoje softwaru

Minimální kompetenční profil (MKP) Lektor vzdělávacích aktivit v oblasti práce s dětmi a mládeží programový pořadatel kurzů

STUDIE NÁVRATNOSTI PRO SAFETICA INSIGHT

Co je to COBIT? metodika

Vývoj řízený testy Test Driven Development

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

Návod k požadavkům ISO 9001:2015 na dokumentované informace

Příloha č.3 Otázka pro hodnocení manažera

Leady & MERK Integrace Microsoft Dynamics CRM s aplikacemi Leady a MERK

SOFTWAROVÉ INŽENÝRSTVÍ 1

Jak se žije se ZZVZ? Zřejmě lépe, než se čekalo Kvalitativní hodnocení nabídek na Masarykově univerzitě

Vzdálená správa v cloudu až pro 250 počítačů

Vytváření důvěry manažerů byznysu a IT

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

Ing. Jiří Fejfar, Ph.D. Geo-informační systémy

Softwarová podpora v procesním řízení

Tieto Future Office. Přehled. Země: Česká republika. Odvětví: Samospráva

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

Transkript:

2 Hodnotocentrické metodiky Vyšší management Projektový manažer Jedna metodika těžko bude tou jedinou správnou,... pro každý projekt a realizační tým existuje jiný správný způsob práce. 1 Alistair Cockburn Obrázek 2.1 Rytmus posádky veslujcí jako jeden muž představuje perfektní příklad obou významů toku. Jednotlivci pociťují euforii z ideálního výkonu a díky sladěné týmové práci může svého ideálního výkonu dosáhnout i celý systém (v tomto případě veslice). V předcházející kapitole jsem vysvětloval význam hodnotocentrického přístupu. V této kapitole se mu budu věnovat podrobněji, a podívám se na charakteristiku takovýchto metodik, na konkrétní podmínky, které je nutné vzít v úvahu, a příklady, které můžete využít. 27

28 EFEKTIVNÍ SOFTWAROVÉ PROJEKTY Softwarové metodiky dostupné ve VSTS Spolu s VSTS se dodávají dvě metodiky, které jsou obě variantou Microsoft Solutions Framework (MSF): MSF for Agile Software Development MSF for CMMI Process Improvement Můžete si je stáhnout z http://msdn.microsoft.com/msf/ a podívat se na ně. Tato webová stránka také obsahuje odkazy na mnoho metodik dodávaných partnerskými společnostmi, včetně SCRUM, FDD a EUP. Metodiky MSF si také můžete přizpůsobit na svou vlastní šablonu procesu. Microsoft Solutions Framework Existují desítky zdokumentovaných softwarových metodik. 2 Mnoho z těch, které se v posledních 30 letech objevily, vycházejí z úkolocentrického přístupu a k popsání všech svých myslitelných očekávaných i neočekávatelných situací vyžadují ohromné množství dokumentace. 3 Manažeři chtěli mít jistotu, aniž by si uvědomili, jaké to bude mít důsledky na produktivitu práce. Myšlenka se tak obrátila proti nim. Když týmy nevědí, bez čeho se mohou bez obav obejít, zahrnou do svého plánování a výkonu vše. Tento problém dobře vystihli Barry Boehm a Richard Turner: Budujte svoji metodiku zdola nahoru, nepřizpůsobujte ji shora dolů Metodiky založené na plánu mívaly ve zvyku vést na všezahrnující metody, které lze přizpůsobit na míru konkrétní situaci. To dovedou odborníci; ostatní ale pro jistotu raději používají vše, což má často za následek zbytečně vysoké náklady. Agilní přistup nabízí lepší alternativu začít s poměrně malou skupinou postupů a další přidávat teprve tehdy, když lze jednoznačně prokázat jejich výhodnost. 4 Podobně většina metodik a nástrojů brání dostatečné pestrosti projektů a své týmy nutí k univerzálnímu přístupu. VSTS je oproti tomu prostředí pro spolupráci a vývoj, které dovoluje mít pro každý projekt vlastní metodiku. Také předpokládá, že tým si metodiku natáhne na míru tzn. vezme několik

HODNOTOCENTRICKÉ METODIKY 29 základních hodnot a postupů a podle potřeby přidá další. Jak uvádí předchozí citát, byl tento přístup mnohem úspěšnější. V Team System existují dvě plnohodnotné metodiky, obě vycházející ze společného základu nazvaného Microsoft Solutions Framework (MSF): MSF for Agile Software Development. Prostá metodika, držící se principů Agile Alliance. 5 Metodiku MSF Agile používejte u projektů s krátkou životností a u týmů, pro které je důležitý výsledek a které mohou pracovat bez hory průběžné dokumentace. Je to pružný rámec, který vám pomůže vytvořit přizpůsobivý systém pro vývoj software. Předpokládá nutnost reagovat na změny, zdůrazňuje dodávání fungujícího software a jako hlavní měřítko úspěchu propaguje prověření zákazníkem. MSF for CMMI Process Improvement. Metodika navržená tak, aby vyhovovala CMMI 3. úrovně podle definice Software Engineering Institute. 6 Rozšiřuje MSF Agile o formálnější plánování, více dokumentace a pracovních výsledků, více podpisových bran a podrobnější sledování času. MSF for CMMI své činnosti jasně ukazuje v Oblastech činnosti (Practice Areas) a Cílech (Goals), čímž vychází vstříc organizacím, které CMMI používají jako základ pro vylepšení svých procesů, nebo které usilují o hodnocení CMMI. Ale narozdíl od předchozích pokusů o metodiku CMMI používá MSF hodnotocentrický přístup, který umožňuje celý rámec CMMI aplikovat agilně a bez zbytečné režie. 7 Obě instance MSF jsou hodnotocentrické. V obou případech MSF využívá ověřené postupy společnosti Microsoft a jejích zákazníků a oborových zkušeností. Hlavní rozdíl mezi nimi spočívá v úrovni formality schvalování, míře sledování vynaloženého výkonu a hloubce použitých metrik. Například MSF for CMMI Process Improvement považuje hodnotitele nebo auditora za samostatnou roli a poskytuje činnosti a reporty, které může auditor při hodnocení metodiky použít. V jeho agilním příbuzném se shoda se vzorovou metodikou neuvažuje. Hladká integrace obou variant MSF do Team System podporuje rychlý iterativní vývoj s neustálým učením se a zdokonalováním. Společná databáze pracovních položek a datový sklad metrik přinášejí odpovědi na otázky ohledně zdraví projektu téměř okamžitě, a díky spojení průvodce metodikou s nástroji můžete vidět postupy metodiky přímo v nástrojích a podle potřeby se jimi řídit.

30 EFEKTIVNÍ SOFTWAROVÉ PROJEKTY Iterativní vývoj MSF je iterativní a inkrementální metodika. Význam iterativního vývoje komunita softwarových vývojářů chápe již déle než dvacet let. Obvykle se tím myslí způsob vývoje software, při kterém definice požadavků, návrh, implementace a testování probíhají částečně souběžně a cyklicky (místo aby probíhaly lineárně), takže výsledný softwarový produkt je dokončován postupně. 8 Cyklický vývoj vznikl jako lék na lineární vodopádový vývoj. Fred Brooks, jehož kniha Mythical Man Month stále patří mezi nejvíce ceněné knihy o softwarovém inženýrství, shrnuje princip vodopádu takto: Základní chybou vodopádového modelu je předpoklad, že projekt projde celým procesem jen jednou, že architektura je vynikající a snadno použitelná, návrh implementace je bezproblémový, realizace je po otestování neměnná. Jinak řečeno předpokládá, že chyby se budou týkat pouze realizace a jejich oprava tedy může být snadno zahrnuta do testování komponent a systému. 9 Proč vyvíjet iterativně Pro iterativní vývoj mluví řada velmi příjemných důvodů: 1. Řízení rizik. Požadovaný výsledek není dopředu znám. Abyste mohli mít rizika pod kontrolou, musíte své požadavky a předpoklady v návrhu obhájit nebo vyvrátit tak, že budete prvky cílového systému implementovat postupně, těmi nejriskantnějšími počínaje. 2. Hospodárnost. V nejistém obchodním prostředí je důležité, abyste své priority často promýšleli a investice považovali za finanční opce. Čím více pružnosti získáte díky brzkým platbám a častým kontrolám, tím hodnotnější tyto opce budou. 3. Soustředění. Lidé dovedou v jednom okamžiku myslet jen na omezené množství věcí. Když práci seskupíte do krátkých iterací, všichni členové týmu se na zadanou práci mohou lépe soustředit obchodní analytici lépe odhadnou požadavky, architekti přijdou s lepším návrhem, vývojáři s lepším kódem atd.

HODNOTOCENTRICKÉ METODIKY 31 4. Motivace. Softwarový tým nic nepovzbudí lépe, než když může vidět fungující, byť předběžnou, verzi programu. Ani sebepodrobnější rozbory specifikací se tomu nemohou vyrovnat. 5. Teorie řízení. Krátké iterace snižují míru chyby ve vašich odhadech a rychle z nich zjistíte, jak přesné vaše plány projektu jsou. 6. Zapojení zadavatelů. Zadavatelé (zákazníci, uživatelé, vedení) rychle vidí výsledky a více se do projektu zapojí a nabídnou více svého času, rad a financí. 7. Neustálé vzdělávání. Celý tým se z každé iterace poučí, takže se přesnost, kvalita a vhodnost hotového projektu neustále zlepšují. To vše lze shrnout slovy: Iterativnost je vhodná pro všechny projekty... a pro ty s vysokými riziky je nevyhnutelná. 11 Přesto se stále najde mnoho IT organizací, které iterativní vývoj ještě nezavedly. Iterativní vývoj v praxi vyžaduje, aby tým i jeho manažer měli přesný přehled o veškeré práci, kterou je nutné udělat, a aby ji mohli mezi jednotlivými krátkými iteracemi často sledovat a měnit priority. Tyto časté aktualizace vyžadují přehledný úkolník, nejlépe doplněný automatickým sběrem dat, například takovým, který nabízí databáze pracovních úkolů ve VSTS. Při hodnotocentrickém přístupu k iterativnímu vývoji se pracuje v mnoha cyklech, při nichž se jednotlivé činnosti časově překrývají. Výchozím plánovacím prvkem je iterace. Ta představuje pevný počet týdnů, někdy označovaných jako časový rámec, do kterých je rozvržen stanovený úkol. Iterace se používají jako interval pro plánování zamýšlených scénářů, měření toku hodnoty, ohodnocení stávající metodiky, hledání slabých míst a provádění úprav (obrázek 2.2). V kapitolách věnovaných vývoji a testování se budu zabývat podrobněji cykly zanášení změn a denních sestavení, kterým se obvykle říká inkrementy a které přirozeným způsobem iteraci vedou. 12

32 EFEKTIVNÍ SOFTWAROVÉ PROJEKTY Program Iterace Denní sestavení Projekt Zanesení změn Schválené sestavení Obrázek 2.2 V softwarových projektech probíhá mnoho provázaných cyklů, počínaje cyklem kódování-úpravatestování-odladění-zanesení, měřeným na minuty, přes iteraci trvající několik týdnů, až po projekt, který může běžet roky. Když se tyto cykly propojí, je možné pochopit celý proces. Délka Ve skutečnosti se délka iterací liší projekt od projektu; průchody ale obvykle trvají dva až šest týdnů. Iterace opět určuje velikost dávky, kterou budete používat pro měření hodnoty předávané zákazníkovi, kterou mohou být například scénáře nebo požadavky na kvalitu. Velikost dávky musí být tak malá, jak je to jen při zachování tohoto cíle možné, jak vysvětluje David Anderson v Agile Management for Software Engineering: Malé dávky jsou zásadní pro tok! Jsou také nezbytné pro kvalitu. Lidská přirozenost vede při vývoji software k tomu, že při zpracovávání větších dávek nejsou inženýři tak nároční a věnují méně pozornosti detailům. Například, když se korektury kódu provádějí v malých dávkách, jejich příprava je rychlá a jejich provedení také. Protože kódu