Upload
others
View
6
Download
0
Embed Size (px)
Citation preview
User Stories
CS485/540 Software EngineeringCengiz Günay
Fall 2014, Some slides courtesy of Joan Smith and Scott Turnbull
Günay (Emory MathCS) User Stories Fall 2014 1 / 4
Agenda
Requirements document:
Due tomorrow midnight
Next week:
User stories in selected process tool (listen to presentations!)Due Friday midnight
Today:
User stories and some practical agile recommendationsFirst, more volunteers for process and version control tools
Günay (Emory MathCS) User Stories Fall 2014 2 / 4
Agenda
Requirements document:
Due tomorrow midnight
Next week:
User stories in selected process tool (listen to presentations!)Due Friday midnight
Today:
User stories and some practical agile recommendationsFirst, more volunteers for process and version control tools
Günay (Emory MathCS) User Stories Fall 2014 2 / 4
Agenda
Requirements document:
Due tomorrow midnight
Next week:
User stories in selected process tool (listen to presentations!)Due Friday midnight
Today:
User stories and some practical agile recommendationsFirst, more volunteers for process and version control tools
Günay (Emory MathCS) User Stories Fall 2014 2 / 4
Software Process Tools
Trello: http://trello.comSimple to use
Pivotal Tracker: https://www.pivotaltracker.com (video?)Highly recommendedFree educational edition
Rally: http://www.rallydev.com/Simple to useFree for one project with up to 10 users
Target Process: http://www.targetprocess.com (video)More complex features, kanban board, custom processesFree up to 5 users
Version One: http://versionone.comFree for one project with up to 10 users
Günay (Emory MathCS) User Stories Fall 2014 3 / 4
Version Control Systems and Online Tools
Apache Subversion (SVN): http://svnbook.red-bean.com/Files in database, good with directoriesCentralized system
GIT: http://git-scm.com/by Linus TorvaldsDistributed system
Others?
Online tools:Bitbucket: https://bitbucket.org/
Compatible with SVN, GIT
GitHub: https://github.comGIT only, very popular
Others?Günay (Emory MathCS) User Stories Fall 2014 4 / 4
User Story Template
Example from Template
Other Example User Stories*
These were excerpted from http://www.westborosystems.com/2010/02/user-story-examples/ Also see http://agile.csc.ncsu.edu/SEMaterials/tutorials/coffee_maker/ for a great set of examples and
tutorials
Key Points
Cards: physical (or virtual) medium where the story is recordedConversation:Discussion and clarification, modification of the story via communication with the userConfirmation:Tests to verify the user story
I.N.V.E.S.T.
I = independent. Not requiring other features.N = negotiable. Can be excluded, revised, etc.V = valuable. Clearly contributing to product usefulnessE = estimable. Reasonable development estimates can be made from the story.S = small. Stories that are too big tend to be vague and to miss the other points, too.T = testable. Stories need to have a means of verifying functionality.
..or something that looks like it
Scott [email protected]
Software Engineering ManagerEmory University Libraries
Agile Development
Breaking It Down and Developing
Project Plan >> Release Plan >> User StoryProject Plan covers Scope and Overall GoalsRelease Plan bundles features into logical blocksUser Stories tell WHO can do WHAT and WHYStorypoints estimate the relative complexity of
satisfying the requirement.Tools we use:
Wiki’s and Documentation sites – Project/Release Plans Pivotal Tracker – User Stories/Chores Iteration – 2 Week breakdown and focus of work. Iteration Board – Daily Management of Development.
Estimation & Planning
User Stories are the central focus for developersEach User Story should imply an acceptance testComplexity is estimated in Story Points
Arbitrary measure of relative complexity We use modified Fibonacci Sequence (0, 1, 2, 3, 5, 8, 13, 21) Estimates are collaborative to uncover assumptions Based on Staffing we estimate how many Story Points we can
accomplish in a 2 week Iteration (Velocity)
Iterations & The Iteration Board
Iterations focus on immediate goals in a releaseIdentify the most critical work over next 2 weeksSet expectations on what we’ll be trying to
accomplishAre a means to monitor the progress of development
and adjust planning if neededDaily 10 min Stand-Ups keep Everyone In the LoopSignificant difference in how we use iterations here
Discipline In The Process
Version Control (Git/Subversion) is a MUSTBranching and Tagging of ReleasesUnit Testing Absolutely VitalCommunication & Released Software
Daily Stand-Ups Code needs to be frequently Deployed and Hand’s On Design Globally, Code Locally Acceptance Testing is important
Criticisms of Agile Development
Feature focus obscures goals and infrastructure.Staffing and long term planning problems.A charismatic movement that generates certification
or speaker fees.Works better for Senior Developers who can operate
with more discretion.Higher Risk of Scope Creep.Inadequate handing of non-functional details.
My Own Conclusions
No method excuses you from knowing your business.Just like software, pick the right tools for the right
job.Make the process as transparent and avoid Scrum-
But.Define with expected outcomes but iterate through
features.Why is the most important question you can ask.
Tools of the Trade
Agile Development
Pivotal Tracker for Project Management
Iteration Cards
<Project>
<Description>
<Project>
<User Story>
<Initials><Storypointst>
<Initials>
Analog, the wave of the future
Reporting and Tracking
Velocity and Where it takes You