Podpora životního cyklu vývoje sliby a realita. Michael Juřek mjurek@microsoft.com Software Architect Microsoft s.r.o.



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

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

Nástroje pro průběžnou integraci a testování

Využití identity managementu v prostředí veřejné správy

Project management. Příprava projektu Zahájení High level plánování. Vykonávání Detailní plánování Vykonávání Řízení a monitorování

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

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

Tomáš. Kutěj. Technical Solution Specialist Office platform

CASE nástroje. Jaroslav Žáček

XINF1. Jaroslav Žáček

Agilní metodiky vývoje softwaru

Tomáš Kutěj System Engineer Microsoft

CASE. Jaroslav Žáček

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

Jak Vám partnerské programy pomohou v rozvoji podnikání. Víte, že můžete získat software v hodnotě tisíců USD za zlomek ceny?

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

Jakub Čermák Microsoft Student Partner

INFORMAČNÍ SYSTÉMY , Ing. Jiří Mráz

Řešení Technologických center

Windows na co se soustředit

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

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

Dnešní program. Jak síť využít. Přínosy sítě. Nasazení sítě. Proč síť

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

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

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

Tieto přináší nové příležitosti v IT.

RUP - Motivace, principy. Jaroslav Žáček

RUP - MOTIVACE, PRINCIPY JAROSLAV ŽÁČEK

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

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

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

Agile Software Development

Agenda. Docházka Odhadování Neohlášený test Vedení projektů Historie projektů

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

Řízení znalostí, týmová spolupráce a vyhledávání ve velkých a středních firmách

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

SCM = Source Code Management software, základní typologie rozdělení je podle počtu a umístění základního úložiště kódu(=repository) na:

System Center Operations Manager

AGILNÍ METODIKY, JAK DÁL?

Základy analýzy. autor. Jan Novotný února 2007

Vedení projektů, Odhadování, historie

Životní cyklus produktu (IS / IT služby) Životní cyklus projektu Životní cyklus řízení projektu. Vývoje produktu Implementace produktu

Zkušenosti z přechodu na TFS a agilní techniky

RUP - Disciplíny. Jaroslav Žáček jaroslav.zacek@osu.cz

Návrh IS - UML. Jaroslav Žáček

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

Efektivní provoz koncových stanic

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

Návrh IS - UML. Jaroslav Žáček

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

EXIN Agile Scrum Foundation Příručka ke zkoušce. Vydání

Hodnocení metodik vývoje informačních systémů z pohledu testování

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

Informační systémy ve strojírenství

Řešení problémů s projektem

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

Teorie a praxe SW inženýrství

PŘEDSTAVENÍ - KAREL HÁJEK Nasazení SD ve skupině ČEZ

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

Stav podnikové bezpečnosti, Globální zpráva Jakub Jiříček, Symantec ČR a SR

The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into

Životní cyklus vývoje SW. Jaroslav Žáček

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

Procesní dokumentace Process Management. Pavel Čejka

PRŮZKUM AGILNÍHO ŘÍZENÍ V ČR 2013

JIŘÍ ROUN NABÍDKA SPOLUPRÁCE SW DOKUMENTARISTA WEB: MOBIL:

Agilní techniky a nástroje nezbytné k vývoji software. Ivan Kudibal, SOA Center R&D, Praha HP Software & Solutions

Moderní podnikový informační systém. Pavel Šlesingr Microsoft

Od Czech POINTu k vnitřní integraci

Tabulka Nabídková cena za předmět plnění *uchazeč vyplní cenu za celý kurz nebo cenu za 1 účastníka dle zadávací dokumentace a nabídky uchazeče

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

Analýza a Návrh. Analýza

IBM Sametime 9. moderní způsob komunikace. Petr Kunc, IBM IBM Corporation

Wonderware Information Server 4.0 Co je nového

Development and Test Cloud

Připravil: Ing. Jiří Lýsek, Ph.D. Verze: AVTK. Úvod. strana 1

aktuality, novinky Ing. Martin Řehořek

XNA Game Studio 3.1. Tomáš Herceg Microsoft Most Valuable Professional Microsoft Student Partner

Novinky v UML 2.5 a agilní modelování

6INF2. RNDr. Jaroslav Žáček, Ph.D.

a konverze na úřadech Martin Řehořek

Agilní přístupy k vývoji SW. Jaroslav Žáček

SQL Server Data Tools (SSDT) RNDr. David Gešvindr MVP: Azure MCSE: Data Platform MCSD: Windows Store

Poznámky k verzi Remote support platform 3.1

Modelem řízený vývoj. SWI 1 Jan Kryštof

Skype for Business 2015

Ing. Jiří Fůsek. Základní informace. Pracovní zkušenosti. Vzdělání. 09/ nyní Freelancer. 09/ /2010 Univerzita Tomáše Bati ve Zlíně

Agenda. Docházka Návrat k minulému praktickému cvičení Zápočtové práce. Dokumentace. Dotazy, přání, stížnosti. Co, jak a proč dokumentovat

Přehled rolí v jednotlivých metodikách

Vývojář vs. správce IT

Kvalita procesu vývoje SW. Jaroslav Žáček

Testování software. Jaroslav Žáček

Windows - bezplatné služby pro školy. Jakub Vlček Specialist Microsoft Corporation

Cíle a metodika průzkumu

Joelův test. 12 kroků k lepšímu programování. Jaroslav Šnajdr

Workshop Exact Software CEE

Jakou metodiku použít pro

Potřebujete mít vaše IS ve shodě s legislativou? Bc. Stanislava Birnerová

Objektová tvorba SW, Analýza požadavků 2006 UOMO 53

Transkript:

Podpora životního cyklu vývoje sliby a realita Michael Juřek mjurek@microsoft.com Software Architect Microsoft s.r.o.

Varování Obsah této prezentace není založen na žádném objektivním výzkumu Odráží zkušenosti autora při práci s množinou řádově desítkami dodavatelů SW Názor je nutně subjektivní Výběr firem není zcela reprezentativní (inklinují k MS technologiím)

Agenda Metodika Moje metodická á doporučení Nástroje pro podporu životního cyklu vývoje Demo TFS 2005

1. vlna vodopád Budeme analýzu dělit na menší a menší části tak dlouho, až bude rozdělena na elementární kroky, ve kterých nelze udělat chybu. Poté implementujeme. Přístup odráží vysokou cenu vytvoření verze v dřívějších dobách Stále má své zastánce, ale odumírá

2. vlna zavedení iterací Řešení budeme vytvářet v definovaných krocích (iteracích), abychom snížili rizika a měřili postup. Jednotlivé kroky budeme řídit striktním procesem. Iterace jsou umožněny nízkou cenou za vytvoření verze (důsledek komfortu vývojáře) Přiznává právo dělat chyby Vhodné pro projekty s velkou mírou rizika, ale dosti nákladné Představitelé: RUP (Rational Unified Process) nejznámnější MSF (Microsoft Solution Framework)

3. vlna agilní rebelie Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan www.agilemanifesto.org Minimalizuje byrokracii a formálnost Snížení ceny je vyváženo zvýšením rizik Představitelé: Fundamentalisté Extreme Programming (XP), Continuous Integration (CI), Test-Driven Development (TDD),... Pragmatici MSF for Agile Dev. (MSF4AD), Feature Driven Development (FDD), SCRUM,...

Realita co se v ČR používá? Dosud jsem neviděl nikoho, kdo by převzal a používal některou metodiku Kvalita vývoje nezávisí na velikosti firmy Převládá ladění do pragmatického agilního tónu Firmy používají směs: Vlastních zkušeností Inspirace z různých metodik Slabým článkem je zákazník: Nezná realitu vývoje, nepožaduje kvalitu a proces, zajímá ho často pouze cena

Agenda Metodika Moje metodická á doporučení Nástroje pro podporu životního cyklu vývoje Demo TFS 2005

1. Definujte vizi Cca 3 věty říkající: Co děláme? Proč to děláme? Co to přinese? Připravená odpověď na základní dotaz (v angličtině elevator pitch ) Popisuje cíl projektu Vytesejte do žuly a zasaďte nad dveře.

2. Popište důležité osoby V každém projektu je řada důležitých osob (actor, persona,...): Uživatel, manažer, finanční ředitel, administrátor,... Pochopte, jak každý z nich funguje a co od projektu očekává Snažte se každého něčím potěšit, snižujete tím riziko problémů

3. Rozdělte na rozumné části Ani málo, ani mnoho optimálně desítky Terminologie scénář, use case,... Nedělitelný funkční celek, který buď je anebo není implementován Nic mezi tím nemá smysl Slouží k měření postupu a plánování do iterací, případně ke škrtům při nedostatku času

4. Zapojení zákazníka Zapojte zákazníka do celého procesu co nejdříve a co nejvíce Snižuje rizika nedorozumění, odstraňuje budoucí třecí plochy Pozor, nemusí to být vůbec snadné Oboustranná otevřenost a důvěra jsou dobrým předpokladem k úspěchu

5. Prioritizace Klasifikujte jednotlivé scénáře/use case: Minimálně pracnost, důležitost, rizika Nepřehánějte stupnici např. A / B / C Přiřaďte iteracím podle svých potřeb: Chci snížit rizika nejdříve vysoce riskantní, málo pracné scénáře Chci rychle něco ukázat nejdříve málo pracné, vysoce důležité, málo riskantní...

6. Používání iterací Iterace = základní z jednotka plánování Iterace umožňují korekci kurzu v definovaných okamžicích: Stíháme termín? Dodržíme rozpočet? Díky iteracím odhalíte rizika a problémy dříve Cca 1-3 iterace měsíčně Viz též Zapojení zákazníka

7. Důležité nástroje Minimálně byste měli mít: Správu zdrojového kódu Co kdo kdy změnil? Správu pracovních položek ( product backlog ) Kolik je hotovo a kolik ještě chybí? Optimální je mít oba dva nástroje integrovány Proč někdo tu změnu udělal?

8. Automatický build Prakticky ve všech moderních metodikách Extrém continuous integration (CI) Nenásilně zvyšuje disciplínu v týmu Ukládám pouze kompilovatelný kód Lze využít i k dalším věcem: Analýza kódu pomocí nástrojů Spouštění testů ( statistiky) Měření změn (code churn)

9. Testování Z finančních důvodů často obětováno Zvyšuje kvalitu software Brání chybám při pozdějších změnách (regression bugs) Pozor, testování nenahrazuje kvalitní vývojový proces!

10. Komunikace v týmu Metodiky neřeší E-mail je důležitý, ale není dostatečný Sdílejte informace, zvyšuje se tím pocit zodpovědnosti u členů týmu Konkrétní technologie závisí na vašich zvyklostech: Portál SharePoint Services, *Nuke apod. Blog WiKi...

Agenda Metodika Moje metodická á doporučení Nástroje pro podporu životního cyklu vývoje Demo TFS 2005

Modelování Používání CASE nástrojů je kontroverzní téma: Fundamentalisté na ně nedají dopustit Ale kvalita generovaného kódu Nutnost úprav kazí čistotu i výhody Většina firem modeluje z důvodu analýzy, ne pro generování kódu Populární nástroje (za peníze): IBM Rational SW Architect/Modeler (dříve Rose) Enterprise Architect (Sparx Systems) populární a levný Borland Together

Správa požadavků Vyžadována pro velké projekty s důrazem na formální stránku procesu Většina firem / projektů nepoužívá Nástroje jsou velmi drahé a hodnota je diskutabilní Nástroje: CaliberRM (Borland) Requisite Pro (IBM)

Správa zdrojového kódu Naprostá nezbytnost, využíváno drtivou většinou firem Enterprise nástroje: ClearCase (IBM) Team Foundation Server (Microsoft) Další nástroje: SourceSafe (Microsoft), CVS, SVN,... TIP Používejte nástroje s úložištěm v relační databázi: Jinak problémy s integritou

Pracovní položky Udržování seznamu scénářů, úloh, chyb,... ( product backlog ) Většina firem v nějaké formě používá První liga: ClearQuest (IBM), Team Foundation Server (Microsoft), Star Team (Borland) Druhá liga: Bugzilla, PVCS,... Nouzová řešení: Excel, Project, email,...

Build Automatizace build procesu je používána velmi často Denní buildy rovněž běžnou praxí Nástroje: Ant, NAnt (zdarma) MSBuild (zdarma v.net FX 2.0) Team Build v Team Foundation Serveru (extenze MSBuild za peníze)

Testování Unit testy relativně časté, ostatní typy testů často opomíjeny kvůli vysoké ceně nástrojů a pracnosti Unit testy kontrola funkce API JUnit, NUnit, VS Team Dev/Test Funkční testy simulace interakce uživatele: VS Team Tester (Microsoft, pouze web), IBM/Rational (řada nástrojů), WinRunner+QuickTest,, DevPartner+QACenter (Compuware) Výkonnostní/zátěžové testy: VS Team Tester (Microsoft), LoadRunner (Mercury),, IBM / Rational řada nástrojů

Agenda Metodika Moje metodická á doporučení Nástroje pro podporu životního cyklu vývoje Demo TFS 2005

Team Foundation Server Work Item Tracking Version Control Reporting Build Automation Project Portal

Konkurenční výhody Integrace: Všechny části jsou vzájemně propojeny Základ pro analýzu a reportování 1 + 1 + 1 > 3 Produktivita: Vše přímo v prostředí Visual Studia Minimalizace obtěžování od práce Žádné Alt-Tab

Integrované é reporty * * Project Structure Iteration Structure Build * * * * Work * * Item * * * * Latest Item Version * Changeset Test Result Label Versioned Item

Integrované é reporty

Team Foundation Server Automatický build Testy Work Items Správa kódu Reportování

Závěrem Studujte dostupné metodologie, které jsou vám myšlenkově blízké a inspirujte se v nich Najděte rovnováhu mezi kreativitou lidí a formálností procesu akceptovatelnou vaší firemní kulturou Používejte integrované nástroje, ne jednotlivé části skládačky

mjurek@microsoft.com 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.