Ing. Zuzana Šochová 30.4.2008 1
Outsourcing jako business model Práce v týmu Procesy a řízení lidí v outsourcingu Metodologie Agile SCRUM 2
Proč firmy hledají outsourcing? Levnější (?) Nedostatek vlastních lidí Nedostatek znalostí Oblasti outsourcingu SW Větší projekty Bankovní a informační systémy Specielní aplikace (nové technologie) 3
1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 CERTICON Employees Employment structure 140 120 100 80 Architect Senior Junior Engineer SW Engineering knowledge Fast learning Analytical skills 60 40 Designer Communication 20 0 Life-critical aplikace Oblast medicínckých aplikací Defibrilátory, pacemakery Mission-critical aplikace Oblast komunikace Komunikace mezi vlaky Řízení letového provozu 4
Komunikace a kulturní rozdíly, spolupráce Coaching virtuálních týmů Zaručit kvalitu práce Jak předat kontext Domain knowledge Commitment, partnership Cena není všechno! 5
Executive support User involvement Experienced project manager Clear business objectives Minimized scope, small milestones Standard software infrastructure Firm basic requirements Formal methodology Reliable estimates Other criteria 40% 30% 20% 10% 0% Successful IT projects 16% 28% 35% Criteria for success 1994 2000 2006 completed on time, on budget, with all features/functions originally specified. - Standish CHAOS study (Software Magazine) 6
Kvality management (procesy) ISO certifikace (ISO 9001:2000) (http://www.iso.org) SixSigma, Lean Sigma (http://www.isixsigma.com/) Formální metodologie (týmová spolupráce) Agile (http://agilemanifesto.org/) SCRUM (http://www.scrumalliance.org/) Crystal Clear (http://www.agilekiwi.com/crystal_clear.htm) XP - Extreme Programming (http://www.extremeprogramming.org/) 7
Komunikace v rámci týmu Spolupráce Rychlé učení nových členů Rychlejší získání domain knowledge Skupina individualit Nejasné, překrývající se role Soutěžení mezi týmy Efektivnější na menší a jednodušší projekty Jasná zodpovědnost Na všechno musí přijít sám Distribuce znalostí a zkušeností Horší motivace 8
Definované role a zodpovědnost Spolupráce a komunikace Training, domain knowledge Motivace, commitment Jasný cíl Prostředí příznivé inovacím 9
Spolupráce Produktivita Malé inkrementy Předvídatelnost Programovací praktiky Kvalita 10
Agile Methods provide a framework for collaborative teams to reliably deliver software using a highly iterative approach that provides frequent feedback for continuous improvement of the process and product. Key concepts include: Constant inspection and adaptation Focus on customer value Data driven; detect and manage problems early and often Increased focus & synchronization Emphasis on collaboration, teamwork and learning Analogous to Lean Manufacturing: less inventory, reduced value stream delays Change tolerant; more business opportunities Open, highly visible, inclusive 11
Principles: Simplicity Deliver Customer Value Embrace Change Inspect and Adapt Eliminate Waste Maximize Transparency Itegrate Incrementally Cultivate Collaboration 12
Malé týmy Zástupce zákazníka součástí týmu Krátké vývojové cykly - sprinty Backlog, body, rychlost Používat Burndown graf Denní meetings SCRUMy Pair programming 13
Rozdělit práci na menší celky Během sprintu by se měla stihnout celá úloha Analýza Design a implementace Testování a review Ohodnocení úloh body Duration = Effort / Velocity. Pro první plán: 1bod = 1man-day Bod je bezrozměrný, máme jen rychlost týmu 14
Pre-planning Backlog tasks Priorities Planning Team Estimations Sprint Results Burn-Down Demo 15
Zástupce zákazníka Architekt Project leader ScrumMaster Nastavení priorit Připravit sprint backlog pro týmy 16
Tým vybere úlohy co dokončí za sprint Ohodnotí nové úlohy a zreviduje existující Výstupem sprint backlog, počáteční přiřazení lidí Otázky před začátkem projektu: Co to znamená dokončit úlohu? Kdy si můžu připsat body za úlohu? Kdy můžu navýšit body, přidat novou úlohu do backlogu? Kdy upravit body a kdy Velocity Plan? 17
Tým je zodpovědný za dokončení naplánovaných úloh Praktiky: Kolektivní vlastnictví kódu Spolupráce Kontinuální integrace Testování a review součástí vývoje 18
11/21/07 12/05/07 12/19/07 01/02/08 01/16/08 01/30/08 02/13/08 02/27/08 03/12/08 03/26/08 04/09/08 04/23/08 05/07/08 05/21/08 06/04/08 06/18/08 07/02/08 07/16/08 07/30/08 70 60 50 40 30 20 10 0 Gen1 MRI Velocity Plan Propojeno s plánem v Concertu (MSProj) Vizualizace stavu projektu Motivace týmu Soutěživost mezi týmy Commitment Actual Velocity Planned Velocity 19
20
Neformální krátký meeting 5 min Každý den pravidelně Zásadní události v teamu Na čem kdo pracoval včera Na bude pracovat dnes 21
Celý tým v jedné místnosti Přístup k informacím nepřímo, pouhým posloucháním ostatních Event-driven SCRUM Sdílení Domain knowledge Omezení formálních meetingů 22
Aktivní účast na plánování Úlohy jsou ohodnocovány týmem Review proces Automatické komponentní testy, test first development Jednoduchý design Častá pravidelná integrace 23
Na konci každého sprintu Plánovat tak aby bylo co ukázat Zpětná vazba včas a efektivně Omezení rizika refactoringu Omezení rizika neúspěchu Motivace týmu Commitment 24
Krátké sprinty Aktivní účast na plánování Jasně definované krátké úlohy Burndown graf Každodenní meetingy - SCRUM Prezentace výsledků zákazníkovi 25
26
Kontakt: Zuzana Šochová sochova@certicon.cz, zuzana@soch.cz http://www.certicon.cz, http://soch.cz 27