Prezentácia sa nahráva. Prosím počkajte

Prezentácia sa nahráva. Prosím počkajte

Metódy inžinierskej práce Prednáška 11: Projekty v IT

Podobné prezentácie


Prezentácia na tému: "Metódy inžinierskej práce Prednáška 11: Projekty v IT"— Prepis prezentácie:

1 Metódy inžinierskej práce Prednáška 11: Projekty v IT
Jakub Šimko

2 Zo spätnej väzby Existuje niečo ako Git pre databázy? (keď chcú viacerí spolupracovať na projekte, ktorý obsahuje databázu) -- skvelá otázka -- odpoveď je NIE -- rieši sa to tzv. migračnými skriptmi -- pri testoch databáz sa využívajú tzv. fixture skripty Rád by som vedel, aký test si viem vytvoriť v tejto fáze štúdia a používať ho v mojich programoch naďalej. -- testy ťažko znovupoužiť na iný kód -- píšte si unit testy na funkcie čo rátajú matiku -- na typické a okrajové podmienky bit.ly/mip-dotaznik

3 Zo spätnej väzby (ešte z minulého roka  )
Ako môžem urobiť automatické testy na veci ktoré potrebujú zložité podmienky? Napríklad ako testovať automaticky funkcie grafických aplikácií? Existujú emulátory klikania Pozor: takýchto testov nechcete veľa relatívne pomalé slabé pokrytie vnútra softvéru bit.ly/mip-dotaznik

4 Zo spätnej väzby (ešte z minulého roka  )
Ako často máme testovať program? Napríklad myslím si, že je zbytočné testovať každých 10 minút, ale máme to robiť každé 2-3 hodiny, keď je nejaká časť programu hotová. -- Reč je stále o automatických testoch. -- Púšťajte testy vždy po ucelenej zmene. -- Robte čo najmenšie zmeny bit.ly/mip-dotaznik

5 Zo spätnej väzby Čo sa stane ak nebudem mať v priebežnom termíne odovzdania gitu a refaktoringu ešte nič urobené? -- 0 bodov za priebežné odovzdanie Dá sa veriť údajom o úspešnosti v predmete v AIS? -- nie, je veľmi skreslená bit.ly/mip-dotaznik

6 „MIP. Predmet ťažší ako všetky ostatné dokopy.“
Zo spätnej väzby „MIP. Predmet ťažší ako všetky ostatné dokopy.“ bit.ly/mip-dotaznik

7 Odhliadnuc od faktu, že išlo o príklad zlého argumentu...
Zo spätnej väzby Na margo poslednej extra prednášky... Akože.. vážne? Idey homofóbie verejne prezentované pred 100+ ľuďmi na progresívnej vysokej škole? ... Argumentovať, že nemôžme nechať homosexuálov ženiť sa, teda, že to nesmieme dopustiť, inak by sme neskôr mohli posunúť svoje hranice až do bodu kedy to dovolíme aj súrodencom... Je to proste choré. ... Úprimne hnus, že sa to na tej prezentácií vyskytlo. Odhliadnuc od faktu, že išlo o príklad zlého argumentu... ... tak to bola akademická debata bit.ly/mip-dotaznik

8 Prečo sú informatici tak dobre platení?
bit.ly/mip-dotaznik

9 Aké povolanie by v skutočnosti malo byť podľa vás najviac platené?
(nahoďme pár nápadov) bit.ly/mip-dotaznik

10 Zložitosť Neistota Riziko
bit.ly/mip-dotaznik

11 Práca informatikov je organizovaná v projektoch
Čo je to podľa vás projekt? bit.ly/mip-dotaznik

12 Projekt je ... časovo ohraničené úsilie s cieľom vytvorenia unikátneho produktu, služby, riešenia problému Projektami sú aj vaše zadania. Reálne projekty sú samozrejme oveľa väčšie (rozsah úloh, ľudí) bit.ly/mip-dotaznik

13 Priebeh typického IT projektu
Špecifikácia Návrh Implementácia Biznis analýza Testovanie Plánovanie Inicializácia Vyhodnocovanie Nasadenie / prevádzka bit.ly/mip-dotaznik

14 Priebeh typického IT projektu
Špecifikácia Návrh Iteratívny (cyklický) Implementácia Biznis analýza Inkrementálny (časti softvéru postupne pribúdajú) Testovanie Plánovanie Inicializácia Vyhodnocovanie Nasadenie / prevádzka bit.ly/mip-dotaznik

15 Nasadenie po každej iterácii
Príklad iteratívno-inkrementálneho projektu: vnútro-univerzitný car-pooling (Uber) 1. iterácia obyčajný zoznam ponúk kto chce, pridá ponuku so svojím kontaktom 2. iterácia v ponukách sa dá vyhľadávať podľa štartu a cieľa staré ponuky sa automaticky mažú 3. iterácia šoféri ponukám zadávajú kapacitu spolujazdci sa na ponuky prihlasujú 4. iterácia chat pre šoférov a spolujazdcov 5. iterácia prezeranie a zadávanie trás na mape Nasadenie po každej iterácii

16 Čím viac iterácií a čím menšie inkrementy, tým (spravidla) lepšie
Jedna veľká iterácia Veľa malých iterácií bit.ly/mip-dotaznik

17 Vodopádová predstava nie je a priori zlá, ale používame ju výhradne ako mentálnu barličku
bit.ly/mip-dotaznik

18 Prečo IT projekty toľko zlyhávajú?
bit.ly/mip-dotaznik

19 Faktor zlyhania softvérhového projektu Výskyt %
1. Nedostatok vstupov od používateľov 12.8 2. Nekompletné požiadavky a špecifikácia 12.3 3. Meniace sa požiadavky a špecifikácia 11.8 4. Nedostatočná podpora manažmentu 7.5 5. Technologická nekompetentnosť 7.0 6. Nedostatok zdrojov (predovšetkým ľudí) 6.4 7. Nerealistické očakávania 5.9 8. Nejasné ciele 5.3 9. Nerealistické časové ohraničenia 4.3 10. Nová (neznáma) technológia 3.7 Iné 23.0 bit.ly/mip-dotaznik

20 Spoločným menovateľom je neistota
Faktor zlyhania softvérhového projektu Výskyt % 1. Nedostatok vstupov od používateľov 12.8 2. Nekompletné požiadavky a špecifikácia 12.3 3. Meniace sa požiadavky a špecifikácia 11.8 4. Nedostatočná podpora manažmentu 7.5 5. Technologická nekompetentnosť 7.0 6. Nedostatok zdrojov (predovšetkým ľudí) 6.4 7. Nerealistické očakávania 5.9 8. Nejasné ciele 5.3 9. Nerealistické časové ohraničenia 4.3 10. Nová (neznáma) technológia 3.7 Iné 23.0 Spoločným menovateľom je neistota bit.ly/mip-dotaznik

21 Čo urobíte, keď máte deň na učenie na písomku?
bit.ly/mip-dotaznik

22 Fascinujúce je, koľko ľudí toto ignoruje
Čas, náklady a rozsah dodaného produktu sú navzájom zviazané, nemôžte si ich len tak zvoliť Fascinujúce je, koľko ľudí toto ignoruje bit.ly/mip-dotaznik

23 Opäť príklad s univerzitným Uberom:
Tu máte 5000 eur, O dva mesiace je deadline, Prosím si toto všetko: obyčajný zoznam ponúk kto chce, pridá ponuku so svojím kontaktom v ponukách sa dá vyhľadávať podľa štartu a cieľa staré ponuky sa automaticky mažú šoféri ponukám zadávajú kapacitu spolujazdci sa na ponuky prihlasujú chat pre šoférov a spolujazdcov prezeranie a zadávanie trás na mape Na rozmyslenie máte 6 hodín

24 ... a ľudia chyby znova a znova opakujú
bit.ly/mip-dotaznik

25 Vodopádový vývoj vs. Agilný vývoj
bit.ly/mip-dotaznik

26 Odhadovanie úsilia je jednou z najťažších vecí v informatike.
Predstavte si, že máte naprogramovať Uber. Ako dlho to bude trvať? Koľko ľudí potrebujete? Koľko peňazí to bude stáť? Základom je samozrejme dekompozícia ...s tou sa ale nedá ísť do nekonečna bit.ly/mip-dotaznik

27 Na odhady sa používajú skupiny
bit.ly/mip-dotaznik

28 Preto sa využíva takzvaný planning poker
bit.ly/mip-dotaznik

29 Každý si pomyslí svoj odhad. Odhady sa naraz zverejnia
Každý si pomyslí svoj odhad. Odhady sa naraz zverejnia. A rozprúdia diskusiu. bit.ly/mip-dotaznik

30 A tá diskusia (občas hádka) prebieha pri opise úlohy, ktorá je odhadovaná. Tento opis sa prirodzene dopĺňa. bit.ly/mip-dotaznik

31 bit.ly/mip-dotaznik

32 Mystický pojem dokumentácie. Čo všetko si pod ním predstaviť?
Používateľské príručky Referenčné príručky (opis služieb knižnice či API) „Big picture dokumentácia“ „How-to’s” (od README cez blogy po celé knihy) Otázky a odpovede v stack overflow Komentáre v zdrojových kódoch Špecifikácia funkcionality produktu Návrhové dokumenty (opisy architektúr, dátových modelov, ...) Plán projektu Analýza rizík, Metodiky, (tony ďalších vecí) (diskusia v skupinkách) (ťahanie návrhov) (pohľad prednášajúceho - zoznam) bit.ly/mip-dotaznik

33 Dokumentácia nás bolí dva krát
Keď ju píšeme Keď nám chýba (alebo je zlá) Nemilosrdné je to najmä vtedy, ak sa jedná o tú istú dokumentáciu  Druhé je samozrejme dôsledkom prvého bit.ly/mip-dotaznik

34 Prečo dokumentovanie tak bolí?
Nemáme pocit, že pridávame hodnotu. Máme pocit, že nás to brzdí. Nevieme, koľko jej vlastne potrebujeme. Zabúdame na to. „Nejde nám písanie“ (diskusia v skupinkách) (ťahanie návrhov) (pohľad prednášajúceho - zoznam) bit.ly/mip-dotaznik

35 Lenže, stále platí bolesť č.2 (dokumentácia bolí keď ju nemáme)
Niektoré metodológie tvorby softvéru sa dokonca snažia tvorbu dokumentácie potlačiť Lenže, stále platí bolesť č.2 (dokumentácia bolí keď ju nemáme) bit.ly/mip-dotaznik

36 Čo všetko sa deje, keď dokumentácia chýba?
Nevieme čo máme tvoriť (upraviť, opraviť, ...)? Nevieme ako to máme robiť... (príklady) Nevieme, ako rozbehať knižnicu Debugujeme pol dňa niečo, čo je v poriadku Nevieme sa vysomáriť z vypísanej chyby Tvoríme výpočtovo neefektívny softvér Nevieme o vedľajších efektoch (fatálnych) ... bit.ly/mip-dotaznik

37 Záleží na type dokumentácie, ale vo všeobecnosti chcete, aby vznikala by-the-way počas iných aktivít
bit.ly/mip-dotaznik

38 Ako dobre ide (typicky) tvorba dokumentácie pri niektorých aktivitách
Vytvorenie dokumentácie Údržba dokumentácie Analýza a zber požiadaviek Návrh (architektúra, modely) Implementácia Komunikácia (zápisy myšlienok) Riadenie (plánovanie) bit.ly/mip-dotaznik

39 Ako dobre ide (typicky) tvorba dokumentácie pri niektorých aktivitách
Vytvorenie dokumentácie Údržba dokumentácie Analýza a zber požiadaviek Prirodzene, ale často nekompletne Návrh (architektúra, modely) Implementácia Komunikácia (zápisy myšlienok) Riadenie (plánovanie) bit.ly/mip-dotaznik

40 Ako dobre ide (typicky) tvorba dokumentácie pri niektorých aktivitách
Vytvorenie dokumentácie Údržba dokumentácie Analýza a zber požiadaviek Prirodzene, ale často nekompletne Často zanedbávané Návrh (architektúra, modely) Implementácia Komunikácia (zápisy myšlienok) Riadenie (plánovanie) bit.ly/mip-dotaznik

41 Ako dobre ide (typicky) tvorba dokumentácie pri niektorých aktivitách
Vytvorenie dokumentácie Údržba dokumentácie Analýza a zber požiadaviek Prirodzene, ale často nekompletne Často zanedbávané Návrh (architektúra, modely) Prirodzene Implementácia Komunikácia (zápisy myšlienok) Riadenie (plánovanie) bit.ly/mip-dotaznik

42 Ako dobre ide (typicky) tvorba dokumentácie pri niektorých aktivitách
Vytvorenie dokumentácie Údržba dokumentácie Analýza a zber požiadaviek Prirodzene, ale často nekompletne Často zanedbávané Návrh (architektúra, modely) Prirodzene Implementácia Komunikácia (zápisy myšlienok) Riadenie (plánovanie) bit.ly/mip-dotaznik

43 Ako dobre ide (typicky) tvorba dokumentácie pri niektorých aktivitách
Vytvorenie dokumentácie Údržba dokumentácie Analýza a zber požiadaviek Prirodzene, ale často nekompletne Často zanedbávané Návrh (architektúra, modely) Prirodzene Implementácia Iba ak sa snažíme Komunikácia (zápisy myšlienok) Riadenie (plánovanie) bit.ly/mip-dotaznik

44 Ako dobre ide (typicky) tvorba dokumentácie pri niektorých aktivitách
Vytvorenie dokumentácie Údržba dokumentácie Analýza a zber požiadaviek Prirodzene, ale často nekompletne Často zanedbávané Návrh (architektúra, modely) Prirodzene Implementácia Iba ak sa snažíme Veľmi ťažko Komunikácia (zápisy myšlienok) Riadenie (plánovanie) bit.ly/mip-dotaznik

45 Ako dobre ide (typicky) tvorba dokumentácie pri niektorých aktivitách
Vytvorenie dokumentácie Údržba dokumentácie Analýza a zber požiadaviek Prirodzene, ale často nekompletne Často zanedbávané Návrh (architektúra, modely) Prirodzene Implementácia Iba ak sa snažíme Veľmi ťažko Komunikácia (zápisy myšlienok) Riadenie (plánovanie) bit.ly/mip-dotaznik

46 Ako dobre ide (typicky) tvorba dokumentácie pri niektorých aktivitách
Vytvorenie dokumentácie Údržba dokumentácie Analýza a zber požiadaviek Prirodzene, ale často nekompletne Často zanedbávané Návrh (architektúra, modely) Prirodzene Implementácia Iba ak sa snažíme Veľmi ťažko Komunikácia (zápisy myšlienok) N/A Riadenie (plánovanie) bit.ly/mip-dotaznik

47 Ako dobre ide (typicky) tvorba dokumentácie pri niektorých aktivitách
Vytvorenie dokumentácie Údržba dokumentácie Analýza a zber požiadaviek Prirodzene, ale často nekompletne Často zanedbávané Návrh (architektúra, modely) Prirodzene Implementácia Iba ak sa snažíme Veľmi ťažko Komunikácia (zápisy myšlienok) N/A Riadenie (plánovanie) bit.ly/mip-dotaznik

48 Ako dobre ide (typicky) tvorba dokumentácie pri niektorých aktivitách
Vytvorenie dokumentácie Údržba dokumentácie Analýza a zber požiadaviek Prirodzene, ale často nekompletne Často zanedbávané Návrh (architektúra, modely) Prirodzene Implementácia Iba ak sa snažíme Veľmi ťažko Komunikácia (zápisy myšlienok) N/A Riadenie (plánovanie) Ak sme dôslední bit.ly/mip-dotaznik

49 Finty, aby sa dokumentácia tvorila ľahšie:
Zvyknite si písať poznámky, potom ich znovupoužívajte Ak diskutujete online, robte to v nástroji na evidenciu úloh (pozrite napr. Trello) Píšte čitateľný, samoopisný kód (radšej než komentáre) Robte často commity, nešetrite slovami v ich opisoch, urobte si pred commitom diff Využite odhadovanie (next slide) bit.ly/mip-dotaznik


Stiahnuť ppt "Metódy inžinierskej práce Prednáška 11: Projekty v IT"

Podobné prezentácie


Reklamy od Google