Agile
Let's learn it in a pragmatic way
Victor Ribero
Frontend Developer ๐จโ๐ป
Producivity and efficienly addict ๐ค
Human and animal interaction lover ๐ถ
Insatiable Traveler ๐ซ
The goal for today
Explain what is agile
Explain a way of working with Agile (Scrum)
Point out the pain points of the Scrum methodology
How to facilitate an Agile environment
Practice a retrospective
Examย ๐
In 66 slides
ยฟWhat is Agile?
Values
๐ซ Individuals and interactions over processes
๐จโ๐ป Working software over comprehensive documentation
๐ฃ๏ธ Customer collaboration over contract negotiation
๐ Responding to change over following a plan
Our highest priority is to satisfy the customer through early and continuous delivery of valuable software
Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale
Simplicity --the art of maximizing the amount of work not done-- is essential
The best architectures, requirements, and designs emerge from self-organizing teams
At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly
Prioritize
Pragmatic
Customer Centric
Empathic
Honest
Benefits
๐ Client satisfaction
๐ Visibility
๐ฎ More autonomy and responsibility
๐ฉโ๐ฉโ๐ฆโ๐ฆ Team spirit environment
Benefits
๐ Productivity increase
๐ Continuous improvement
โฏ๏ธ Transparency and honesty
๐ Emotional bonds
Disadvantages
๐ A lot of meetings
โ Not applicable to big hierarchies
๐ Difficult to deal with external dependencies
โณ No finite endย
Agile frameworks
Kanban
๐ Usage of the Kanban board
๐ย Tasks ordered by priority
Kanban
Kanban
Materialize task and its priority makes you more efficient .
ย
It also clears your brain and let you focus on what's needed
Kanban
๐ Easy to see the priorities
๐ Easy to know the status of the tasks
๐ Visibility of the work to do
๐ Everyone knows the requirements of the states
Extreme Programming Values
๐ Simplicity - Do what has been asked to do. No more.
๐ Communication - Talk face to face
๐ Feedback - Talk about the project. Changes are welcome.
๐ Respect - Everyone give and receive the respect they deserve.
๐ Courage - Tell the truth always, you don't work alone
Extreme Programming Practices
๐ Pair programming
๐ Planning game
๐ Test-Driven Development
๐ย Continuous integration
๐ย Work/life balance
๐ย Code refactoring
๐ย Small releases
๐ย Coding standards
๐ย Collective code ownership
SCRUM
The devil of all developers
๐
1- How SCRUM works
3- What is each thing we need?
2- What do we need?
4- Rituals and anti-patterns
5- Scrum myths
1- How SCRUM works
3- What is each thing we need?
2- What do we need?
4- Rituals and anti-patterns
5- Scrum myths
1- How SCRUM works
3- What is each thing we need?
2- What do we need?
4- Rituals
5- Scrum myths
๐ช Team
๐ Product Backlog
๐ Agreements
1- How SCRUM works
3- What is each thing we need?
2- What do we need?
4- Rituals
5- Scrum myths
๐จโ๐ป DEV Team
Multidisciplinar group of people who can develop, deliver and deploy to production all kind of User Stories
๐ง Product Owner
Decides which way should the product go. He prioritizes the Product Backlog and motivates the team
๐คด Scrum Master
Ensures the team lives agile values and principles and follows the processes and practices the team agreed they would use
1- SCRUM Team
A list of tasks that:
2- Product Backlog
๐ It never ends
๐ย Gives value to the user
๐ย Is prioritized by the Product Owner periodically
๐ย The level of detail depends on the position of the task
๐ย Is estimated, at least the top priorities
๐ย Has no low level tasks (no implementation details)
The team should agree on:
3- Agreements
โ๏ธ Requirements for a task to be considered
โ๏ธ Requirements for a task to be considered finished
โ๏ธ When do the meetings
Anti-patterns
The company decides when to do the meetings
There is no definition of ready or done
Product Owner
DEV Team
Scrum Master
๐ง
๐จโ๐ป
๐คด
Anti-patterns
Sprint cycle of 2 weeks without reason
Product backlog no defined
Sprint changes definition
๐ง Product Owner
๐จโ๐ป DEV Team
๐คด Scrum Master
+
+
=
Creates & prioritizes
Develop
Promotes and assures
๐ Product Backlog
๐ Product Increment
๐ Agile values
๐ช Scrum Team
1- How SCRUM works
3- What is each thing we need?
2- What do we need?
4- Rituals and anti-patterns
5- Scrum myths
Rituals
๐ฃ๏ธ Daily meetings
๐ Sprint planning
๐Grooming
Meetings that have to be celebrated in order to do SCRUM.
๐ Sprint review
๐ก๏ธ Retrospective
๐ฃ๏ธ Daily Meetings
Know the status of the sprint and the team
- What I did yesterday
- What I will do today
- Is anything blocking me?
๐ Bad Practicesย in the Daily Meetings
Implementation details. Alert!!
Off-topic conversations
Technical conversations finding solutions
Reporting to the Product Owner
๐ Tips
Cut things fast. Break wrong habits. Ask for focus
Have to talk something? Do it later.
Make a circle
๐ Sprint Planning
Plan the work of the next sprint
๐ The Product Owner explains the goal of the sprint
๐ Ask as much as needed for knowing the requirements
๐ The DEV Team decides how much they can afford
๐ Think about details. How to implement?
๐ Detect possible blocks
๐ Detect third party dependencies
๐ Bad Practicesย in the Sprint Planning
Setting unrealistic expectations
Don't have a prioritized backlog
The Product Owner decides how much work
๐ Tips
Break tasks into smaller tasks. Dividi e vinci.ย
Check tasks complexity the spring before.
Ask for a constant Product Backlog prioritization
๐ Grooming
Update the Product Backlog
๐ The PO and some of the DEV Team
๐ย Add/Remove Stories
๐ย Estimate tasks
๐ย Update old tasks
Backlog refinement
๐ Bad Practicesย in the Grooming
Big estimations at the top of the Product Backlog
Tasks not estimated
Too much details for each estimation
๐ Tips
Use timers for each task 5 min top. Sometimes, 3 min extra
Question Stick.ย Who has the stick has to ask. Then pass it.
๐ Sprint Review
Show the product increment to the stakeholders
๐ย Show the result of the sprint
๐ย Explain the Goal and what has been achieved
๐ย Impediments the team found
๐ย In which direction should the product go
๐ย Should we stop? Should we continue? METRICS!
๐ Bad Practices in the Sprint Review
Selfish Product Owner. He says: I did
Cheating. Showing development with bugs
The team doesn't explain challenges
It's called or treated as a DEMO
The PO is presenting all the results
๐ Tips
Each team should present their User Stories.
Ask for challenges.
Use timers.
Team should only present working software
๐ก๏ธ Retrospective
Analyze and improve as a team
๐ย What went well
๐ย What can be improved
๐ย Actions for next sprint
๐ Bad Practicesย in the Retrospective
Taking as personals some comments
Tell what happens in retrospectives to the outsiders
The actions have no owners:
Outsides/managers are coming
Not review past actions
Discussions dominated by one or two people
"improve communication"
"Refactor more"
๐ Tips
Take it seriously. Be honest with your workmates.
ย
Encourage people to participate, make everyone speak and give constructive feedback .
ย
Materialize opinions with post-it. Each has 3 votes, do DOT VOTING
ย
After, assign owners to the actions
๐Retrospective time!!๐
1- How SCRUM works
3- What is each thing we need?
2- What do we need?
4- Rituals and anti-patterns
5- Scrum myths
Myth 1. Scrum is easy
Myth 1. Scrum is easy
Scrum is simple, not easy
Myth 2. Scrum phases
Myth 2. Scrum phases
There is no Sprint of Testing
An sprint is a whole project
Myth 3. Sprint demo
Myth 3. Sprint demo
If I it had a User Interface you would see something here... here... and here.
In Scrum there is no "demo"
Myth 4. Team's commitment
Myth 4. Team's commitment
Is stupid. Usually it takes more than expected. Is irresponsible
People don't know this.
There is a Scrum Guide
If what you are doing it's not there, it's not Scrum
Myth 4. There is no quality
Myth 4. There is no quality
Bonus-Driven Development
We've got money from the future
In Scrum there is quality,
but companies don't want it
1- How SCRUM works
3- What is each thing we need?
2- What do we need?
4- Rituals and anti-patterns
5- Scrum myths
๐Finally we finished!!๐
So, What's next?๐ค
Resources
Information about Scrum
๐ย https://scrumguides.org/
Oficial documentation
๐ http://agilemanifesto.org/
๐ https://www.scrumguides.org/docs/scrumguide/v1/scrum-guide-es.pdf
Thank you ๐
Practical Agile
By Victor Ribero
Practical Agile
Introduction to agile from my point of view.
- 308