Project Managment
Pachollini,
26.
října 2007,
22:04
Přednáška Petra Přibyla o project managmentu pro mne byla nejzajímavější z těch, co jsem od lidí ze Seznamu zatím slyšel. Možná to je tím, že jsem project managment nikdy nestudoval, ale občas s ním přicházím do styku. Tady jsou mé poznámky z přednášky, surové, ale třeba někomu k něčemu budou. Ucelenější a stručnější text napsal Honza Bednář na blog Ataxa: Projektové řízení dle Seznamu
Teorie
- Projekt: cíl + termín + rozpočet
- Definice cíle KARA(T) … důraz na měřitelnost
- Např.: nejpozději v 6. měsíci od spuštění 55M impresí a 900k návštěvníků (Sauto.cz)
- Projektové imperativy: cíle, čas, zdroje | cíle, cena, zdroje –> úspěch je prolnutí; Seznam: nejdůležitější jsou cíle, pak až čas a zdroje
Praxe
- často nejasné a nestálé cíle – mění se, občas se projekt zruší
- neudržitelné termíny – vždycky – je třeba tlačit od začátku
- podhodnocené náklady – taky vždycky
- neřiditelní lidé, zkreslené reporty: lidi vždycky řikaj, že jsou na tom líp než ve skutečnosti; za 20% času 80% => je to skoro hotové; zbývajících 20% práce zabere 160% času; lidi jsou řiditelní svým šéfem, který je odměňuje, projektový manažer si lidi půjčuje, tudíž nemá potřebné páky
Jak jsme to dělali v Seznamu
- Sreality – předělání –> katastrofa … zpoždění cca. 8 měsíců
- Vývoj projektového vedení v Seznamu – cca. 4 roky
- Začátek: anarchie – projekt nějak začal, nikdo si nepamatuje jak
- Specifikace, funkční testy
- Projektový plán – chyběl => bez něj se nedá plánovat
- Výkonové testy – pád aplikace do desítek minut po spuštění
- Implementační analýza – bez ní se neukáže, kde selžou výkonové testy; než se to začne programovat, někdo si na to sedne a rozebere, kolik to vydrží
- Zadání, vyhodnocení – zavedlo se, abychom věděli, jestli se to povedlo: co, za kolik a kdy to bude
- Oponentury – eliminace chyb toho, kdo vypracovává dokument
Seznam dnes
- Vize – Ivo, ale může s ní přijít kdokoliv
- Zadání – dělá projektový manažer, schvaluje vedení; mikroanalýza – za kolik to asi uděláme a kdy to asi bude,
dělají programátoři, odhad, kdy to asi bude – možnost pozastavení projektu
- Cíle akceptované akcionáři projektu; definovat i co není cílem projektu
- Termíny … vždycky podhodnocené
- Náklady
- Odpovědné osoby – projektový manažer, vedoucí programátorů, další lidé
- Specifikace – nástroj projektového managera: jak to má vypadat a co to má dělat; v Seznamu průměrně 30
stránek, mapy asi 100; specifikace se tvoří cca 1–4 týdny, ale může to trvat i déle (zejm. grafické návrhy – čeká
se na nápad grafiků)
- Obsahuje
- Funkční popis výsledků – jak to bude vypadat a fungovat; popis procesů – např. u fakturačního systému – kudy půjde faktura
- Popis cílového stavu – máme novou službu, potřebujeme 4 lidi, co na to budou dohlížet, jednoho na telfonický support , 20 serverů, 2 přidáváme každý měsíc … jak to bude fungovat
- Grafické návrhy – hodně práce – dělají se uživatelské testy, cizeluje se to – polovina nákladů na přípravu; řeší se i rozpal písma etc.
- Business analýza – jak to bude vydělávat, jaký bude obchodní model – zpracovávají nebo dozorují ji spíš obchodníci
- Marketingový plán – jak se to bude propagovat, kdy etc.
- Nástroje
- Slovní popis – nesmí to být moc dlouhé – čím kratší, tím lepší; rozdělení na část pro vedení / programátory; čím více prostoru pro fantazii programátorů, tím víc se budou chodit ptát
- Sitemap – jak to bude fungovat
- UML – na procesy
- Grafické návrhy – na ně koukaj všichni, popisy nikdo nečte
- Zvažte
- Rozsah specifikace X náklady na projekt
- Rozsah X míra neurčitosti – během vývoje se mění zadání, posouvají cíle etc. – příliš podrobná specifikace => hodně se toho vyhodí při změnách
- Rozsah X stabilita cílů
- Rozsah X počet čtenářů
- Úplná X rozdílová specifikace … v Seznamu se rozdílové moc nedělají, ledaže tým, který to dělá teď, je stejný, jako ten, co to dělal předtím
- Obsahuje
- Oponentura specifikace
- Proč
- Prevence chyb a opomenutí
- Pohled 3. osoby – najde věcí, který člověk, který je do toho zahrabaný, přehlédne
- Potenciál nových nápadů
- Pravidla
- Oponent nese spoluzodpovědnost za předmět oponentury
- Akceptované podmínky je autor povinen zapracovat do specifikace
- Oponent kontroluje zapracování připomínek
- Oponentů může být víc, oponentura trvá cca. týden
- Proč
- Implementační analýza – temná strana síly – vývojáři se zataženými roletami
- Cíle
- Návrh implementačního postupu a architektury aplikace … už víme, jak to bude se železem a zdroji
- Možnost korekce návrhu (železo to neutáhne)
- Přesný odhad implementační náročnosti – efektivita zpracování, škálovatelnost
- HW sizing – objednání HW dopředu – zpoždění
- Projektový plán
- Algoritmický postup, konfigurační soubory a parametry, popis rozhraní – zamyšlení, jak to bude fungovat
- (Seznam má asi 15 adminů a 10 dohledářů – vše musí být stejně konfigurovatelné, stejně zdokumentované)
- Cíle
- Oponentura implementační analýzy – od vývojářů a adminů
- Projektový plán
- Rozdělení práce na dílčí úkoly (max. 2 člověkodny na úkol), WBS – Work Breakdown Structure – strom procesu, většinou se daří dobře odhadnout, mění se spíš při změně cílů
- Závislosti dílčích úkolů, kritická cesta – nejkratší čas, za který se to dá stihnout … kvůli závislostem – Seznam používá MS project
- Přiřazení zdrojů – kolik programátorů, kolik času, kolik je tam státních svátků, kolik dovolených etc.
- přehazování úkolů mezi lidmi
- nebezpečí: zkracování času, který je přidělen jednotlivým úkolům – nedělat
- Určení postupu, milníků, termínů – přidat minimálně 20% rezervu (přiznat týmu – budou na to hřešit, nepřiznat – budete za zlý)
- Gantův diagram
- Podléhá schválení akcionářů – opět podepsat – nové termíny etc.
- Řešení Seznamu
- WBS na zdi
- Projektový plán v MS Projectu (používá se jen na projektový plán, na nic jiného)
- Výjimečně Mind Maps – spíše ve fázi vize
- … založeno na zkušenostech
- na jednodušší projekty má tento postup relativně vysoké náklady na režii
- Zabere to 1–5 člověkodní
- Implementace
- kontroluje se plnění projektového plánu
- změny do projektového plánu se zanáší 1x za 1–2 dny, zanáší je vedoucí implementace nebo projektový manager; sleduje se zpoždění a překročení rozpočtu
- Testy
- Funkční testy
- Většinou ručně bez pomocných nástrojů
- Bez formalit, pouze Issue Tracking (Mantis – PHP webová aplikace, Trac – nově se na něj přechází, spolu se Subversion)
- Testy v tzv. produktovém prostředí – „my jsme tam zrovna něco opravovali, proto to nefungovalo“ => dev servery, testovací servery v kanceláři – kopie produkčních – v podstatě kompletní kopie Seznamu, ale v některých případech s méně daty => produkční testy; věci se instalují debianími balíčky, které se instalují stejně na testovací servery jako na produkční servery
- Konečnou zodpovědnost má projektový manager
- Externí testeři – honorováni za nalezenou chybu dle závažnosti –> pro managery: je dobré je nenechat najít moc kritických chyb
- Uživatelské testy na funkční aplikaci – bude o tom samostatná přednáška; někdy se uživatelské testy dělají už před aplikací – na grafických návrzích nebo prototypu – nákladné, moc se nedělají
- Zátěžové testy
- V režii vývojářů
- Pravidlo: vždycky testy výkonu databáze (Hammerhead), testy zátěže webu (simulace uživatelů)
- Vzorek dotazů: access logy
- Alespoň 30% rezerva, vždycky to musí být škálovatelné
- Simulovaný provoz: web se umístí ven, dá se na stávající stránky jako iframe, aby byla stejná zátěž – při jiné verzi to nemusí být úplně vypovídající
- Bezpečnostní audity – řeší externisti, kteří to testují před spuštěním (bez znalosti backendu)
- Funkční testy
- Rollout plán
- Podrobný dokument – jak to zprovoznit – konfigurovat, administrovat etc. – např. pro případ havárie serveru; přímo příkazy, které se mají spouštět
- Obsahuje časovou osu
- Nastavení monitorování a grafování komponent (výkon serverů, počet dotazů do db etc.)
- Instalace pomocí debianích balíčků
- Údržba
- Okamžikem spuštění začíná další práce – nové připomínky, bugy, nápady
- Vyhodnocení
- Co se ještě může dít
- Uživatelské testy již v úvodu
- Prototyp aplikace
- Betaprooz – může hodně změnit plán
- Rollback – všecko se odvolá, návrat k původní verzi – důležité stanovit, kdy je ještě rollback možný
Co vy na to?
- [1] Vážně?, xxx, 27. října 2007, 10:39
- [2] Manager, Pavel, 28. října 2007, 07:55
- [3] SW, pachollini, 28. října 2007, 11:03
- [4] Poděkování, Pavel, 28. října 2007, 19:03
- [5] díky, rf, 28. října 2007, 22:29
Aktuální Seky
- Truhlářství Švagr – kvalitní dřevěná okna a dveře – Hledáte-li kvalitní dřevěná eurookna nebo vchodové či interiérové dveře, Truhlářství Švagr je správnou volbou.