1. User Stories Review of Solen agile process
What isa User Story?
Why User Stories?
CreatingUser Stories.
User Story workshop.Whatisa user story?
It describesfunctionalitythatwill be valuable touserof software.
Moreover,a feature requestfromauser'spointof view.
It is nota bugreport or a functional specification.
It is nota technical designdocument.
Role-Action-Context
As a recruiterIcan postnewjobsso that applicantscanfindthose jobsviasearch
As a jobseekerIcan limitwhoseesmyresume sothatI have privacy.
The Three C's
Card
o writtendescriptionof the storyusedforplanningandestimation.
Conversation
o discussionaboutthe storytofleshoutdetails.Happens'justintime'.
Confirmation
o Teststhat confirmsa story'scompletion.
Anti-stories
The software iswritteninC++
The database will have aconnectionpool
Why are these anti-stories?
Story Scope
"As a userI can searchfor jobs"StoryScope "Asa userI can search andapplyfor jobs"
What valuescan theysearchon?
o State?
o Title?
Doesthe userhave to log in?
o Story Scope "Asa userI can searchand applyfor jobs"
o Too granular.
A little underwhelmingtofromthe user'spointof view
INVEST
2. INVEST
o Independent
Each User Story shouldrepresentadistinctandindependentsetof business
value suchthat, were itreleasedonitsown,itwoulddeliverincremental value
overthe previousstate.
o Negotiable
While the end-goal maybe clearlydescribed,the methodsbywhichthatgoal is
achievedshouldbe negotiable - betweenthe ProductOwnerandthe
DevelopmentTeam, the ProductOwnerandthe Customer,oranyother
involvedstakeholders - soas to preventunrealisticconstraintsonthe feature or
functionality.
o Valuable
The businessvalue of anyUserStory shouldbe readilyrecognizable byreading
the story,and each storyshouldrepresentsome sortof value toa specificuser
type.
o Estimable
We musthave enoughinformationthatwe canproperlysize astoryso that we
may properlyplanandcommitto ourwork.(But no more!)
o Small
User Storiesshouldbe small enoughthattheyare able tobe completedwithina
sprint.
o Testable
All membersof the teamneedaclear andprecise wayto verifywhetherornot
a User Story hasbeencompleted.
Estimation & 'Story Points'
In waterfall,workloadcapacityisdeterminedintermsof time.
Verydifficulttodo.
You don't knowenoughuntil youare done. Estimation&'StoryPoints'
A User Storyis assigned'StoryPoints'.
A measure of size andcomplexity*relativetootherstoriesinthe backlog*
Takes some practice as a teamEstimation& 'StoryPoints'
In SprintPlanningmeeting,teamestimateseffortforthe storiesinthe backlog.
Product Ownerneedsthese estimates,sotheycanprioritize the backlog.
Estimation & 'Story Points' Common pointing schemes
T-shirtsizes(XS,S,M, L, XL,XXL, XXXL)
Fibonacci sequence (1,2,3, 5, 8, 13, 21, …) A storyat 4 pointsis2x a storyat 2 points
Tasks & Acceptance Criteria
o Tasks are the implementationsteps
“As a jobseekerIcan limitwhoseesmyresume sothat I have privacy”
3. o Add newcolumninresumestable forthe visibilityof aresume
o Add a dropdownto the UI that allowsthe usertoselectthe visibility
Add authorizationcheckinsearchresults
Tasks & Acceptance Criteria
o Acceptance Criteriaare the tests
“As a jobseekerIcan limitwhoseesmyresume sothat I have privacy”
o Search fora private resume yieldsnoresults
o Search fora publicresume showsthe resume
Are these goodUserStories?
As a system,Iwill use Log4Jto log all error messagessothatthe systemcan be debuggedeasily.
As a user,I want to be promptedtosave every15 minuteswhile editingmyresume sothatI
don't lose anywork.
As a user,I want to be able to message jobseekers
As a visitinguserIcan searchfor jobsbylocation,salaryandtitle.WhyUser Stories?
Theyemphasize regularcommunication(not'throw itoverthe fence'development)
Why User Stories?
Theyemphasize regularcommunication(not'throw itoverthe fence'development)
Theyare understandable todevelopersandnormies
Theydeferunderstandinguntil the lastmoment.
o Therefore optimizedforchange.WhyUser Stories?
Theyare the right style foriterative development.
User Story Lifecycle
UsuallybacklogispopulatedduringaStoryWritingWorkshop
At SprintPlanning,the backlogisreviewedandpointsare assigned.
Duringand afterSprintPlanning'tasks'and 'acceptance criteria'are created.
Storiesare completedduringSprintandmarkedas'Resolved' forburndowncharts.