Supazindinimas su agile_projektu_valdymu_l_vorobej_v2
15 Oct 2015•0 j'aime
1 j'aime
Soyez le premier à aimer ceci
afficher plus
•455 vues
vues
Nombre de vues
0
Sur Slideshare
0
À partir des intégrations
0
Nombre d'intégrations
0
Télécharger pour lire hors ligne
Signaler
Formation
Supažindinimas su Agile projektų vadlymų, projekto analizė, tradicinio (waterfall) palyginimas su Agile projektu, Agile manifesto, Scrum, Kanban, Lean.
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
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
Ir visa kita, kas svarbu ir duoda naudą
Agile profesionalų bendruomenei
10
Prisijunk irba tiesiog dalinkis patirtimi!
http://www.agile.lt/straipsnis/apie-asociacija-37
11
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
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
Tradiciniai projektai – kaip šaudymas iš patrankos
Prielaidos:
• Klientas žino ko nori
• Programuotojai žino kaip
sukurti
• Niekas pakeliui nepasikeis
21
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
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
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/
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
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
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
4% with no estimate!!!
42
Woody Zuill - https://speakerdeck.com/agilelatvia/no-estimates-lets-explore-the-possibilities-by-woody-zuill
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
Kanban
• Vizualizuok darbo procesą
• Limituok pradėtą darbą (WIP – work in progress)
• Matuok ir optimizuok tėkmę
62
Kiti Agile metodai
• Feature Driven Development (FDD)
• Agile Modeling
• Crystal
• Agile Unified Process (AUP)
• Dynamic Systems Development Method (DSDM)
• …
63
• 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
Kas čia blogai?
Nei viena iš šių problemų yra sukelta įrankio!!!
Blogai naudojasi įrankiu Naudoja blogą įrankį
65
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
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?;
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.
50+
Vilniaus ir Kauno 2015m. Agile turas komandos.
Project management Institute
Association of project management
Kur yra projektai?
Kur gamyba?
O startup‘ai anarchijoje ;)
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.
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.
Definition of Done
http://www.online-stopwatch.com/large-stopwatch/
Kur yra projektai?
Kur gamyba?
O startup‘ai anarchijoje ;)
Kur yra projektai?
Kur gamyba?
O startup‘ai anarchijoje ;)
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!
Kur yra projektai?
Kur gamyba?
O startup‘ai anarchijoje ;)
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]
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