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

  1. What I did yesterday
  2. What I will do today
  3. 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

Thank you ๐Ÿ™

Made with Slides.com