essap agile loops
TRANSCRIPT
![Page 1: ESSAP Agile Loops](https://reader034.vdocuments.site/reader034/viewer/2022042518/5593b9e41a28ab22548b45b6/html5/thumbnails/1.jpg)
Agile loops
from jargon to understanding
(cc) F. Gobbo, S. Gentilini, F. Bertone, V. Del Bianco,please refer to: [email protected]
Dipartimento di Informatica e ComunicazioneUniversità degli Studi dell'Insubria
![Page 2: ESSAP Agile Loops](https://reader034.vdocuments.site/reader034/viewer/2022042518/5593b9e41a28ab22548b45b6/html5/thumbnails/2.jpg)
Acknowledgements
This is a derivative work from the talk "XP loops"presented in XP BE 2007
by
• Vera Peeters (Tryx)• Pascal Van Cauwenberghe (NAYIMA)
![Page 3: ESSAP Agile Loops](https://reader034.vdocuments.site/reader034/viewer/2022042518/5593b9e41a28ab22548b45b6/html5/thumbnails/3.jpg)
Wannabe Agile?
![Page 4: ESSAP Agile Loops](https://reader034.vdocuments.site/reader034/viewer/2022042518/5593b9e41a28ab22548b45b6/html5/thumbnails/4.jpg)
What Agile is not
• Not a panacea.
• Not a silver bullet.
It doesn't tell you if a project is worth starting.It tells you how to start and when to stop in time.(c) artwork / graphic by Michael Whitehead for Next 16-9-2003
![Page 5: ESSAP Agile Loops](https://reader034.vdocuments.site/reader034/viewer/2022042518/5593b9e41a28ab22548b45b6/html5/thumbnails/5.jpg)
Ready to start?
![Page 6: ESSAP Agile Loops](https://reader034.vdocuments.site/reader034/viewer/2022042518/5593b9e41a28ab22548b45b6/html5/thumbnails/6.jpg)
Start from your (onsite) customers...
Business decisionsare taken by thecustomers
Technical decisionsare taken by thedeveloper team
...and trust!
![Page 7: ESSAP Agile Loops](https://reader034.vdocuments.site/reader034/viewer/2022042518/5593b9e41a28ab22548b45b6/html5/thumbnails/7.jpg)
Principles and values• Collaboration instead of negotiation
![Page 8: ESSAP Agile Loops](https://reader034.vdocuments.site/reader034/viewer/2022042518/5593b9e41a28ab22548b45b6/html5/thumbnails/8.jpg)
User stories
• Customers tell:
the value
• Developers tell:
the price
Don't show the kitchen, serve the dishes!
![Page 9: ESSAP Agile Loops](https://reader034.vdocuments.site/reader034/viewer/2022042518/5593b9e41a28ab22548b45b6/html5/thumbnails/9.jpg)
Principles and values• Collaboration instead of negotiation• Communication instead of requirement elicitation
![Page 10: ESSAP Agile Loops](https://reader034.vdocuments.site/reader034/viewer/2022042518/5593b9e41a28ab22548b45b6/html5/thumbnails/10.jpg)
Small releases• Steering and adapting
• Short-time planning
• release = iteration (XP)• release = sprint (Scrum)
• Timeboxing everywhere
Be realistic, don't pretend to look in a crystal ball!
![Page 11: ESSAP Agile Loops](https://reader034.vdocuments.site/reader034/viewer/2022042518/5593b9e41a28ab22548b45b6/html5/thumbnails/11.jpg)
Principles and values• Collaboration instead of negotiation• Communication instead of requirement elicitation• Feedback, feedback, feedback!
![Page 12: ESSAP Agile Loops](https://reader034.vdocuments.site/reader034/viewer/2022042518/5593b9e41a28ab22548b45b6/html5/thumbnails/12.jpg)
Planning game
How much business value can you deliverin the next release? • Pair writing
• Product backlog
Delivering business value early and often
![Page 13: ESSAP Agile Loops](https://reader034.vdocuments.site/reader034/viewer/2022042518/5593b9e41a28ab22548b45b6/html5/thumbnails/13.jpg)
Principles and values• Collaboration instead of: negotiation• Communication instead of: requirement elicitation• Feedback, feedback, feedback!• Business value instead of: overdesign & unused features
![Page 14: ESSAP Agile Loops](https://reader034.vdocuments.site/reader034/viewer/2022042518/5593b9e41a28ab22548b45b6/html5/thumbnails/14.jpg)
Sustainable pace
Find your natural rhythm of work
(for all involved!)
• Think about the long run• No overtime
Our suggestion: the Pomodoro Technique
![Page 15: ESSAP Agile Loops](https://reader034.vdocuments.site/reader034/viewer/2022042518/5593b9e41a28ab22548b45b6/html5/thumbnails/15.jpg)
Principles and values• Collaboration instead of negotiation• Communication instead of requirement elicitation• Feedback, feedback, feedback!• Business value instead of overdesign & unused features• Respect for people instead of pretending
![Page 16: ESSAP Agile Loops](https://reader034.vdocuments.site/reader034/viewer/2022042518/5593b9e41a28ab22548b45b6/html5/thumbnails/16.jpg)
Daily Standup Meetings
3 questions:
• What I have done?• What I will complete today?• I need help with...
Keep it short!
![Page 17: ESSAP Agile Loops](https://reader034.vdocuments.site/reader034/viewer/2022042518/5593b9e41a28ab22548b45b6/html5/thumbnails/17.jpg)
Principles and values• Collaboration instead of negotiation• Communication instead of requirement elicitation• Feedback, feedback, feedback!• Business value instead of overdesign & unused features• Respect for people instead of pretending• Small, realistic chunks of work every day
![Page 18: ESSAP Agile Loops](https://reader034.vdocuments.site/reader034/viewer/2022042518/5593b9e41a28ab22548b45b6/html5/thumbnails/18.jpg)
Pair Programming
Two programmers work together at one keyboard:
driver types in code,
observer-navigator reviews code and considers the strategic direction of the work.
Not for everyone...
![Page 19: ESSAP Agile Loops](https://reader034.vdocuments.site/reader034/viewer/2022042518/5593b9e41a28ab22548b45b6/html5/thumbnails/19.jpg)
Pair Programming and Productivity...
PairProgramming reduces productivity! That would be true if the most time consuming part of programming was typing... Martin Fowler
– Start with a reasonably well-defined task
– Agree on one tiny goal at a time
– TDD please– Rely on and support your
partner– Sync up frequently– Be especially courteous– Take a moment to celebrate– Often switch roles
![Page 20: ESSAP Agile Loops](https://reader034.vdocuments.site/reader034/viewer/2022042518/5593b9e41a28ab22548b45b6/html5/thumbnails/20.jpg)
Principles and values• Collaboration instead of negotiation• Communication instead of requirement elicitation• Feedback, feedback, feedback!• Business value instead of overdesign & unused features• Respect for people instead of pretending• Small, realistic chunks of work every day• Fun and quality instead of heroism
![Page 21: ESSAP Agile Loops](https://reader034.vdocuments.site/reader034/viewer/2022042518/5593b9e41a28ab22548b45b6/html5/thumbnails/21.jpg)
Unit Tests
Automated test that validates that units of source code are working properly.
Test cases written in the same language as the production code.
Each test case is independent from the others.
![Page 22: ESSAP Agile Loops](https://reader034.vdocuments.site/reader034/viewer/2022042518/5593b9e41a28ab22548b45b6/html5/thumbnails/22.jpg)
So what?
– Safety Net– Facilitates change– Facilitates refactoring– Simplifies integration– Documentation– Design– Separation of interface from implementation– Force code being testable– ...
![Page 23: ESSAP Agile Loops](https://reader034.vdocuments.site/reader034/viewer/2022042518/5593b9e41a28ab22548b45b6/html5/thumbnails/23.jpg)
Principles and values• Collaboration instead of negotiation• Communication instead of requirement elicitation• Feedback, feedback, feedback!• Business value instead of overdesign & unused features• Respect for people instead of pretending• Small, realistic chunks of work every day• Fun and quality instead of heroism• Quality work every time
![Page 24: ESSAP Agile Loops](https://reader034.vdocuments.site/reader034/viewer/2022042518/5593b9e41a28ab22548b45b6/html5/thumbnails/24.jpg)
Test Driven Development
without
inmagine.com
with
forbes.com
![Page 25: ESSAP Agile Loops](https://reader034.vdocuments.site/reader034/viewer/2022042518/5593b9e41a28ab22548b45b6/html5/thumbnails/25.jpg)
Test Driven Development
write a test
implement code to pass the test
refactor
testdriven.com
forbes.com
![Page 26: ESSAP Agile Loops](https://reader034.vdocuments.site/reader034/viewer/2022042518/5593b9e41a28ab22548b45b6/html5/thumbnails/26.jpg)
Principles and values• Collaboration instead of negotiation• Communication instead of requirement elicitation• Feedback, feedback, feedback!• Business value instead of overdesign & unused features• Respect for people instead of pretending• Small, realistic chunks of work every day• Fun and quality instead of heroism• Quality work every time• Technical excellence
![Page 27: ESSAP Agile Loops](https://reader034.vdocuments.site/reader034/viewer/2022042518/5593b9e41a28ab22548b45b6/html5/thumbnails/27.jpg)
Refactoring
without with
![Page 28: ESSAP Agile Loops](https://reader034.vdocuments.site/reader034/viewer/2022042518/5593b9e41a28ab22548b45b6/html5/thumbnails/28.jpg)
Refactoring
clean code that works!
get rid of smelling code:
duplicationlarge classeslarge methods
long parameters list etc etc..
![Page 29: ESSAP Agile Loops](https://reader034.vdocuments.site/reader034/viewer/2022042518/5593b9e41a28ab22548b45b6/html5/thumbnails/29.jpg)
Principles and values• Collaboration instead of negotiation• Communication instead of requirement elicitation• Feedback, feedback, feedback!• Business value instead of overdesign & unused features• Respect for people instead of pretending• Small, realistic chunks of work every day• Fun and quality instead of heroism• Quality work every time• Technical excellence• Simplicity
![Page 30: ESSAP Agile Loops](https://reader034.vdocuments.site/reader034/viewer/2022042518/5593b9e41a28ab22548b45b6/html5/thumbnails/30.jpg)
Continuous Integration
• Small steps• Small changes• Small problems
Integrate frequently (multiple integrations per day).
Each integration is verified by an automated build.
![Page 31: ESSAP Agile Loops](https://reader034.vdocuments.site/reader034/viewer/2022042518/5593b9e41a28ab22548b45b6/html5/thumbnails/31.jpg)
Not so easy...
Once you are there, great benefits:• Control• Visibility• Early warnings• Availability of a
"current" build
![Page 32: ESSAP Agile Loops](https://reader034.vdocuments.site/reader034/viewer/2022042518/5593b9e41a28ab22548b45b6/html5/thumbnails/32.jpg)
Principles and values• Collaboration instead of negotiation• Communication instead of requirement elicitation• Feedback, feedback, feedback!• Business value instead of overdesign & unused features• Respect for people instead of pretending• Small, realistic chunks of work every day• Fun and quality instead of heroism• Quality work every time• Technical excellence• Simplicity• Be in control
![Page 33: ESSAP Agile Loops](https://reader034.vdocuments.site/reader034/viewer/2022042518/5593b9e41a28ab22548b45b6/html5/thumbnails/33.jpg)
Collective Code Ownership
Everyone can contribute to everything
Any developer can change any line of code
Everyone is responsible for all the code
No one person becomes a bottle neck for changes
![Page 34: ESSAP Agile Loops](https://reader034.vdocuments.site/reader034/viewer/2022042518/5593b9e41a28ab22548b45b6/html5/thumbnails/34.jpg)
Prerequisites and Alternatives
Prerequisites, at least:CodingStandardsVersion managementUnit tests
Alternatives?CodeStewardship...
So what?Define who ones the code! More "collective", is better, but has more prerequisites
![Page 35: ESSAP Agile Loops](https://reader034.vdocuments.site/reader034/viewer/2022042518/5593b9e41a28ab22548b45b6/html5/thumbnails/35.jpg)
Principles and values• Collaboration instead of negotiation• Communication instead of requirement elicitation• Feedback, feedback, feedback!• Business value instead of overdesign & unused features• Respect for people instead of pretending• Small, realistic chunks of work every day• Fun and quality instead of heroism• Quality work every time• Technical excellence• Simplicity• Be in control• Trust your teammates
![Page 36: ESSAP Agile Loops](https://reader034.vdocuments.site/reader034/viewer/2022042518/5593b9e41a28ab22548b45b6/html5/thumbnails/36.jpg)
Acceptance TestsCustomers specifies scenarios to test when a user story has been correctly implemented
A story can have one or many acceptance tests
Acceptance tests are black box system tests
Customers sign completed stories when their acceptance tests pass
![Page 37: ESSAP Agile Loops](https://reader034.vdocuments.site/reader034/viewer/2022042518/5593b9e41a28ab22548b45b6/html5/thumbnails/37.jpg)
Acceptance Tests HowTo
– Written at the start of each iteration– Start a story executing acceptance tests– Write unit tests– Keep adding unit tests and production code
until all the acceptance tests pass
![Page 38: ESSAP Agile Loops](https://reader034.vdocuments.site/reader034/viewer/2022042518/5593b9e41a28ab22548b45b6/html5/thumbnails/38.jpg)
Principles and values• Collaboration instead of negotiation• Communication instead of requirement elicitation• Feedback, feedback, feedback!• Business value instead of overdesign & unused features• Respect for people instead of pretending• Small, realistic chunks of work every day• Fun and quality instead of heroism• Quality work every time• Technical excellence• Simplicity• Be in control• Trust your teammates• Working software is measure of progress
![Page 39: ESSAP Agile Loops](https://reader034.vdocuments.site/reader034/viewer/2022042518/5593b9e41a28ab22548b45b6/html5/thumbnails/39.jpg)
Velocity
Velocity is the rate at which you complete your work, in a certain period of time.
In project management terms: velocity is the amount of work that a team can complete in a specified period of time.
![Page 40: ESSAP Agile Loops](https://reader034.vdocuments.site/reader034/viewer/2022042518/5593b9e41a28ab22548b45b6/html5/thumbnails/40.jpg)
Velocity and Burndown
Velocity to make commitments in future iterations
If a team does not know its velocity, how will that team be able to know how much work to put into an iteration?
Burndown to meet commitments in one iteration
If a team doesn't focus burndown, it is probable that the team will miss the scope of the iteration
![Page 41: ESSAP Agile Loops](https://reader034.vdocuments.site/reader034/viewer/2022042518/5593b9e41a28ab22548b45b6/html5/thumbnails/41.jpg)
Open Workspace
Self-organizing teams
Collaboration
Comunication
Trust
Simplicity
Self-organization
Feedback!!
![Page 42: ESSAP Agile Loops](https://reader034.vdocuments.site/reader034/viewer/2022042518/5593b9e41a28ab22548b45b6/html5/thumbnails/42.jpg)
![Page 43: ESSAP Agile Loops](https://reader034.vdocuments.site/reader034/viewer/2022042518/5593b9e41a28ab22548b45b6/html5/thumbnails/43.jpg)
Principles and values• Collaboration instead of negotiation• Communication instead of requirement elicitation• Feedback, feedback, feedback!• Business value instead of overdesign & unused features• Respect for people instead of pretending• Small, realistic chunks of work every day• Fun and quality instead of heroism• Quality work every time• Technical excellence• Simplicity• Be in control• Trust your teammates• Working software is measure of progress
![Page 44: ESSAP Agile Loops](https://reader034.vdocuments.site/reader034/viewer/2022042518/5593b9e41a28ab22548b45b6/html5/thumbnails/44.jpg)
μεταφορά: "a transfer", in rhetoric "transference of a word to a new sense", from μεταφέρω - metaphero, "to carry over, to transfer"
Metaphor
Shared Vision Ubiquitous Language Communication Simplicity
![Page 45: ESSAP Agile Loops](https://reader034.vdocuments.site/reader034/viewer/2022042518/5593b9e41a28ab22548b45b6/html5/thumbnails/45.jpg)
Principles and values• Collaboration instead of negotiation• Communication instead of requirement elicitation• Feedback, feedback, feedback!• Business value instead of overdesign & unused features• Respect for people instead of pretending• Small, realistic chunks of work every day• Fun and quality instead of heroism• Quality work every time• Technical excellence• Simplicity• Be in control• Trust your teammates• Working software is measure of progress• Shared understanding
![Page 46: ESSAP Agile Loops](https://reader034.vdocuments.site/reader034/viewer/2022042518/5593b9e41a28ab22548b45b6/html5/thumbnails/46.jpg)
Retrospectives
![Page 47: ESSAP Agile Loops](https://reader034.vdocuments.site/reader034/viewer/2022042518/5593b9e41a28ab22548b45b6/html5/thumbnails/47.jpg)
Principles and values• Collaboration instead of negotiation• Communication instead of requirement elicitation• Feedback, feedback, feedback!• Business value instead of overdesign & unused features• Respect for people instead of pretending• Small, realistic chunks of work every day• Fun and quality instead of heroism• Quality work every time• Technical excellence• Simplicity• Be in control• Trust your teammates• Working software is measure of progress• Shared understanding• Continuous improvement
![Page 48: ESSAP Agile Loops](https://reader034.vdocuments.site/reader034/viewer/2022042518/5593b9e41a28ab22548b45b6/html5/thumbnails/48.jpg)
Agilemanifesto.org (re-read it!)• Individuals and interactions
• Working software
• Customer collaboration
• Responding to change
Naturally non-fondamentalist:many methodologies,many technologies.
over processes and tools
over comprehensive documentation
over contract negotiation
over following a plan
based on the community!
![Page 49: ESSAP Agile Loops](https://reader034.vdocuments.site/reader034/viewer/2022042518/5593b9e41a28ab22548b45b6/html5/thumbnails/49.jpg)
Thanks for your attention!
Questions?The answers during this week!