Upload
francesco-mapelli
View
446
Download
0
Embed Size (px)
Citation preview
User Stories Estimates Planning Design Wrap up References
User Stories
Estimates
Planning
Design
Wrap up
References
User Stories, Estimates, Planning, Design
User Stories Estimates Planning Design Wrap up References
Problems:
User stories helps us to solve problems
I Communication problem
I Power Balance
I Resource allocation
I Imperfect schedule
User Stories, Estimates, Planning, Design
User Stories Estimates Planning Design Wrap up References
Problems:
Communication problem
I Those who want the software need to communicate to theones that build the software
User Stories, Estimates, Planning, Design
User Stories Estimates Planning Design Wrap up References
Problems:
Balance
I Balance between business side and development
I If business is dominantI "I need this by this date"I Functionality and date are mandatory
I no matter if feasibleI no matter if requirements are clear
I If development is dominantI Techinical language used instead of businessI Trap: the business should not be forced to talk technical
language... we force business to talk technology language
User Stories, Estimates, Planning, Design
User Stories Estimates Planning Design Wrap up References
Problems:
Resource allocation
I Should be a shared problem
I Business wants more than feasible
I how resources should be allocated should be a problem of bothsides
User Stories, Estimates, Planning, Design
User Stories Estimates Planning Design Wrap up References
Problems:
Scarce resource done wrong:
I If developers are required to address the scarcity of resourcesI May trade quality for additional featuresI May only partially implement a featureI May solely make decisions that should involve the business
I If the business is required to address the scarcity of resourcesI Lengthy upfront requirements negotiation and signo�I Features are progressively dropped as the deadline nearsI note: the ugly documents are there because developers are not
happy about changing requirements!
User Stories, Estimates, Planning, Design
User Stories Estimates Planning Design Wrap up References
Problems:
Imperfect schedule
I We cannot perfectly predict a software scheduleI As users see the software, they come up with new ideasI Too many intangiblesI Developers have a notoriously hard time estimating
I If we can't perfectly predict a schedule, we can't perfectly saywhat will be delivered
User Stories, Estimates, Planning, Design
User Stories Estimates Planning Design Wrap up References
Approach
What do we do?
I We make decisions based on the information we haveI but OFTEN!
I we spread decisionmaking across the projectI rather than making all the decisions at the beginning
I we take into account changes in requirement during the entiredevelopment process
I User Stories can help us
User Stories, Estimates, Planning, Design
User Stories Estimates Planning Design Wrap up References
What are User Stories?
Structure of a user story
I "As a <user role>, I <want/need/can/etc> <something> sothat <bene�t>."
I As a CONTENT OWNER I want to MAKE A PICTUREAVAILABLE ON THE INTERNET so that I CAN EASILYSHOW IT TO FRIENDS
I As a FRIEND I want A NOTIFICATION WHEN A NEWPICTURE IS AVAILABLE so that I KNOW WHEN THERE ISNEW CONTENT TO SEE
User Stories, Estimates, Planning, Design
User Stories Estimates Planning Design Wrap up References
What are User Stories?
What does this bring?
I provides a functionality from a user perspective
I stress where is the value
I identi�es explicitly the goal of the user
I is expressed in the domain language, so everybody canunderstand it
I express goals that are not always software requirements
User Stories, Estimates, Planning, Design
User Stories Estimates Planning Design Wrap up References
What are User Stories?
More on So That
I As a visitor I want not to sign-in or sign-up so that...
User Stories, Estimates, Planning, Design
User Stories Estimates Planning Design Wrap up References
What are User Stories?
More on So That
I As a visitor I want not to sign-in or sign-up so that...I ...I can access the functionalities immediatlyI ...I give no personal data to the website
way of splitting the US and implementation can changeradically depending on what the goal is
sometimes the so that part is the most important one, and theUS can change completely once the goal is clear
User Stories, Estimates, Planning, Design
User Stories Estimates Planning Design Wrap up References
What are User Stories?
Three Cs
I CardI Traditionally, written on small cardsI Cards may be annotated with estimates, notes, etc.
I ConversationI Details behind the story come out during conversations with
product ownerI The promise of the conversation allows the PO not to write
the requirementsI The US points to the requirements, somehow.
I Con�rmationI The Acceptance criterion.
User Stories, Estimates, Planning, Design
User Stories Estimates Planning Design Wrap up References
What are User Stories?
USs are short
I Conversation can help to understand what to do..I On the back you can add the description of what is expectedI This are somehow the things that should work... condition of
satisfaction, done criteriaI (can be translated to tests to perform to accept the story)I Think of them as the script of the demo card
I Another way to add detailsI Write smaller stories
User Stories, Estimates, Planning, Design
User Stories Estimates Planning Design Wrap up References
What are User Stories?
Digital tools for handling USs across distributed teams
User Stories, Estimates, Planning, Design
User Stories Estimates Planning Design Wrap up References
What are User Stories?
US in backlog
I Bottom: large USs, vague (very largeUSs are called Epics)
I USs are split into smaller USs whiletheir priority grows
User Stories, Estimates, Planning, Design
User Stories Estimates Planning Design Wrap up References
What are User Stories?
A user story is
I a placeholderI to remind the team and PO to talk
I value for user
I mutable in time
User Stories, Estimates, Planning, Design
User Stories Estimates Planning Design Wrap up References
What are User Stories?
A user story is not
I a requirement
I detailed
I immutable
User Stories, Estimates, Planning, Design
User Stories Estimates Planning Design Wrap up References
What are User Stories?
I.N.V.E.S.T.
I IndependentI Self contained, no inherent dependency
I NegotiableI Subject to changes until they are scheduled
I ValuableI Must be valueable for the user
I EstimableI Ready to be estimated
I ScalableI Small enough to be estimated/prioritized
I TestableI Enough information to be tested
User Stories, Estimates, Planning, Design
User Stories Estimates Planning Design Wrap up References
Why User Stories?
Advantages of User Stories
I Shift focus from writing to talkingI If requirements are written down, the user is getting, at best,
what's written
I Easier to understand and to remember
I Encourage iterative development and evolution
I Have the right size for planning (if not, split them!)
I Help both development and planning
I Encourage partecipatory design and goal oriented design
I Focus on the user goal, not on the attributes of the system
User Stories, Estimates, Planning, Design
User Stories Estimates Planning Design Wrap up References
Why User Stories?
Do you remember?
I Tha Agile Manifesto: ValuesI Individuals and iteractions over Processess and toolsI Working software over Comprehensive documentationI Customer collaboration over Contract negotiationI Responding to change over Follwing a plan
I User stories lean toward the left side, traditional requirementslean toward the right side
User Stories, Estimates, Planning, Design
User Stories Estimates Planning Design Wrap up References
Recap
Recap - User Stories
I As a <role> I <something> so that <bene�t>
I Card, Conversation, Con�rmation
I USs are placeholders
I USs express a value for the user
I USs start big and vague, they become smaller and a bit moredetailed when their priority gets higher
I Independent, Negotiable, Valuable, Estimable, Scalable,Testable
User Stories, Estimates, Planning, Design
User Stories Estimates Planning Design Wrap up References
Introduction
Make groups of 3-4 people and take 5 minutes to estimate...
I how long does it takes to drive from here to Prague?
I how long does it takes to read all the Game Of Thrones /Harry Potter / Twilight saga?
User Stories, Estimates, Planning, Design
User Stories Estimates Planning Design Wrap up References
Introduction
What was your approach?
User Stories, Estimates, Planning, Design
User Stories Estimates Planning Design Wrap up References
Introduction
Estimate size, derive duration
I Size -> Calculation -> Duration
I two steps!
I Once you estimate the size, you can try to do a bit of it, thenestimate the duration
User Stories, Estimates, Planning, Design
User Stories Estimates Planning Design Wrap up References
Introduction
User stories use
I Story Points
I Ideal Days
User Stories, Estimates, Planning, Design
User Stories Estimates Planning Design Wrap up References
Story Points
Story Points
I Story Points are a RELATIVE measure of size
I How long a user story will take (e�ort)
I In�uenced by complexity, uncertainty, risk, volume of work, etc.
I Relative values are what is important:I A login screen is a 2.I A search feature is an 8.I Not how much time it will take!
I Basic math properties should holdI 5+5 = 10
I It's independent on the skill sets of who's working on that
User Stories, Estimates, Planning, Design
User Stories Estimates Planning Design Wrap up References
Story Points
Try estimating the following animals size in points
I Lion
I Kangaroo
I Rhinoceros
I Bear
I Gira�e
I Gorilla
I Hippopotamus
I Tiger
User Stories, Estimates, Planning, Design
User Stories Estimates Planning Design Wrap up References
Story Points
Estimating with story points
I Becomes easier: there's something similar already there
I Separates completely estimation of e�ort from estimation ofduration
I Story points are additive; time-based estimates may not be (ifwe mix Bob time and Anne time)
User Stories, Estimates, Planning, Design
User Stories Estimates Planning Design Wrap up References
Ideal Days
Ideal time
I How long something will take ifI no one interrupts youI it's all you work onI everything you need is available
User Stories, Estimates, Planning, Design
User Stories Estimates Planning Design Wrap up References
Ideal Days
Ideal vs Elapsed
I IdeallyI Monday has 8 hoursI Each week has 40 hours
I InsteadI Each day has something likeI 2 hours of meetingsI 2 hours of emailI 4 hours left for the project
I How long it will take to...?I Are you asking ideal time or elapsed?
User Stories, Estimates, Planning, Design
User Stories Estimates Planning Design Wrap up References
Story points or ideal days?
Advantages of story points
I story points help drive cross-functional behavior
I story point estimates do not decay
I story points are a pure measure of size
I estimating in story points is typically faster
I my ideal days are not your ideal days
User Stories, Estimates, Planning, Design
User Stories Estimates Planning Design Wrap up References
Story points or ideal days?
Advantages of ideal days
I ideal days are easier to explain outside the team
I ideal days are easier to estimate at �rst
I ideal days make velocity predictions easier
User Stories, Estimates, Planning, Design
User Stories Estimates Planning Design Wrap up References
Story points or ideal days?
Story Points or Ideal Days?
I Majority of teams prefer using Story pointsI including myself :)
I Ideal days are ok, too, as long as you don't mess with idealdays and real days!
User Stories, Estimates, Planning, Design
User Stories Estimates Planning Design Wrap up References
Planning Poker
Planning Poker is an iterative approach to estimating
I we want the team to converge to an estimate
I not all numbers are vaildI the distance usually grows, as we just want a rough estimateI e.g.
I 0 121 2 3 5 8 13 20 40 100 ...
I 1 2 3 5 8 16 32 ...I 1 2 3 5 8 13 21 34 ...
I in this way there is no discussion about a US being a 18 or 19:it's larger than 13, so we pick 20
User Stories, Estimates, Planning, Design
User Stories Estimates Planning Design Wrap up References
Planning Poker
Planning Poker Steps
I Each estimator is given a deck of cards, each card has a validestimate written on it
I Customer/Product owner reads a story and it's discussedbrie�y
I Each estimator selects a card that is his or her estimate
I Cards are turned at the same time
I Discuss di�erences (especially outliers)
I Re-estimate until estimates converge
User Stories, Estimates, Planning, Design
User Stories Estimates Planning Design Wrap up References
Recap
Recap - Estimates
I Estimate size, derive duration
I Story Points are a relative measure of size
I Ideal days exists, too. But we like story points more
I Planning poker helps team to faster and better estimate USs
User Stories, Estimates, Planning, Design
User Stories Estimates Planning Design Wrap up References
Introduction
Planning is...
I importantI Plans guide our investment decisions
I helpfulI for allocating resourcesI to understand if the project is on track
I but...I planning is di�cult, and plans are often wrong
User Stories, Estimates, Planning, Design
User Stories Estimates Planning Design Wrap up References
Introduction
Common reactions
I no planning at all
I so much e�ort that teams are sure their plan can't be wrong
User Stories, Estimates, Planning, Design
User Stories Estimates Planning Design Wrap up References
Introduction
Cone of uncertaintiy
User Stories, Estimates, Planning, Design
User Stories Estimates Planning Design Wrap up References
Introduction
Why planning?
I reducing (and/or identifying) risk
I reducing uncertainity
I support better decision makingI make sure we're working on the most valuable projectI make sure we get the best possible tradeo�
I establishing trustI reliable plans enable reliable deliveries
I convey informationI a plan provide a set of baseline expectationI usually with information attached (assumption, approach etc)
Prediction is very di�cult, especially about the future.
User Stories, Estimates, Planning, Design
User Stories Estimates Planning Design Wrap up References
Introduction
Good plan
I a good plan is one that stakeholders �nd su�ciently reliablethat they can use it as the basis for making decisions
User Stories, Estimates, Planning, Design
User Stories Estimates Planning Design Wrap up References
Introduction
Planning VS Plan
I "Planning is everything. Plans are nothing"
I "No plan survives contact with the enemy"
Field Marshal Helmuth Graf von Moltke
I We want to focus on the ongoing (re-)planning activity, not onthe current plan
I The knowledge and insight gained from planning persists aftera plan is replaced by another one
User Stories, Estimates, Planning, Design
User Stories Estimates Planning Design Wrap up References
Traditiona Planning Issues
Traditional Planning Issues
I Planning by Activity instead of Planning by Feature
I Features are not developed by priority, but to optimize
I We ignore uncertainity
User Stories, Estimates, Planning, Design
User Stories Estimates Planning Design Wrap up References
Traditiona Planning Issues
Planning by Activity instead of Planning by Feature
I Traditional processes measure the progress by activity
I IssuesI Activity never �nish early
I "Work expands so as to �ll the time available for itscompletion"(Parkinson's Law)
I Lateness propagatesI Activities are not independent
I (if you estimated something wrong, estimates of similar itemsis probably wrong as well)
I We should remember the agile principlesI "Working software is the principal measure of progress"
User Stories, Estimates, Planning, Design
User Stories Estimates Planning Design Wrap up References
Traditiona Planning Issues
Features are not developed by priority, but to optimize
I if all work will be completed, project customers have nopreference about the sequence in which that work is done
I but when the end of the project approaching, and there is notenough time, we often have to meet the schedule by droppingfeatures
I and since the features were developed not following priority,some important features may be dropped
User Stories, Estimates, Planning, Design
User Stories Estimates Planning Design Wrap up References
Traditiona Planning Issues
We ignore uncertainity
I We assume that the requirement and analysis have removed alldoubts
I We assume users will not change their minds
I We assume during work nothing changes in how we want tobuild the solution
User Stories, Estimates, Planning, Design
User Stories Estimates Planning Design Wrap up References
Ongoing Planning and RePlanning
We need a process that allows ongoing planning
User Stories, Estimates, Planning, Design
User Stories Estimates Planning Design Wrap up References
Ongoing Planning and RePlanning
Planning at release level
User Stories, Estimates, Planning, Design
User Stories Estimates Planning Design Wrap up References
Ongoing Planning and RePlanning
Planning at iteration level
User Stories, Estimates, Planning, Design
User Stories Estimates Planning Design Wrap up References
Ongoing Planning and RePlanning
How story points can help planning and replanning
I Velocity: a measure of a team?s rate of progress per iteration.I At the end of each iteration, a team can look at the stories
they have completed and calculate their velocity by summingthe story-point estimates for each completed story.
I The duration of a project is not estimated as much as it isderived by taking the total number of story points and dividingit by the velocity of the team
User Stories, Estimates, Planning, Design
User Stories Estimates Planning Design Wrap up References
Recap
Recap - Planning
I Planning is important
I Plans often does not work
I Planning done wrong can be improved with agile approaches
I Replanning is something we should embrace
User Stories, Estimates, Planning, Design
User Stories Estimates Planning Design Wrap up References
Introduction
Focus on the user
I If we design and develop digital products so that people usingthem can achive their goal, they will be happy and our productwill be a success
User Stories, Estimates, Planning, Design
User Stories Estimates Planning Design Wrap up References
Introduction
The truth: poor product behavior
I Digital products are rudeI "Error! Unable to contact the server"
I Digital products require people to think like computersI "Save as..."I "Bu�ering"
I Digital products have sloppy habitsI Dangerous commands, no autosave...
I ...
User Stories, Estimates, Planning, Design
User Stories Estimates Planning Design Wrap up References
Introduction
Why so much software is still frustrating?
I Because we focus on Planning and Development... and notenough on Design
User Stories, Estimates, Planning, Design
User Stories Estimates Planning Design Wrap up References
What is Design
Design Activities
I Understanding the desires, needs, motivations, and contexts ofpeople using products
I Understanding business, technical, and domain opportunities,requirements, and constraints
I Using this knowledge as a foundation for plans to createproducts whose form, content, and behavior are useful, usable,and desirable, as well as economically viable and technicallyfeasible
User Stories, Estimates, Planning, Design
User Stories Estimates Planning Design Wrap up References
What is Design
What this is about?
I If done correctly, design can provide the missing humanconnection in technological products
User Stories, Estimates, Planning, Design
User Stories Estimates Planning Design Wrap up References
Digital product issues
Why digital product fails?
I Misplaced priorities
I Ignorance about real users
I Con�icts of interest
I Lack of a design process
User Stories, Estimates, Planning, Design
User Stories Estimates Planning Design Wrap up References
Digital product issues - Misplaced Priorities
Traditionally, two forces provide inputs for the product
I Business
I Developers
User Stories, Estimates, Planning, Design
User Stories Estimates Planning Design Wrap up References
Digital product issues - Misplaced Priorities
Business
I Good at Identifying business opportunity
I Good at introducing the product in the market
I Provide just requirementsI often this is about chasing competition and what users say
they buyI little to do with what a user needs or desires
User Stories, Estimates, Planning, Design
User Stories Estimates Planning Design Wrap up References
Digital product issues - Misplaced Priorities
Developers
I Di�erent imperatives than the end user
I They are �ghting with technical problems, deadlines,incomplete, myopic, confusing and contradictory instruction.
I Often have no time or enough knowledge of how the productwill be used... still they have to buil it
User Stories, Estimates, Planning, Design
User Stories Estimates Planning Design Wrap up References
Digital product issues - Misplaced Priorities
Result of this two forces combined
I Reactive to market trends
I Reactive to technical constraints
I No one thinks about the user goals,needs of motivation
I Lacking of coherent user experience,and humanity
User Stories, Estimates, Planning, Design
User Stories Estimates Planning Design Wrap up References
Digital product issues
Ignorance about real users
I We knowI market segmentI incomeI what they do in the weekendI what they buyI ...
I We do not knowI how will they use the productI what pushes them to use the productI why they prefer our product or the competitor'sI how to push them to use our productI ...
User Stories, Estimates, Planning, Design
User Stories Estimates Planning Design Wrap up References
Digital product issues
Lack of a design process
I Technical feasibility is studied and considered
I Commercial feasibility is studied and considered
I What about desirability? Design process is often missing
User Stories, Estimates, Planning, Design
User Stories Estimates Planning Design Wrap up References
Success
Evolution of sw development cycle
User Stories, Estimates, Planning, Design
User Stories Estimates Planning Design Wrap up References
Success
Success
User Stories, Estimates, Planning, Design
User Stories Estimates Planning Design Wrap up References
Goal Oriented Design
Goal Oriented Design
I Understending the user's goals, need, motivation
I We try to identify the personal goals, not the short termobjective or the task
I Goals are motivations for the user and should describe whatthey are trying to achieve
I Tasks are the steps involved to help them achieve the goal.
User Stories, Estimates, Planning, Design
User Stories Estimates Planning Design Wrap up References
Goal Oriented Design
Example of goals
I Experience goalsI Feel smart and in controlI Have funI Remain focused
I End goalsI Stay connected with friendsI Find music I loveI Get the best deal
I Life goalsI Be respected by my peersI Be an expert in...
User Stories, Estimates, Planning, Design
User Stories Estimates Planning Design Wrap up References
Goal Oriented Design
Example
I Context: a company that sells houses. What is a possiblecustomer goal?
I goal: make sure my family is safe and happyI not a goal: �nd a house quickly and e�ciently in a given area
User Stories, Estimates, Planning, Design
User Stories Estimates Planning Design Wrap up References
Goal Oriented Design
Thinking by user goals helps reshaping the UX, high level
capabilities, design and brand strategy
I e.g. instead of searching a new house by number of rooms, itmay be interesting searching by family composition
User Stories, Estimates, Planning, Design
User Stories Estimates Planning Design Wrap up References
Personas
How can we identify the user goals?
I Research
I Qualitative research in this areas usually works betterI We are not trying to have objective resultsI We are not try to answer "how" "how much", but more
complex questions
User Stories, Estimates, Planning, Design
User Stories Estimates Planning Design Wrap up References
Personas
Qualitative and quantitative research contributions
I quantitative research still providesinputs
User Stories, Estimates, Planning, Design
User Stories Estimates Planning Design Wrap up References
Personas
Flow of the Goal Directed Design
User Stories, Estimates, Planning, Design
User Stories Estimates Planning Design Wrap up References
Personas
How do we use all this information?
I We create models of users.
I This models are called Personas
User Stories, Estimates, Planning, Design
User Stories Estimates Planning Design Wrap up References
Personas
Personas
I Simple but powerful concept
I We do not discuss how the personasare identi�ed... but it's fun
User Stories, Estimates, Planning, Design
User Stories Estimates Planning Design Wrap up References
Personas
At the end you have something like
User Stories, Estimates, Planning, Design
User Stories Estimates Planning Design Wrap up References
Personas
Do not try to design for every user
User Stories, Estimates, Planning, Design
User Stories Estimates Planning Design Wrap up References
Personas
Try to design for speci�c user with speci�c needs
User Stories, Estimates, Planning, Design
User Stories Estimates Planning Design Wrap up References
Personas
Strenghts of personas
I Communication between stakeholders, developers, designersI common language
I With common language it's easier to get common consesusand committment
I Contribute to multipe areasI product developmentI marketingI salesI support
I Help to avoidI elastic userI self referential designI corner case
User Stories, Estimates, Planning, Design
User Stories Estimates Planning Design Wrap up References
Wrap up
Course Wrap up
I Development is about �nding technical solutions. But hassome uncertainty and requires creativity.
I Everything changes very often, and we're working on complexdomains, so lanning and making predictions is very di�cult
I Being able to react and adapt is important at every level, frommanagement to single teams
I Since everybody needs to react, teams and people must betrusted, and empowered, otherwise things will go bad
User Stories, Estimates, Planning, Design
User Stories Estimates Planning Design Wrap up References
Wrap up
Two main themes across the entire course
I human beingI hiring good peopleI user storiesI conversationI user goalsI personas
I reaction to changeI leanI agileI planning and replanning
play it by ear!
User Stories, Estimates, Planning, Design
User Stories Estimates Planning Design Wrap up References
Bibliography
Bibliography
I Agile Estimating and Planning, Mike Cohn, Chapters 1-4
I About Face, The essential of interaction design, 4th edition -Cooper, Reimann, Cronin, Noessel - chap 1, 2 - concepts fromchapter 3
User Stories, Estimates, Planning, Design