El objetivo de este webinar es comprender cómo participar en una reunión de planeación ágil de proyectos de software utilizando el marco de trabajo Planning Poker.
En el webinar se transmitirán conceptos teóricos como los roles en Scrum de las reuniones de planeamiento, reuniones diarias y como experiencias prácticas durante las cuales quienes concurran podrán aprender a planificar y estimar utilizando un plugin llamado Planning Poker for Hangouts.
Al finalizar el webinar podrás estimar proyectos ágiles basándote en los individuos y la herramienta de Planning Poker.
2. www.sgcampus.com.mx @sgcampus
Who am I?
Héctor Benítez
@hectorbenitez
hbenitez[at]nearsoft.com
Software Developer at Nearsoft
Agile enthusiast, but not Scrum Master :)
Lead Developer at PlanningPoker for Hangouts
http://planningwithcards.com
3. www.sgcampus.com.mx @sgcampus
Agile
• Methodologies that choose to do things in small
increments/iterations.
• Each iteration is worked on by a team through a
full software development cycle, including
planning, requirements analysis, design, coding,
unit testing, and acceptance testing when a
version is demonstrated to the stakeholders.
4. www.sgcampus.com.mx @sgcampus
Agile Manifesto
www.agilemanifesto.org
We are uncovering better ways of developing
software by doing it and helping others do it.
Through this work we have come to value:
Individuals and interaction over Processes and tools
Working software over Comprehensive documentation
Customer collaboration over Contract negotiation
Responding to change over Following a plan
6. www.sgcampus.com.mx @sgcampus
Stories
• Stories describe what the customer wants using
the customer’s language and perspective (e.g.,
ability to add a new user).
• A story is something that add value to the
customer rather than an activity or task.
7. www.sgcampus.com.mx @sgcampus
Sprint
• Is a definition of features that can be implemented
by the team within a timeframe from 1 to 4 weeks,
sprints duration are defined according to the
project size and level of feedback required.
10. www.sgcampus.com.mx @sgcampus
Product Owner
• Represent the voice of the customer.
• Makes sure that The Team work with the right things from
a business perspective.
• Write stories, prioritizes them, and place them in the
product backlog.
• Manage project features and releases to optimize ROI.
• Inspects increment and make adaptations to project after
end of sprints.
• Can change features and priority every X days, but not in
the middle of a sprint.
11. www.sgcampus.com.mx @sgcampus
Scrum Master
• Scrums are facilitated by a ScrumMaster, primary
job is to remove impediments.
• The ScrumMaster is not the leader of the team but
act as a buffer between the team and any
distracting influences.
• Enforcer of rules.
12. www.sgcampus.com.mx @sgcampus
The Team
• The team is a cross-functional group of people
responsible for managing itself to develop the
product.
• The team has the responsibility to deliver the
product.
15. www.sgcampus.com.mx @sgcampus
Sprint Planning
• Held at the beginning of the sprint cycle.
• Select what work is to be done.
• Prepare the Sprint Backlog that details the stories
that will be included in the Sprint and their
estimates.
• Identify and communicate the plan for the Sprint.
• Limited to eight hours, max.
17. www.sgcampus.com.mx @sgcampus
Daily Scrum
• The team every day during the sprint
• Start precisely on time
• All are welcome, only pigs may speak
• Time- boxed to 15 minutes
• Same location, same time every day
• During the meeting each team member answers 3+1 questions:
• What did you do yesterday?
• Did you run into any obstacles?
• What are you planning to do today?
• Is there anything that may prevent you from accomplishing your
goal?
18. www.sgcampus.com.mx @sgcampus
Scrum of Scrums
• Held every day normally after the daily scrum
• These meetings allow clusters of teams to discuss their work,
specially overlap and integration.
• A designated person from each team attends.
• Same agenda as daily scrum plus
• What has your team done since we last met?
• What will your team do before we meet again?
• Is anything slowing your team down or getting in their way?
• Are you about to put something in another team’s way?
(dependency management).
19. www.sgcampus.com.mx @sgcampus
Sprint Demo
• Held at the end of the sprint cycle
• Review the work that was completed and not
completed.
• Present the completed work to the stakeholders
(aka the demo).
• Limit to four hours.
• Challenges?
20. www.sgcampus.com.mx @sgcampus
Sprint Retrospective
• All team members reflect on the past sprint.
• Make continuous process improvements.
• Two main questions are asked in the sprint
retrospective
• What went well during the sprint?
• What can be improved in the next sprint?
• Three hour time limit
21. www.sgcampus.com.mx @sgcampus
Artifacts
• Scrum artifacts
• Product Backlog
• Sprints Backlog
• Whiteboard
• Additionally some metrics per sprint
• Velocity
• Estimated vs Actual
• Bugs found
• Any other metric important for you
22. www.sgcampus.com.mx @sgcampus
Product Backlog
• The features or user stories list that the product owner
wants.
• The product owner is responsible for the contents,
prioritization, and availability of the product backlog.
• The development team is responsible for estimates and
assumptions as needed for every product backlog item.
25. www.sgcampus.com.mx @sgcampus
Sprint Backlog
• The work or features that the team defines to be
delivered in each sprint.
• Which backlog items go into the sprint is
determined during the sprint planning meeting.
28. www.sgcampus.com.mx @sgcampus
Metrics
• Velocity is a metric that predicts how much work a
team can complete within a two-week sprint (or
similar time-boxed period).
• Bugs.
• Estimated vs Actual.
30. www.sgcampus.com.mx @sgcampus
Rules
• Iterations must have fixed time boxes and be less than 4 weeks long.
• After completing the sprint, everything must be ready to go into production.
• A Scrum team must have a Product Owner and know who that person is.
• The Product Owner must have a Product Backlog, with estimates and
assumptions created by the team.
• There must be no one outside a team interfering with the team during a
sprint:
• No allowed to work on other projects unless is planned.
• All the team must be working focused on features defined in the
current sprint, any deviation is unacceptable unless is necessary to
complete the features in the current sprint.
• Daily scrum meetings are daily, means every day, same location, same
hour.
31. www.sgcampus.com.mx @sgcampus
Cultural Changes
• No Easy Road to Agile Cultural Change
• Command and control/ Micro management -vs- Self
management.
• Transparency, no problems are swept under the carpet.
• Transparency in planning.
• Estimates and delivery dates are defined by the people
doing the job.
• Responding to change rather than managing to a plan.
• The team makes decisions instead of being told what
to do.
32. www.sgcampus.com.mx @sgcampus
“Scrum exposes every inadequacy or
dysfunction within an organization’s product and
system development practices. The intention of
Scrum is to make them transparent so the
organization can fix them”
37. www.sgcampus.com.mx @sgcampus
Best Practices at Nearsoft
• Source control, check-in policies
• Continuous integration, deployment
• Peer reviews
• Pair Programming
• Unit testing
• Automated QA
• Atomic Check-ins, Comments
• Separate environments for Development, Testing
and Production
• Definition of done
38. www.sgcampus.com.mx @sgcampus
Worst Practices
• Working on product maintenance rather than new
functionality.
• Working on the urgent rather than the important.
• Poor or no communication.
• Bug/Feature creep (out of control).
• QA or other stakeholders not part of the team.
• Write code without stories.
• Delivery process is a problem or non-existent.
• No learning from mistakes, repeating over and over.
• Assigning tasks.
• Imposing deadlines.
41. www.sgcampus.com.mx @sgcampus
Planning Meeting
The iteration or Sprint Planning meeting is for team
members to plan and agree on the stories or backlog
items they are confident they can complete during the
sprint and identify the detailed tasks and tests for
delivery and acceptance.
Requirements:
• Clear and prioritized backlog
42. www.sgcampus.com.mx @sgcampus
Planning Poker
• Planning Poker is a consensus-based estimating
technique.
• Planning poker is attributed to Grenning and is a
fairly recent development (2002).
• Planning Poker is widely used by Agile teams.
43. www.sgcampus.com.mx @sgcampus
Participants
• Participants in Planning Poker include all of the
developers on the team.
• Project Manager.
• Product Owner, or someone on his/her behalf.
Others may participate observers only:
• QA, Designers, etc…
46. www.sgcampus.com.mx @sgcampus
How to play?
• Each estimator is given a deck of cards.
• A moderator (typically the PM) who will not play,
chairs the meeting.
• The moderator reads the description of one task, a
short overview will do.
• The team is given an opportunity to clarify
assumptions and risks. The product owner
answers any questions that the estimators have.
47. www.sgcampus.com.mx @sgcampus
Results?
• Each estimator privately picks a card. Cards are not
shown until each estimator has made a selection.
• At that time, all cards are simultaneously turned
over and shown so that all participants can see
each estimate.
• People with either high or low estimates are given a
chance to justify their estimation.
• Repeat until the estimators have reached a loose
consensus.
48. www.sgcampus.com.mx @sgcampus
Why do we love Planning Poker?
• Discussions lead to accurate estimations.
• Not just the opinion of the principals.
• Greater understanding of work to be completed
• Leverages collective knowledge and wisdom.
• Implementation hints.
• High level architecture and design discussion.
• Ownership of estimate.
• Favors teamwork.
55. www.sgcampus.com.mx @sgcampus
Recommendations
• Only those who actually do the work are the ones
that can vote. Please PM’s ;)
• Don’t go into long discussions or into too much
technical detail.
• Use the “I need a break” and “question” cards.
• Use a timer to limit the discussion.
• Use Planning Poker for Hangouts in distributed
teams.
• Limit the total duration of your planning meetings.