![Page 1: Agile and Agile methods: what is the most important to understand to succeed](https://reader033.vdocument.in/reader033/viewer/2022060107/554a4130b4c905863d8b4fd4/html5/thumbnails/1.jpg)
Vaidas Adomauskaswww.agileturas2010.agile.lt2010-10-14
Agile and Agile methods: what is the most important to understand
to succeed
Vaidas Adomauskas
![Page 2: Agile and Agile methods: what is the most important to understand to succeed](https://reader033.vdocument.in/reader033/viewer/2022060107/554a4130b4c905863d8b4fd4/html5/thumbnails/2.jpg)
Vaidas Adomauskaswww.agileturas2010.agile.lt2010-10-14
Disclaimer
• This is just my opinion and interpretation of information
• Use at your own risk ;)
• Information and pictures fromo Henrik Knibergo Mary Poppendiecko Googleo ...
![Page 3: Agile and Agile methods: what is the most important to understand to succeed](https://reader033.vdocument.in/reader033/viewer/2022060107/554a4130b4c905863d8b4fd4/html5/thumbnails/3.jpg)
Vaidas Adomauskaswww.agileturas2010.agile.lt2010-10-14
Agenda (0)
Vaidas
![Page 4: Agile and Agile methods: what is the most important to understand to succeed](https://reader033.vdocument.in/reader033/viewer/2022060107/554a4130b4c905863d8b4fd4/html5/thumbnails/4.jpg)
Vaidas Adomauskaswww.agileturas2010.agile.lt2010-10-14
Agile
Agenda (1)
Agile
Agile
Agile
![Page 5: Agile and Agile methods: what is the most important to understand to succeed](https://reader033.vdocument.in/reader033/viewer/2022060107/554a4130b4c905863d8b4fd4/html5/thumbnails/5.jpg)
Vaidas Adomauskaswww.agileturas2010.agile.lt2010-10-14
Agenda (2)
Lean
XPScrumTDD
KanbanContinuous Integration
Pair
programming
Refactoring
![Page 6: Agile and Agile methods: what is the most important to understand to succeed](https://reader033.vdocument.in/reader033/viewer/2022060107/554a4130b4c905863d8b4fd4/html5/thumbnails/6.jpg)
Vaidas Adomauskaswww.agileturas2010.agile.lt2010-10-14
Agenda (3)
![Page 7: Agile and Agile methods: what is the most important to understand to succeed](https://reader033.vdocument.in/reader033/viewer/2022060107/554a4130b4c905863d8b4fd4/html5/thumbnails/7.jpg)
Vaidas Adomauskaswww.agileturas2010.agile.lt2010-10-14
ABOUT ME
![Page 8: Agile and Agile methods: what is the most important to understand to succeed](https://reader033.vdocument.in/reader033/viewer/2022060107/554a4130b4c905863d8b4fd4/html5/thumbnails/8.jpg)
Vaidas Adomauskaswww.agileturas2010.agile.lt2010-10-14
About me (1)
• VU MIF – Software Engineering(bachelor)
• IT University of Gothenburg – Master in Software Engineering and Management
• Lavasoft (www.lavasoft.com )
• Adform (www.adform.com)
![Page 9: Agile and Agile methods: what is the most important to understand to succeed](https://reader033.vdocument.in/reader033/viewer/2022060107/554a4130b4c905863d8b4fd4/html5/thumbnails/9.jpg)
Vaidas Adomauskaswww.agileturas2010.agile.lt2010-10-14
Apie mane (2)
• Certified Scrum Master (Ken Schwaber, Paris)
• Certified Product Owner (Robin Dymond ,Kiev)
• Agile Conferences
• http://scrum.agile.lt
• Lecturer at VU MIF “Agile Project Management with Scrum”
![Page 10: Agile and Agile methods: what is the most important to understand to succeed](https://reader033.vdocument.in/reader033/viewer/2022060107/554a4130b4c905863d8b4fd4/html5/thumbnails/10.jpg)
Vaidas Adomauskaswww.agileturas2010.agile.lt2010-10-14
MAGIC WORD?Traditional Process and Statistics
Agile
![Page 11: Agile and Agile methods: what is the most important to understand to succeed](https://reader033.vdocument.in/reader033/viewer/2022060107/554a4130b4c905863d8b4fd4/html5/thumbnails/11.jpg)
Vaidas Adomauskaswww.agileturas2010.agile.lt2010-10-14
Traditional SW projects are like a
cannon ball
Assumptions:o The customer knows what
he wantso The developers know how
to build ito Nothing will change
along the way
![Page 12: Agile and Agile methods: what is the most important to understand to succeed](https://reader033.vdocument.in/reader033/viewer/2022060107/554a4130b4c905863d8b4fd4/html5/thumbnails/12.jpg)
Vaidas Adomauskaswww.agileturas2010.agile.lt2010-10-14
We tend to build the wrong thing
The Biggest Opportunity to Increase Software Development Productivity is to Write Less
Code!*12
This graph courtesy of Mary Poppendieck
*Mary Poppiendieck, “It’s Not About Working Software”, Agileee 2010 conference
![Page 13: Agile and Agile methods: what is the most important to understand to succeed](https://reader033.vdocument.in/reader033/viewer/2022060107/554a4130b4c905863d8b4fd4/html5/thumbnails/13.jpg)
Vaidas Adomauskaswww.agileturas2010.agile.lt2010-10-14
Maybe we are successfull?
“Doing projects with iterative processes as opposed to the waterfall method, which called for all project requirements to be defined up front, is a major step forward.”
“The primary reason [for the improvement] is that projects have gotten a lot smaller.”
Jim JohnsonChairman ofStandish Group
Sources:http://www.softwaremag.com/L.cfm?Doc=newsletter/2004-01-15/Standishhttp://www.infoq.com/articles/Interview-Johnson-Standish-CHAOS”My Life is Failure”, Jim Johnson’s book
“There is no silver bullet but agile methods come very close”
13
![Page 14: Agile and Agile methods: what is the most important to understand to succeed](https://reader033.vdocument.in/reader033/viewer/2022060107/554a4130b4c905863d8b4fd4/html5/thumbnails/14.jpg)
Vaidas Adomauskaswww.agileturas2010.agile.lt2010-10-14
How about performance of Agile?
Source: Dr. Dobb’s Journal 2008 Agile Adoption Survey
![Page 15: Agile and Agile methods: what is the most important to understand to succeed](https://reader033.vdocument.in/reader033/viewer/2022060107/554a4130b4c905863d8b4fd4/html5/thumbnails/15.jpg)
Vaidas Adomauskaswww.agileturas2010.agile.lt2010-10-14
Who is using it?
![Page 16: Agile and Agile methods: what is the most important to understand to succeed](https://reader033.vdocument.in/reader033/viewer/2022060107/554a4130b4c905863d8b4fd4/html5/thumbnails/16.jpg)
Vaidas Adomauskaswww.agileturas2010.agile.lt2010-10-14
What about Lithuania?
?
![Page 17: Agile and Agile methods: what is the most important to understand to succeed](https://reader033.vdocument.in/reader033/viewer/2022060107/554a4130b4c905863d8b4fd4/html5/thumbnails/17.jpg)
Vaidas Adomauskaswww.agileturas2010.agile.lt2010-10-14
MAGIC WORD?Early Software Engineering
Agile
![Page 18: Agile and Agile methods: what is the most important to understand to succeed](https://reader033.vdocument.in/reader033/viewer/2022060107/554a4130b4c905863d8b4fd4/html5/thumbnails/18.jpg)
Vaidas Adomauskaswww.agileturas2010.agile.lt2010-10-14
Avoid bugs (1972)
• “Those who want really reliable software will discover that they must find means of avoiding the majority of bugs to start with…
• … programmers… should not introduce the bugs to start with.”
Edsger W. Dijkstra, “The Humble Programmer”, 1972 (http://userweb.cs.utexas.edu/~EWD/transcriptions/EWD03xx/EWD340.html)
![Page 19: Agile and Agile methods: what is the most important to understand to succeed](https://reader033.vdocument.in/reader033/viewer/2022060107/554a4130b4c905863d8b4fd4/html5/thumbnails/19.jpg)
Vaidas Adomauskaswww.agileturas2010.agile.lt2010-10-14
The Life Cycle Concept (1976)
• The biggest opportunity for cost reduction was finding errors as soon as possible:
Barry W. Boehm, “Software Engineering”, 1976 (http://www.computer.org/portal/web/csdl/doi/10.1109/TC.1976.1674590)
![Page 20: Agile and Agile methods: what is the most important to understand to succeed](https://reader033.vdocument.in/reader033/viewer/2022060107/554a4130b4c905863d8b4fd4/html5/thumbnails/20.jpg)
Vaidas Adomauskaswww.agileturas2010.agile.lt2010-10-14
Problem 1
• Separation of design from implementation
o Swartout and Balzer: “All current software methodologies have adopted a common model that separates specification from implementation. Unfortunately, this model is overly naïve, and does not match reality.”**Swartout and Balzer, “On the Inevitable Intertwining of Specification and Implementation”, 1982
![Page 21: Agile and Agile methods: what is the most important to understand to succeed](https://reader033.vdocument.in/reader033/viewer/2022060107/554a4130b4c905863d8b4fd4/html5/thumbnails/21.jpg)
Vaidas Adomauskaswww.agileturas2010.agile.lt2010-10-14
Problem 2
• Large batches of work (usually all project)
o “Large batches of work tend to queue up during each process step, and so defects are not detected at the point of insertion; they have to wait to be uncovered in a batch validation step”*Mary and Tom Poppiendieck, “Leading Lean Software development”, 2000
![Page 22: Agile and Agile methods: what is the most important to understand to succeed](https://reader033.vdocument.in/reader033/viewer/2022060107/554a4130b4c905863d8b4fd4/html5/thumbnails/22.jpg)
Vaidas Adomauskaswww.agileturas2010.agile.lt2010-10-14
Other opponents
• McCracken and Jackson, “Life Cycle Concept Considered Harmful”, 1982
• Tom Gilb, “Evolutionary Development”, 1981o Start with short measurable business goalso Incremental deliverables (real software, real
value)
• Toyota Way• Just In Time (JIT)• Lean• Agile• ….
![Page 23: Agile and Agile methods: what is the most important to understand to succeed](https://reader033.vdocument.in/reader033/viewer/2022060107/554a4130b4c905863d8b4fd4/html5/thumbnails/23.jpg)
Vaidas Adomauskaswww.agileturas2010.agile.lt2010-10-14
AgileAgile
MAGIC WORD?Umbrella term
![Page 24: Agile and Agile methods: what is the most important to understand to succeed](https://reader033.vdocument.in/reader033/viewer/2022060107/554a4130b4c905863d8b4fd4/html5/thumbnails/24.jpg)
Vaidas Adomauskaswww.agileturas2010.agile.lt2010-10-14
Agile Manifesto
www.agilemanifesto.org We are uncovering better ways of developing software by doing it and helping others do it.
Feb 11-13, 2001
Snowbird ski resort, Utah
Kent BeckMike BeedleArie van BennekumAlistair CockburnWard CunninghamMartin FowlerJames GrenningJim HighsmithAndrew HuntRon Jeffries
Jon KernBrian MarickRobert C. MartinSteve MellorKen SchwaberJeff SutherlandDave Thomas
![Page 25: Agile and Agile methods: what is the most important to understand to succeed](https://reader033.vdocument.in/reader033/viewer/2022060107/554a4130b4c905863d8b4fd4/html5/thumbnails/25.jpg)
Vaidas Adomauskaswww.agileturas2010.agile.lt2010-10-14
Agile Manifesto (1)
...we value:
Individuals and
interactions
over
processes and
tools http://agilemanifesto.org/
![Page 26: Agile and Agile methods: what is the most important to understand to succeed](https://reader033.vdocument.in/reader033/viewer/2022060107/554a4130b4c905863d8b4fd4/html5/thumbnails/26.jpg)
Vaidas Adomauskaswww.agileturas2010.agile.lt2010-10-14
Agile Manifesto (2)
...we value:
Working software
over
comprehensive documentation
http://agilemanifesto.org/
![Page 27: Agile and Agile methods: what is the most important to understand to succeed](https://reader033.vdocument.in/reader033/viewer/2022060107/554a4130b4c905863d8b4fd4/html5/thumbnails/27.jpg)
Vaidas Adomauskaswww.agileturas2010.agile.lt2010-10-14
Agile Manifesto (3)
...we value:
Customer collaboration
over
contract
negotiation
http://agilemanifesto.org/
![Page 28: Agile and Agile methods: what is the most important to understand to succeed](https://reader033.vdocument.in/reader033/viewer/2022060107/554a4130b4c905863d8b4fd4/html5/thumbnails/28.jpg)
Vaidas Adomauskaswww.agileturas2010.agile.lt2010-10-14
Agile Manifesto (4)
...we value:
Responding to change
over
following a plan
http://agilemanifesto.org/
![Page 29: Agile and Agile methods: what is the most important to understand to succeed](https://reader033.vdocument.in/reader033/viewer/2022060107/554a4130b4c905863d8b4fd4/html5/thumbnails/29.jpg)
Vaidas Adomauskaswww.agileturas2010.agile.lt2010-10-14
Agile projects are like a guided missile
Assumptions:• The customer discovers what
he wants• The developers discover how
to build it• Things change along the way
![Page 30: Agile and Agile methods: what is the most important to understand to succeed](https://reader033.vdocument.in/reader033/viewer/2022060107/554a4130b4c905863d8b4fd4/html5/thumbnails/30.jpg)
Vaidas Adomauskaswww.agileturas2010.agile.lt2010-10-14
Agile
MAGIC WORD?Summary
Agile
![Page 31: Agile and Agile methods: what is the most important to understand to succeed](https://reader033.vdocument.in/reader033/viewer/2022060107/554a4130b4c905863d8b4fd4/html5/thumbnails/31.jpg)
Vaidas Adomauskaswww.agileturas2010.agile.lt2010-10-14
WHAT IS ALL THIS STUFF?
Lean
XP Scrum
TDD
KanbanContinuous Integration
Pair
programming
Refactoring
![Page 32: Agile and Agile methods: what is the most important to understand to succeed](https://reader033.vdocument.in/reader033/viewer/2022060107/554a4130b4c905863d8b4fd4/html5/thumbnails/32.jpg)
Vaidas Adomauskaswww.agileturas2010.agile.lt2010-10-14
Agile
What is all this stuff?
Lean
XP Scrum TDD
Kanban
Continuous Integration
Pair
programming
Refactoring
Methods Practices
... ...
![Page 33: Agile and Agile methods: what is the most important to understand to succeed](https://reader033.vdocument.in/reader033/viewer/2022060107/554a4130b4c905863d8b4fd4/html5/thumbnails/33.jpg)
Vaidas Adomauskaswww.agileturas2010.agile.lt2010-10-14
Do not mix with time line
• Lean• Scrum• XP
o Test Driven Development (TDD)o Pair programmingo Continues integrationo Refactoringo Planning pokero …
• Agile• Kanban• …
Tim
e
![Page 34: Agile and Agile methods: what is the most important to understand to succeed](https://reader033.vdocument.in/reader033/viewer/2022060107/554a4130b4c905863d8b4fd4/html5/thumbnails/34.jpg)
Vaidas Adomauskaswww.agileturas2010.agile.lt2010-10-14
What is wrong here?
Neither of these problems are caused by the tool!!!
Using the tool wrong Using the wrong tool
![Page 35: Agile and Agile methods: what is the most important to understand to succeed](https://reader033.vdocument.in/reader033/viewer/2022060107/554a4130b4c905863d8b4fd4/html5/thumbnails/35.jpg)
Vaidas Adomauskaswww.agileturas2010.agile.lt2010-10-14
More prescriptive More adaptive
Different tools
• Which one is better?
• Compare for understanding, not judgement!
XP(13)
Scrum(9)
Kanban(3)
Do Whatever(0)
RUP(120+)
• Architecture Reviewer• Business Designer• Business-Model Reviewer• Business-Process Analyst• Capsule Designer• Change Control Manager• Code Reviewer• Configuration Manager• Course Developer• Database Designer• Deployment Manager• Design Reviewer• Designer• Graphic Artist• Implementer• Integrator• Process Engineer• Project Manager• Project Reviewer• Requirements Reviewer• Requirements Specifier• Software Architect• Stakeholder• System Administrator• System Analyst• Technical Writer• Test Analyst• Test Designer• Test Manager• Tester• Tool Specialist• User-Interface Designer• Architectural analysis• Assess Viability of architectural
proof-of-concept• Capsule design• Class design• Construct architectural proof-of-
concept• Database design• Describe distribution• Describe the run-time architecture• Design test packages and classes• Develop design guidelines• Develop programming guidelines• Identify design elements• Identify design mechanisms• Incorporate design elements• Prioritize use cases• Review the architecture• Review the design• Structure the implementation model• Subsystem design• Use-case analysis• Use-case design• Analysis model• Architectural proof-of-concept• Bill of materials• Business architecture document• Business case• Business glossary• Business modeling guidelines• Business object model• Business rules• Business use case
• Whole team• Coding standard• TDD• Collective ownership• Customer tests• Pair programming• Refactoring• Planning game• Continuous integration• Simple design• Sustainable pace• Metaphor• Small releases
• Scrum Master• Product Owner• Team• Sprint planning meeting• Daily Scrum• Sprint review• Product backlogt• Sprint backlog• BUrndown chart
• Visualize the workflow• Limit WIP• Measure and optimize lead time
• Business use case realization• Business use-case model• Business vision• Change request• Configuration audit findings• Configuration management plan• Data model• Deployment model• Deployment plan• Design guidelines• Design model• Development case• Development-organization
assessment• End-user support mateirla• Glossary• Implementation model• Installation artifacts• Integration build plan• Issues list• Iteration assessment• Iteration plan• Manual styleguide• Programming guidelines• Quality assurance plan• Reference architecture• Release notes• Requirements attributes• Requirements
management plan• Review record• Risk list• Risk management plan• Software architecture
document• Software development
plan• Software requirements specification• Stakeholder requests• Status assessment• Supplementary business
specification• Supplementary specification• Target organization assessment• Test automation architecture• Test cases• Test environment configuration• Test evaluation summary• Test guidelines• Test ideas list• Test interface specification• Test plan• Test suite• Tool guidelines• Training materials• Use case model• Use case package• Use-case modeling guidelines• Use-case realization• Use-case storyboard• User-interface guidelines• User-interface prototype• Vision• Work order• Workload analysis model
![Page 36: Agile and Agile methods: what is the most important to understand to succeed](https://reader033.vdocument.in/reader033/viewer/2022060107/554a4130b4c905863d8b4fd4/html5/thumbnails/36.jpg)
Vaidas Adomauskaswww.agileturas2010.agile.lt2010-10-14
Agile
Methods Practices
WHAT IS ALL THIS STUFF?Summary
![Page 37: Agile and Agile methods: what is the most important to understand to succeed](https://reader033.vdocument.in/reader033/viewer/2022060107/554a4130b4c905863d8b4fd4/html5/thumbnails/37.jpg)
Vaidas Adomauskaswww.agileturas2010.agile.lt2010-10-14
HOW TO SUCCEED?
![Page 38: Agile and Agile methods: what is the most important to understand to succeed](https://reader033.vdocument.in/reader033/viewer/2022060107/554a4130b4c905863d8b4fd4/html5/thumbnails/38.jpg)
Vaidas Adomauskaswww.agileturas2010.agile.lt2010-10-14
We are NOT “different”
![Page 39: Agile and Agile methods: what is the most important to understand to succeed](https://reader033.vdocument.in/reader033/viewer/2022060107/554a4130b4c905863d8b4fd4/html5/thumbnails/39.jpg)
Vaidas Adomauskaswww.agileturas2010.agile.lt2010-10-14
Respect People
![Page 40: Agile and Agile methods: what is the most important to understand to succeed](https://reader033.vdocument.in/reader033/viewer/2022060107/554a4130b4c905863d8b4fd4/html5/thumbnails/40.jpg)
Vaidas Adomauskaswww.agileturas2010.agile.lt2010-10-14
Right Toolbox
![Page 41: Agile and Agile methods: what is the most important to understand to succeed](https://reader033.vdocument.in/reader033/viewer/2022060107/554a4130b4c905863d8b4fd4/html5/thumbnails/41.jpg)
Vaidas Adomauskaswww.agileturas2010.agile.lt2010-10-14
Right Metrics
![Page 42: Agile and Agile methods: what is the most important to understand to succeed](https://reader033.vdocument.in/reader033/viewer/2022060107/554a4130b4c905863d8b4fd4/html5/thumbnails/42.jpg)
Vaidas Adomauskaswww.agileturas2010.agile.lt2010-10-14
External help
![Page 43: Agile and Agile methods: what is the most important to understand to succeed](https://reader033.vdocument.in/reader033/viewer/2022060107/554a4130b4c905863d8b4fd4/html5/thumbnails/43.jpg)
Vaidas Adomauskaswww.agileturas2010.agile.lt2010-10-14
Courage
![Page 44: Agile and Agile methods: what is the most important to understand to succeed](https://reader033.vdocument.in/reader033/viewer/2022060107/554a4130b4c905863d8b4fd4/html5/thumbnails/44.jpg)
Vaidas Adomauskaswww.agileturas2010.agile.lt2010-10-14
Start NOW
![Page 45: Agile and Agile methods: what is the most important to understand to succeed](https://reader033.vdocument.in/reader033/viewer/2022060107/554a4130b4c905863d8b4fd4/html5/thumbnails/45.jpg)
Vaidas Adomauskaswww.agileturas2010.agile.lt2010-10-14
http://scrum.agile.lt
Mob. Tel.: 860038860
Facebook, Skype, LinkedIn…
Let’s Scrum!
Thank you!