Designing the ProcessScrum artifacts User stories (customer requirements) −Used in lieu of...
Transcript of Designing the ProcessScrum artifacts User stories (customer requirements) −Used in lieu of...
![Page 1: Designing the ProcessScrum artifacts User stories (customer requirements) −Used in lieu of conventional (long, detailed) requirements docs −Basic unit of backlog −Generated by](https://reader033.fdocuments.us/reader033/viewer/2022052008/601cd933eaea804d854b2729/html5/thumbnails/1.jpg)
Designing the Process
A Brief Introduction to Agile Programming
![Page 2: Designing the ProcessScrum artifacts User stories (customer requirements) −Used in lieu of conventional (long, detailed) requirements docs −Basic unit of backlog −Generated by](https://reader033.fdocuments.us/reader033/viewer/2022052008/601cd933eaea804d854b2729/html5/thumbnails/2.jpg)
In the beginning, there was the waterfall ...
Analysis, Design, Implementation, Testing & Evaluation: − Discrete, linear tasks − Each step completed before the next step can
proceed
![Page 3: Designing the ProcessScrum artifacts User stories (customer requirements) −Used in lieu of conventional (long, detailed) requirements docs −Basic unit of backlog −Generated by](https://reader033.fdocuments.us/reader033/viewer/2022052008/601cd933eaea804d854b2729/html5/thumbnails/3.jpg)
Waterfall
Highly structured Not very adaptable
![Page 4: Designing the ProcessScrum artifacts User stories (customer requirements) −Used in lieu of conventional (long, detailed) requirements docs −Basic unit of backlog −Generated by](https://reader033.fdocuments.us/reader033/viewer/2022052008/601cd933eaea804d854b2729/html5/thumbnails/4.jpg)
Agile: a new paradigm
Process model that recognizes the significance of change and responsiveness
Emphasis on adaptability Same basic “steps” are involved (ADITE), but
throw out linearity and discreteness
![Page 5: Designing the ProcessScrum artifacts User stories (customer requirements) −Used in lieu of conventional (long, detailed) requirements docs −Basic unit of backlog −Generated by](https://reader033.fdocuments.us/reader033/viewer/2022052008/601cd933eaea804d854b2729/html5/thumbnails/5.jpg)
Agile view of programming process
Feedback at each stage − Linkage − Collaboration
![Page 6: Designing the ProcessScrum artifacts User stories (customer requirements) −Used in lieu of conventional (long, detailed) requirements docs −Basic unit of backlog −Generated by](https://reader033.fdocuments.us/reader033/viewer/2022052008/601cd933eaea804d854b2729/html5/thumbnails/6.jpg)
Scrum: Agile for software development
Scrum is the most prominent example of agile model in the programming world
Scrum describes both the process and the participants in the process
![Page 7: Designing the ProcessScrum artifacts User stories (customer requirements) −Used in lieu of conventional (long, detailed) requirements docs −Basic unit of backlog −Generated by](https://reader033.fdocuments.us/reader033/viewer/2022052008/601cd933eaea804d854b2729/html5/thumbnails/7.jpg)
![Page 8: Designing the ProcessScrum artifacts User stories (customer requirements) −Used in lieu of conventional (long, detailed) requirements docs −Basic unit of backlog −Generated by](https://reader033.fdocuments.us/reader033/viewer/2022052008/601cd933eaea804d854b2729/html5/thumbnails/8.jpg)
Scrum as process framework
Sprint: basic work cycle − 1-4 weeks in duration (assuming 40+ hour weeks) − Tasks pulled from prioritized list of requirements
(top first) − Working software delivered at end of each sprint − Fixed duration: end at predefined end date, whether
successful or not
![Page 9: Designing the ProcessScrum artifacts User stories (customer requirements) −Used in lieu of conventional (long, detailed) requirements docs −Basic unit of backlog −Generated by](https://reader033.fdocuments.us/reader033/viewer/2022052008/601cd933eaea804d854b2729/html5/thumbnails/9.jpg)
Product backlog: example
Source: onproductmanagement.net
![Page 10: Designing the ProcessScrum artifacts User stories (customer requirements) −Used in lieu of conventional (long, detailed) requirements docs −Basic unit of backlog −Generated by](https://reader033.fdocuments.us/reader033/viewer/2022052008/601cd933eaea804d854b2729/html5/thumbnails/10.jpg)
Product backlog: example
Source: http://www.mountaingoatsoftware.com/blog/a-sample-format-for-a-spreadsheet-based-product-backlog
![Page 11: Designing the ProcessScrum artifacts User stories (customer requirements) −Used in lieu of conventional (long, detailed) requirements docs −Basic unit of backlog −Generated by](https://reader033.fdocuments.us/reader033/viewer/2022052008/601cd933eaea804d854b2729/html5/thumbnails/11.jpg)
Scrum artifacts
Sprint backlog (aka release backlog) − Detailed list of requirements to be met during
current sprint − Includes time estimates (programmer-hours) for
completion of each task No more than 16 hours per task Larger tasks broken down into smaller tasks if estimate
exceeds this limit
![Page 12: Designing the ProcessScrum artifacts User stories (customer requirements) −Used in lieu of conventional (long, detailed) requirements docs −Basic unit of backlog −Generated by](https://reader033.fdocuments.us/reader033/viewer/2022052008/601cd933eaea804d854b2729/html5/thumbnails/12.jpg)
Product backlog vs. Sprint Backlog
Source: www.altexsoft.com
![Page 13: Designing the ProcessScrum artifacts User stories (customer requirements) −Used in lieu of conventional (long, detailed) requirements docs −Basic unit of backlog −Generated by](https://reader033.fdocuments.us/reader033/viewer/2022052008/601cd933eaea804d854b2729/html5/thumbnails/13.jpg)
Scrum artifacts User stories (customer requirements)
− Used in lieu of conventional (long, detailed) requirements docs
− Basic unit of backlog − Generated by customer (user)
Describe what system needs to do for them Not limited to UI Short – 2-3 sentences – non-technical
− Serve purpose similar to use cases Product owner prioritizes these, may tweak them Programming team uses these to create time estimates
for sprint
![Page 14: Designing the ProcessScrum artifacts User stories (customer requirements) −Used in lieu of conventional (long, detailed) requirements docs −Basic unit of backlog −Generated by](https://reader033.fdocuments.us/reader033/viewer/2022052008/601cd933eaea804d854b2729/html5/thumbnails/14.jpg)
User stories
Suggested formats: − As a [role], I want [feature] because [reason] − As a [role], I can [feature] − As a [role], I can [feature] so that [reason]
Examples: − As a student, I want to see a list of classes so that I
can register − As account owner, I can check my balance online − As a user, I want to search for my customers by
their first and last names.
![Page 15: Designing the ProcessScrum artifacts User stories (customer requirements) −Used in lieu of conventional (long, detailed) requirements docs −Basic unit of backlog −Generated by](https://reader033.fdocuments.us/reader033/viewer/2022052008/601cd933eaea804d854b2729/html5/thumbnails/15.jpg)
Forms of user stories*
Cards: like CRC cards, only less (or more) Conversation: discussion surrounding card: how team
interprets what's there Confirmation: tests that verify requirement(s) met
** * Source: http://xp123.com/articles/invest-in-good-stories-and-smart-tasks/
** Source:
![Page 16: Designing the ProcessScrum artifacts User stories (customer requirements) −Used in lieu of conventional (long, detailed) requirements docs −Basic unit of backlog −Generated by](https://reader033.fdocuments.us/reader033/viewer/2022052008/601cd933eaea804d854b2729/html5/thumbnails/16.jpg)
User stories
Source: http://www.stellman-greene.com/2009/05/03/requirements-101-user-stories-vs-use-cases/
![Page 17: Designing the ProcessScrum artifacts User stories (customer requirements) −Used in lieu of conventional (long, detailed) requirements docs −Basic unit of backlog −Generated by](https://reader033.fdocuments.us/reader033/viewer/2022052008/601cd933eaea804d854b2729/html5/thumbnails/17.jpg)
Product backlog vs. Sprint backlog
Source: agile.dzone.com
![Page 18: Designing the ProcessScrum artifacts User stories (customer requirements) −Used in lieu of conventional (long, detailed) requirements docs −Basic unit of backlog −Generated by](https://reader033.fdocuments.us/reader033/viewer/2022052008/601cd933eaea804d854b2729/html5/thumbnails/18.jpg)
Sprint backlog example
Source: www.mountaingoatsoftware.com/uploads/blog/SprintBacklog.jpg
![Page 19: Designing the ProcessScrum artifacts User stories (customer requirements) −Used in lieu of conventional (long, detailed) requirements docs −Basic unit of backlog −Generated by](https://reader033.fdocuments.us/reader033/viewer/2022052008/601cd933eaea804d854b2729/html5/thumbnails/19.jpg)
Scrum artifacts
Burndown chart − Shows ongoing (cumulative) work done &
remaining in sprint − Updated daily − Guide for team: on-time delivery of working product
![Page 20: Designing the ProcessScrum artifacts User stories (customer requirements) −Used in lieu of conventional (long, detailed) requirements docs −Basic unit of backlog −Generated by](https://reader033.fdocuments.us/reader033/viewer/2022052008/601cd933eaea804d854b2729/html5/thumbnails/20.jpg)
Burndown chart: example
Source: http://upload.wikimedia.org/wikipedia/commons/0/05/SampleBurndownChart.png
![Page 21: Designing the ProcessScrum artifacts User stories (customer requirements) −Used in lieu of conventional (long, detailed) requirements docs −Basic unit of backlog −Generated by](https://reader033.fdocuments.us/reader033/viewer/2022052008/601cd933eaea804d854b2729/html5/thumbnails/21.jpg)
Burndown chart: example
Source: http://agilesoftwaredevelopment.com/files/apostimages/Scrum/simple-sprint-backlog.png
![Page 22: Designing the ProcessScrum artifacts User stories (customer requirements) −Used in lieu of conventional (long, detailed) requirements docs −Basic unit of backlog −Generated by](https://reader033.fdocuments.us/reader033/viewer/2022052008/601cd933eaea804d854b2729/html5/thumbnails/22.jpg)
Kanban board
Not really a Scrum artifact (Scrum & Kanban are really two different Agile methodologies) but often associated with Scrum projects
Visual tool (like burndown chart in that sense) for monitoring project progress
May be used to visualize sprint backlog
![Page 23: Designing the ProcessScrum artifacts User stories (customer requirements) −Used in lieu of conventional (long, detailed) requirements docs −Basic unit of backlog −Generated by](https://reader033.fdocuments.us/reader033/viewer/2022052008/601cd933eaea804d854b2729/html5/thumbnails/23.jpg)
Kanban board examples
Source: http://upload.wikimedia.org/wikipedia/commons/thumb/d/d3/Simple-kanban-board-.jpg/400px-Simple-kanban-board-.jpg
Source: http://www.infoq.com/resource/articles/agile-kanban-boards/en/resources/Fig1_task-board.jpg
![Page 24: Designing the ProcessScrum artifacts User stories (customer requirements) −Used in lieu of conventional (long, detailed) requirements docs −Basic unit of backlog −Generated by](https://reader033.fdocuments.us/reader033/viewer/2022052008/601cd933eaea804d854b2729/html5/thumbnails/24.jpg)
Scrum roles
Product owner: in charge of project backlog; acts as the voice of the customer
Scrum team: develops the product − Cooperative, self-organizing − Cross-functional
Scrum master: facilitates meetings, protects & serves the team
![Page 25: Designing the ProcessScrum artifacts User stories (customer requirements) −Used in lieu of conventional (long, detailed) requirements docs −Basic unit of backlog −Generated by](https://reader033.fdocuments.us/reader033/viewer/2022052008/601cd933eaea804d854b2729/html5/thumbnails/25.jpg)
The process
Start with product backlog Sprint planning meeting
− Product owner & team review high priority items, decide what to implement during this sprint – goal is for team to understand what product owner wants
− Team then focuses on detailed task planning: Time estimates Ordering of tasks to maximize both speed & quality of
production
![Page 26: Designing the ProcessScrum artifacts User stories (customer requirements) −Used in lieu of conventional (long, detailed) requirements docs −Basic unit of backlog −Generated by](https://reader033.fdocuments.us/reader033/viewer/2022052008/601cd933eaea804d854b2729/html5/thumbnails/26.jpg)
Sprint
Basic work cycle of scrum Team works from product backlog Fixed time frame Goal: working product at end of every sprint
− “Product” may be prototype or some aspect of larger system
− Emphasis here is working product – something tangible to show for work
![Page 27: Designing the ProcessScrum artifacts User stories (customer requirements) −Used in lieu of conventional (long, detailed) requirements docs −Basic unit of backlog −Generated by](https://reader033.fdocuments.us/reader033/viewer/2022052008/601cd933eaea804d854b2729/html5/thumbnails/27.jpg)
The process
Daily scrum − Short meeting; team members report
What they did since last meeting What they plan to do before next meeting Any problems getting in the way of progress – scrum
master responsible for helping solve these
![Page 28: Designing the ProcessScrum artifacts User stories (customer requirements) −Used in lieu of conventional (long, detailed) requirements docs −Basic unit of backlog −Generated by](https://reader033.fdocuments.us/reader033/viewer/2022052008/601cd933eaea804d854b2729/html5/thumbnails/28.jpg)
The process
Sprint backlog & burndown chart updated daily Product owner works with team to “groom”
product backlog on a regular basis: − Refining requirement details − Splitting large tasks into smaller ones − Time estimation for new items − Re-estimation of existing items
![Page 29: Designing the ProcessScrum artifacts User stories (customer requirements) −Used in lieu of conventional (long, detailed) requirements docs −Basic unit of backlog −Generated by](https://reader033.fdocuments.us/reader033/viewer/2022052008/601cd933eaea804d854b2729/html5/thumbnails/29.jpg)
The process
Ending the sprint − Duration is preset – sprint is not extended − Sprint review: team & product owner inspect &
adapt whatever team has produced − Sprint retrospective: team review of sprint:
What went well What could be improved Things to try Issues to escalate
Start next sprint cycle
![Page 30: Designing the ProcessScrum artifacts User stories (customer requirements) −Used in lieu of conventional (long, detailed) requirements docs −Basic unit of backlog −Generated by](https://reader033.fdocuments.us/reader033/viewer/2022052008/601cd933eaea804d854b2729/html5/thumbnails/30.jpg)
Problems with Scrum
Mostly, it doesn't work if you don't do it right, e.g.: − Meeting rules not followed − Goals are unclear − Key players not available to answer questions − Product backlog not prioritized well − Not everyone contributes
![Page 31: Designing the ProcessScrum artifacts User stories (customer requirements) −Used in lieu of conventional (long, detailed) requirements docs −Basic unit of backlog −Generated by](https://reader033.fdocuments.us/reader033/viewer/2022052008/601cd933eaea804d854b2729/html5/thumbnails/31.jpg)
Benefits of Scrum
Puts the “agile” in agile development: − Sensitive to changing requirements − Doesn't attempt to understand entire project before
it's started – emphasizes learning along the way Delivers a working product quickly
− Customers (via product owner) set priorities − Products developed according to these priorities