Slide 1

advertisement
Agile
Geriausia užsakovo-vykdytojo santykių iliustracija
• Pigs and chicken
– Chicken – užsakovas: naudotojai, vadovai
– Pigs – vykdytojas: produkto savininkas, komanda
Waterfall vs. Agile (waterfall istorija)
• Waterfall yra paklydimas!
• Waterfall kaip sąvoka (ir kaip siūlomas IS
įgyvendinimo būdas) atsirado iš Winston W.
Royce straipsnio
– Pats W.W.Royce apie Waterfall sakė, kad jį ne taip
suprato, o jo paties nuomonė yra: „I believe in this
concept, but the implementation described above is
risky and invites failure.“ (iš to paties straipsnio)
• O tapo įteisintas dėl žmogiško poreikio turėti
lengvai suprantamą (racionalų) sprendimą:
vs.
Waterfall vs. Agile (waterfall istorija)
• David L. Parnas et al. A Rational Design Process:
How and Why to fake it:
– „For all of these reasons, the picture of the software
designer deriving his design in a rational, errorfree, way
from a statement of requirements is quite unrealistic. No
system has ever been developed in that way, and
probably none ever will.“
– Išeitis: turėti racionalų procesą neįmanoma, tai tenka
imituoti jį
• F.Brooks, The Design of Design:
– The Rational Model may seem naive to us today. But it is
a very natural model for people to conceive.
• Išsamiau – privaloma pasižiūrėti prezentacija:
Real Software Engineering - Glenn Vanderburg
Projektų valdymas
• Projektas = karo lauko ligoninė
– Nesaugo nuo kulkų, bet nuo dulkių saugo
• Projekto paskirtis – suteikti apsaugą nuo
neigiamų įtakų organizacijos viduje:
– Tikslo pametimo
– Motyvacijos stokos
– Nenoro bendradarbiauti
– Finansavimo trūkumo
• Projekto valdymo priemonės?
Waterfall vs. Agile (projektų valdymas)
• Kiek teisingas teiginys, kad tradicinis
projekto valdymas reikalauja daug
nereikalingų pastangų?
• Neapsigaukite: ne tradicinis, o blogas projekto
valdymas!
– Apie tai jau kalbėjome Tema10.ppt
• Ar Scrum master yra projekto vadovas?
• Kas yra projekto vadovas Scrum projekte?
Waterfall vs. Agile (projektų valdymas)
• Projekto sėkmės supratimas
Sėkmės faktorius
Tvarkaraštis
Naujas apibrėžimas
61% mano, kad svarbiau sistemą pateikti ne tiek laiku, o
kiek tada, kai ji parengta diegimui
87% mano, kad tikrųjų suinteresuotų šalių poreikių
Apimtis patenkinimas svarbiau nei atitikimas reikalavimų
specifikacijai
Kaina
Kokybė
79% mano, kad sistemos atsipirkimo (ROI) optimizavimas
yra svarbiau nei sistemos sukūrimas biudžeto ribose
87% mano, kad aukšta kokybė svarbiau nei sistemą
pateikti laiku ir už planuotą kainą
75% mano, kad psichologiškai ir fiziologiškai sveika darbo
Darbuotojai aplinka ir darbo sąlygos yra svarbiau nei sistemą pateikti
laiku ir už planuotą kainą
Nuomonės cituojamos iš http://drdobbs.com/architecture-and-design/202800777
Waterfall vs. Agile (projektų valdymas)
• Projekto sėkmės faktoriai valdiškuose IT pirkimuose
(iš United States Government Accountability Office 2011 spalio
mėn. ataskaitos):
Sėkmės faktorius
1 Program officials were actively engaged with stakeholders.
2 Program staff had the necessary knowledge and skills.
3 Senior department and agency executives supported the programs.
4 End users and stakeholders were involved in the development of requirements.
5
End users participated in testing of system functionality prior to formal end
user acceptance testing.
6 Government and contractor staff were stable and consistent.
7 Program staff prioritized requirements.
8 Program officials maintained regular communication with the prime contractor.
9 Programs received sufficient funding.
Šaltinis: http://www.gao.gov/new.items/d127.pdf
Agile
• Geriausia matyta Scrum prezentacija:
Jurgen Appelo The Zen of Scrum
Waterfall vs. Agile (reikalavimų valdymas)
Nusistebėjimai, klausantis Agile entuziastų:
• User-story pavyzdys: „Aš kaip klientas
norėčiau turėti galimybę išleisti sukauptus
lojalumo taškus?“
– ar čia user story?
• Ar tikrai organizacijos darbuotojai (užsakovai)
nežino, ko jiems reikia?
O gal IT žmonės nemoka išgirsti, ko jiems
reikia?
• Kas yra Product owner?
Kaip tokį užsiauginti?
Waterfall vs. Agile (reikalavimų valdymas)
• Agile vs. Tradicinė projektų valdymo terminologija:
• Iš verto perskaityti palyginamojo straipsnio:
http://herdingcats.typepad.com/my_weblog/2011/07/c
onnecting-the-dots-in-agile.html
Kanban
• Vizualiai Kanban gali atrodyti kaip Scrum be
iteracijų
• Tačiau Kanban esmė – sutelkti žmonių dėmesį,
ribojant WIP (atliekamų vienu metu užduočių)
kiekį
– To išdava: užtikrinamas pastovus atliekamų darbų
srautas
– Scrum siekia to paties tikslo, tačiau ne srauto
ribojimu, o darbo užduočių paketavimu į iteracijas
(t.p. žr. Why Kanban Board is a Value Stream Map
but a Scrum Board Isn’t)
Kanban principai
First adopt foundational
principles:
Then:
• Start with what you
do now
• Limit WIP
• Agree to pursue
incremental,
evolutionary change
• Visualize the workflow
• Manage Flow
• Make Process Policies
Explicit
• Improve
• Respect the current
Collaboratively (using
process, roles,
models & the scientific
responsibilities & titles
method)
Šaltinis: David J. Andersson „The principles“, iš:
http://agilemanagement.net/index.php/Blog/the_princi
ples_of_the_kanban_method/
Kanban
• Aleksei Kovaliov Scrum vs. Kanban
• Tomas Bjorkholm Kanban kick-start (v2)
• Pavel Brodzinski Kanban story
• Mattias Skarin 10 kanban boards and their
context
• Jim Coplien An Alternative to Kanban: OnePiece Continuous Flow
Scrum board realizacija
• Projektorius
• Kamera su judesio jutikliu
• RFID kortelės
• Sinchronizacija su Jira
• Veiksmas:
http://www.youtube.com/user/olekristensendk
• Technologijos pristatymas:
http://video.demodag.org/video/909052/voda
fone-scrumboard
LEAN software development vertinimas
• Jie mano, kad pritaikę LEAN požiūrį, padarė
savo procesą atitinkantį CMMI L4:
Lean Software Management: BBC Worldwide
Case Study
•
This case study examines how the lean ideas behind the Toyota production system can be
applied to software project management. It is a detailed investigation of the performance of a
nine-person software development team employed by BBC Worldwide based in London. The
data collected in 2009 involved direct observations of the development team, the kanban
boards, the daily stand-up meetings, semistructured interviews with a wide variety of staff,
and statistical analysis. The evidence shows that over the 12-month period, lead time to
deliver software improved by 37%, consistency of delivery rose by 47%, and defects reported
by customers fell 24%. The significance of this work is showing that the use of lean methods
including visual management, team-based problem solving, smaller batch sizes, and
statistical process control can improve software development. It also summarizes key
differences between agile and lean approaches to software development.
•
The conclusion is that the performance of the software development team was improved by
adopting a lean approach. The faster delivery with a focus on creating the highest value to
the customer also reduced both technical and market risks. The drawbacks are that it may
not fit well with existing corporate standards.
Fin!
Download