Publicité

Supazindinimas su agile_projektu_valdymu_l_vorobej_v2

Product owner / Agile Lietuva board member / Scrum master à Smart IT, UAB
15 Oct 2015
Publicité

Contenu connexe

Publicité

Similaire à Supazindinimas su agile_projektu_valdymu_l_vorobej_v2(20)

Publicité

Supazindinimas su agile_projektu_valdymu_l_vorobej_v2

  1. Susipažinimas su projektų valdymu IT ekspertų klubas Klaipėda 2015-10-14 Leonard Vorobej leonardas@gmail.com +370 68319110 1
  2. - VU (programų sistemos) 7 kursai  - TOC (nuo amato prie verslo) - Certified Scrum Master (CSM) - IC Agile certified Professional (ICP) - Agile Diena 2013 (200+) - Agile turas Vilniuje 2013 (400+) - Agile pusryčiai 2014 (50+) - Agile turas Vilniuje 2014 (400+) - Agile pusryčiai 2014 (40+) - Agile turas Vilniuje 2015 (550+) Smart IT Leonard Vorobej leonardas@gmail.com +370 68319110 www.agileturas.lt www.agile.lt www.agilediena.lt 2
  3. Turinys 3 Vaidas Adomauskas Blog: http://scrum.agile.lt Twitter: @adomauskas www.slideshare.net/vaidasa www.linkedin.com/in/vaidas
  4. www.agile.lt agilelietuva@googlegroups.com www.facebook.com/AgileLietuva www.slideshare.net/agilelietuva www.youtube.com/user/AgileLietuva www.linkedin.com/groups?home=&gid=4546946 www.twitter.com/agilelithuania4
  5. Agile profesionalų bendruomenė (www.agile.lt, agilelietuva@googlegroups.com) 5
  6. Konferencijos • www.agilediena.lt • www.pmdays.eu • www.agileturas.lt • Kaunas • Master Classes • Vilnius 6
  7. Kasmėnesiniai Agile naudotojų susitikimai • Vilnius – “paskutinį” mėn. Antradienį • Kaunas – “paskutinį” mėn. Ketvirtadienį • Klaipėda ??? 7
  8. Agile terminų ir medžiagos vertimai •Agile terminai: http://www.agile.lt/straipsnis/agile-lietuviskai-42 •Agile manifestas ir principai: http://agilemanifesto.org/iso/lt/ •Scrum gidas: https://www.scrum.org/Portals/0/Documents/Scrum% 20Guides/2013/Scrum-Guide-LTU.pdf#zoom=100 8
  9. Bendravimas su valstybiniu sektoriumi • Valstybinės informacinės sistemos gyvavimo ciklo valdymo metodika • http://www3.lrs.lt/pls/inter3/dokpaieska.showdoc_l?p_id= 466380 http://www.agile.lt/straipsnis/agile-viesajame-sektoriuje-48  Agile pusryčiai valstybiniam sektoriui  Nuo 2013m. 9
  10. Ir visa kita, kas svarbu ir duoda naudą Agile profesionalų bendruomenei 10
  11. Prisijunk irba tiesiog dalinkis patirtimi! http://www.agile.lt/straipsnis/apie-asociacija-37 11
  12. www.agile.lt agilelietuva@googlegroups.com www.facebook.com/AgileLietuva www.slideshare.net/agilelietuva www.youtube.com/user/AgileLietuva www.linkedin.com/groups?home=&gid=4546946 www.twitter.com/agilelithuania12
  13. Kas jus? • Kas girdėjote apie Agile (Scrum, Kanban, DSDM...)? • Kas bandėte/bandote naudoti? • Kas rimtai naudojate? • Kas: • Programuotojas • Testuotojas • Analitikas • Architektas • Projektų vadovas • Vadovas • kita.. 13
  14. Kas yra projektas? • PMI • A project is temporary in that it has a defined beginning and end in time, and therefore defined scope and resources. • And a project is unique in that it is not a routine operation, but a specific set of operations designed to accomplish a singular goal. • APM • A project is a unique, transient endeavour, undertaken to achieve planned objectives, which could be defined in terms of outputs, outcomes or benefits. http://www.pmi.org/About-Us/About-Us-What-is-Project-Management.aspx https://www.apm.org.uk/WhatIsPM 14
  15. Kur yra projektas? Software development House building Car manufacturing 15
  16. Proceso sudėtingumas Software projects Manufacturing Startups 16
  17. Kaip esame pripratę dirbti? 17
  18. Reikalavimai > dizainas > programavimas 19
  19. Integravimas ir testavimas 20 ?
  20. Tradiciniai projektai – kaip šaudymas iš patrankos Prielaidos: • Klientas žino ko nori • Programuotojai žino kaip sukurti • Niekas pakeliui nepasikeis 21
  21. Nuoseklusis (krioklinis) projektas P Planavimas S Stabilizavimas V Vystymas 22
  22. Nuoseklusis (krioklinis) projektas • Reikalavimai (SRS) • “Surašykit VISKĄ ką galite sugalvoti. Bet koks reikalavimų keitimas ateityje jums kainuos LABAI daug” • Dokumentacija (artifacts) • “Apsisaugosim kai ieškos kaltų” 23
  23. Mes kuriame nereikalingą funkcionalumą Didžiausia galimybė padidinti programinės įrangos kūrimo produktyvumą yra rašyti mažiau kodo!* This graph courtesy of Mary Poppendieck *Mary Poppiendieck, “It’s Not About Working Software”, Agileee 2010 conference 24
  24. Galbūt tai darome sėkmingai? 25
  25. Ar yra viltis? 26
  26. Comparing Software Development Paradigms: 2013 0% 20% 40% 60% 80% 100% Traditional Ad-Hoc Agile Iterative Lean Successful Challenged Failed Copyright 2014 Scott W. Ambler www.ambysoft.com/surveys/
  27. Comparing Delivery Paradigms -3.0 -1.0 1.0 3.0 5.0 7.0 Time/Schedule ROI Stakeholder Value Product Quality Lean Agile Iterative Ad-hoc Traditional Copyright 2014 Scott W. Ambler www.ambysoft.com/surveys/ http://www.ambysoft.com/downloads/surveys/Success2013.pptx
  28. Agile www.agilemanifesto.org We are uncovering better ways of developing software by doing it and helping others do it. February 11-13, 2001 Snowbird ski resort, Utah Kent Beck Mike Beedle Arie van Bennekum Alistair Cockburn Ward Cunningham Martin Fowler James Grenning Jim Highsmith Andrew Hunt Ron Jeffries Jon Kern Brian Marick Robert C. Martin Steve Mellor Ken Schwaber Jeff Sutherland Dave Thomas 29
  29. Judrumo (Agile) manifestas ...mes vertiname: Žmones ir jų bendravimą labiau nei procesą ir įrankius http://agilemanifesto.org/ 30
  30. Judrumo (Agile) manifestas ...mes vertiname: Veikiančią programinę įrangą labiau nei išsamią dokumentaciją http://agilemanifesto.org/ 31
  31. Judrumo (Agile) manifestas ...mes vertiname: Bendradarbiavimą su klientu labiau nei derybas dėl kontraktų http://agilemanifesto.org/ 32
  32. Judrumo (Agile) manifestas ...mes vertiname: Reagavimą į pokyčius labiau nei plano sekimą http://agilemanifesto.org/ 33
  33. Iteracija 1 • Pilnai pabaigtas (done) • paleidžiamas (shipable) • produkto prieaugis (increment) 35
  34. Iteracija 2 36
  35. Iteracijos 3 - … 37
  36. Agile yra procesas kurti nuolat priaugantį produktą! 38
  37. Judrūs projektai – kaip valdoma raketa Prielaidos: • Klientas atras ko nori • Programuotojai atras kaip sukurti • Pokyčių tikrai bus 39
  38. Judrus projektas P P V SP V P V P V 40
  39. Judraus projekto planas • Sistema kuriama funkcijomis / moduliais (dydis): – Funkcija 1 (20) – Funkcija 2 (40) – Funkcija 3 (20) – Funkcija 4 (40) – Funkcija 5 (20) – Funkcija 6 (40) • Viso (180) • Anksti matosi ar teisingai įvertinome: – Funkcija 1 (20) – baigėm po 30  – Funkcija 2 (40) – Funkcija 3 (20) – Funkcija 4 (40) – Funkcija 5 (20) – Funkcija 6 (40) • Viso (180) - ar tikrai 180? • Funkcijų prioritetus galima keisti jei pasikeitė svarbumas: – Funkcija 1 (20) – Funkcija 2 (40) – Funkcija 5 (20) – svarbesnė – Funkcija 3 (20) – Funkcija 4 (40) – Funkcija 6 (40) • Viso (180) • Funkcijas galima keisti (tokio pat dydžio funkcija: – Funkcija 1 (20) – Funkcija 2 (40) – Funkcija 3 (20) – Funkcija 7 (40) – nauja – Funkcija 5 (20) – Funkcija 6 (40) • Viso (180) 41
  40. 4% with no estimate!!! 42 Woody Zuill - https://speakerdeck.com/agilelatvia/no-estimates-lets-explore-the-possibilities-by-woody-zuill
  41. 43
  42. Kodėl Agile veikia? 44
  43. Multitasking‘as ir fokusavimasis 45
  44. Multitasking‘o žaidimas • Pirma lentelė: • Užpildykite stulpelius vertikaliai ( 1…10, I…X, A…C) • Parašykite pabaigos laiką • Pradedam! • Antra lentelė: • Užpildykite stulpelius iš kairės į dešinę (1, I, A, 2, II, B, 3…) • Parašykite pabaigos laiką • Pradedam! • Komentarai? 46
  45. 3 nepriklausomi projektai Multitasking‘as: P1 P2 P3P1 P2 P3 P1 P2P3 Projekto 1 laikas (7 dienos) Teoriškai: Project 1 Project 3Project 2 (3 dienos) Realybė: Project 1 Project 3Project 2 (2 dienos) Visi projektai (6 dienos) 47
  46. Apibrėžtas bei empirinis procesai 48
  47. Kur yra projektas? Software development House building Car manufacturing 49
  48. Proceso sudėtingumas Software projects Manufacturing Startups 50
  49. Vadovavimas ir saviorganizacija 51
  50. Proceso sudėtingumas Software projects Manufacturing Startups 52
  51. Viktorija Trubačiūtė http://www.slideshare.net/AgileLietuva/vieno-pilotinio-projekto-istorija, Lietuvos Agile Diena 2011 Stabili komanda 53
  52. Sub-optimization vs. Optimize the Whole 54
  53. Proceso sudėtingumas Software projects Manufacturing Startups 55
  54. Potentially shippable product increment Tarp-funkcinė komanda 56 Product owner
  55. Agile metodai 57
  56. Agile Lean XP TDD Continuous Integration Metodai Praktikos ... ... 58
  57. Scrum 59
  58. Ekstremalus programavimas (XP) • 12 praktikų • The Planning Game • Small releases • Metaphor • Simple design • Continues Testing • Refactoring • Pair programming • Collective code ownership • Continuous integration • 40 hour week • On-site customer • Coding standards 60
  59. Sprint Planning meeting Daily Scrum Sprint Review Sprint backlog Product backlog TDD Pair programming Refactoring Simple design Coding standard Sustainable Pace Metaphor Continuous Integration Collective ownership Whole team Planning game Small releases Customer tests Burndown chart Product owner Team ScrumMaster Scrum XP 61
  60. Kanban • Vizualizuok darbo procesą • Limituok pradėtą darbą (WIP – work in progress) • Matuok ir optimizuok tėkmę 62
  61. Kiti Agile metodai • Feature Driven Development (FDD) • Agile Modeling • Crystal • Agile Unified Process (AUP) • Dynamic Systems Development Method (DSDM) • … 63
  62. • Mažinti šiukšles (Muda) • Gaminti kokybiškai • Gaminti greitai • Vertinti žmones • Optimizuoti sistemą • Nuolat tobulinama (Kaizen) Lean 64 Realybė: Project 1 Project 3Project 2 (2 dienos) Visi projektai (6 dienos) “Organizations that are truly lean have a strong competitive advantage because they respond very rapidly and in a highly disciplined manner to market demand, rather than try to predict the future.” – Mary Poppendieck Mary & Tom Poppendieck
  63. Kas čia blogai? Nei viena iš šių problemų yra sukelta įrankio!!! Blogai naudojasi įrankiu Naudoja blogą įrankį 65
  64. Agile 66 Chaos No planning (no predictability) No documentation Small teams Process Product Backlog : just in time and just enough Just in time and minimal enough Microsoft, IBM, Amazon, Adform  Myths Reality
  65. Įvertinkite paskaitą, ačiū! 67 http://www.noop.nl/2011/04/the-feedback-door.html
  66. Ačiū  68 Leonard Vorobej leonardas@gmail.com +370 68319110

Notes de l'éditeur

  1. Asociacijos Agile Lietuva pristatymas; Susitarkime kas yra projektas?; Sukursime vaikų saugaus eismo mokymo programą; Aptarsime kas yra Agile; Susipažinsime su Agile Manifestu; Suprasime kas yra Scrum, Kanban, Lean ir kiti „keiksmažodižiai“; Kodėl naudoti ir kodėl veikia Agile?;
  2. Asociacija “Agile Lietuva” yra aktyvių Agile projektų valdymo metodų ir techninių praktikų naudotojų Lietuvoje bendruomenė. Tikslas Dalinantis patirtimi tobulinti Agile projektų valdymo metodų ir techninių praktikų naudojimą savo kompanijose. Tikslinė grupė Mes diskutuojame apie Agile metodų naudojimo praktinius aspektus, todėl mūsų tikslinė grupė yra vadovai, projektų vadovai, Scrum meistrai (Scrum Masters), produktų šeimininkai (Product Owners), komandų lyderiai ir kiti atsakingi už procesų tobulinimą įmonėse.
  3. 50+
  4. Vilniaus ir Kauno 2015m. Agile turas komandos.
  5. Project management Institute Association of project management
  6. Kur yra projektai? Kur gamyba? O startup‘ai anarchijoje ;)
  7. The levels of success were defined as follows: Successful. A project is considered successful if a solution has been delivered and it met its success criteria within a range acceptable to your organization. Challenged. A project is considered challenged if a solution was delivered but the team did not fully meet all of the project's success criteria within acceptable ranges (e.g. the quality was fine, the project was pretty much on time, but ROI was too low). Failed. The project team did not deliver a solution. The paradigms were defined as follows: Ad-hoc. On an ad-hoc software development project the team does not follow a defined process. Iterative. On an iterative software development project the team follows a process which is organized into periods that are often referred to as iterations or time boxes. On any given day of the project team members may be gathering requirements, doing design, writing code, testing, and so on. An example of an iterative process is RUP. NOTE: We will ask about Agile projects, which are defined as iterative projects that are performed in a highly collaborative and lightweight manner, later. Agile. On an agile software development project the team follows an iterative process which is also lightweight, highly collaborative, self-organizing, and quality focused. An example of an agile process is Scrum, XP, and Disciplined Agile Delivery (DAD). Traditional. On a traditional software development project the team follows a staged process where the requirements are first identified, then the architecture/design is defined, then the coding occurs, then testing, then deployment. Traditional processes are often referred to as "waterfall" or simply "serial" processes. Lean. Lean is a label applied to a customer value-focused mindset/philosophy. A lean process continuously strives to optimize value to the end customer, while minimizing waste which may be measured in terms of time, quality, and cost. Ultimately the Lean journey is the development of a learning organization. Examples of Lean methods/processes include Kanban and Scrumban. Success rates were calculated using the following strategy: A weighted average for each of level of success was calculated. A selection of 91-100% was considered to be 95%, 81-90% as 85% and so on. A selection of 0 was considered as 0. Answers of Don’t Know were now counted. A normalized value was calculated. The weighted averages didn’t always add up to 100%. For example, the weighted averages may have been 60% 30% and 20% for a total of 110%. To normalize the values we divided by the total, to report 60/110, 30/110, and 20/110.
  8. The following questions were asked for each factor: Product Quality. When it comes to the quality of the system delivered, what is your experience regarding the effectiveness of [paradigm] software development teams? Stakeholder Value. When it comes to ability to deliver a solution which meets the actual needs of it's stakeholders, what is your experience regarding the effectiveness of [paradigm] software development teams? ROI. When it comes to effective use of return on investment (ROI), what is your experience regarding the effectiveness of [paradigm] software development teams? Time/Schedule. When it comes to time/schedule, what is your experience regarding the effectiveness of [paradigm] software development teams? When respondents indicated that they had experience with a given paradigm, for each of the potential success factors there were given the following options: Not applicable (not counted for scoring) Very effective (Score = 10) Effective (Score = 5) Neutral (Score = 0) Ineffective (Score = -5) Very ineffective (Score = -10) To calculate the overall rating for each factor was calculated as a weighted average using the score values listed above.
  9. Definition of Done
  10. http://www.online-stopwatch.com/large-stopwatch/
  11. Kur yra projektai? Kur gamyba? O startup‘ai anarchijoje ;)
  12. Kur yra projektai? Kur gamyba? O startup‘ai anarchijoje ;)
  13. How long will they work together? Usually… less than a 1 month Usually… analysts at the beginning, testers will join in the end How many projects will they work on? Usually… 2 or more What activities will we take to build a team? Usually… beers!
  14. Kur yra projektai? Kur gamyba? O startup‘ai anarchijoje ;)
  15. Kanban (かんばん(看板)?) (literally signboard or billboard in Japanese) is a scheduling system for lean and just-in-time (JIT) production.[2] Kanban is a system to control the logistical chain from a production point of view, and is an inventory control system. Kanban was developed by Taiichi Ohno, an industrial engineer at Toyota, as a system to improve and maintain a high level of production. Kanban is one method to achieve JIT.[3]
  16. In a nutshell, Lean says to relentlessly eliminate anything that isn’t adding value and only work on what we absolutely need to be doing at this moment in time. Eliminating waste means eliminating useless meetings, tasks and documentation. But it also means eliminating time spent building what “we know” we’ll need in the future (things are constantly changing so we often end up not needing them – or if we do, we have to rework them because conditions and our understanding has changed by then). It also means eliminating inefficient ways of working – like multitasking (!) – so we can deliver fast. Lean also puts a very strong emphasis on what it calls “the system” – that is, the way that the team operates as a whole. We always need to be looking at our work from a top level to ensure we’re optimizing for the whole. For example, many managers want to “optimize” individual developers by ensuring they’re always at 100% – but most of the time, this is actually counter-productive. Let’s not have people coding something that isn’t needed (or fully defined yet) just for the sake of coding, because that actually creates more work for us in the future (see: Why You Should Let Your Developers Surf). Along those lines, Lean says to respect that the people doing the work are the ones that best know how to do it. Give them what they need to be effective and then trust them to do it. Software development is about learning, so structure the work to ensure we’re continuously learning. And because of that, defer decisions until the last responsible moment (because we’ll know more by then). Finally, develop in a way that builds quality into our product, because there’s no way to continuously deliver fast if we have to keep going back to clean up our messes. “Organizations that are truly lean have a strong competitive advantage because they respond very rapidly and in a highly disciplined manner to market demand, rather than try to predict the future.” – Mary Poppendieck
  17. Never blame the tool!
Publicité