“STICKY” CHANGES Presented By Manjit Singh & Kawaldeep Chadha
www.agilious.com @agilious
2 2
20 years of software development, management
& delivery experience
Consulted, trained, or coached with people and
teams from IBM, SRA, UMUC, NSF, DOJ, DOL, NSF
20 years of agile experience; started using XP in
2000 at IBM
MS Computer Science at SUNY Albany
Founder & organizer DC Agile User Group
Agile Coach & Trainer Manjit
Manjit(Singh,(Enterprise(Agile(Transformation(Coach(President,(Agilious(LLC(
www.agilious.com @agilious
3 3
25 years of software development and
management experience in Defense and Commercial
Industry
9 years of agile SCRUM experience
Certified Scrum Master Certified Scrum Product
Owner Certified Agile Team
Facilitator
Senior Scrum Master and Agile Team Coach
Kawaldeep
Kawaldeep(Chadha(Sr.(Scrum(Master(&(Agile(Team(Coach(
www.agilious.com @agilious
4
Accelerating Agility
Agile Consulting
4
Coaching
Mentoring
High Performing
Team
Training
Engineering Practices
Agile Transformation • Team and One-on-One
Agile coaching
• Customized Agile Methodology training
• Product Owner/Scrum Master/Team Member mentoring
• Practical, hands-on learning of Software Engineering Practices (TDD, ATDD, Continuous Integration, Pair Programming, etc.)
www.agilious.com @agilious
5
Agile Product Development
Software Products
Mobile Apps
Web Apps
Enterprise Applications
Web Sites
Accelerating Agility
www.agilious.com @agilious
6
Agile Training
Roles
• Agile Business Analyst • Agile Product Ownership • Agile Team Facilitation • Agile Project Management
Enginee-ring
• Agile Testing • Agile Test Automation • Agile Programing Techniques
Team • Agile Fundamentals
Accelerating Agility
www.agilious.com @agilious
7 7
Making Changes “Stick”
http://getbuttonedup.com/wp-content/uploads/2013/02/Multitasking-Sticky-Notes.jpg
www.agilious.com @agilious
8 8
What Changes?
http://www.webascender.com/Portals/0/Blog/agile-1.jpg http://www.romanpichler.com/wp-content/uploads/2010/10/10TipsFeaturedImage.jpg
http://www.scrumdesk.com/pictures/Planning%20matrix.jpg
www.agilious.com @agilious
10 10
Guess?
• Software requirements is a communication problem.
• People who want the software must communicate with those who will build it.
www.agilious.com @agilious
12 12
Challenges
1. Who defines requirements?
2. How are they “discovered”?
http://www.officeclipart.com/office_clipart_images/document_being_search_by_a_magnifying_glass__search_icon_0515-1007-3003-0748_SMU.jpg
www.agilious.com @agilious
13 13
So Who Defines The Requirements?
…functionality and dates are mandated with little regard for reality
…done regardless of whether developers understand
…features are progressively dropped as the deadline nears
…lengthy upfront requirements negotiation and signoff
If the Business define them…
www.agilious.com @agilious
14
• Assume everything is knowable in
advance • Are time-consuming to write and
tedious to read • Treat learning as a “Change of
Scope” • Don’t lend themselves to iterative,
incremental delivery process
Requirements Documents?
www.agilious.com @agilious
15 15
So Who Defines The Requirements?
...technical jargon replaces the language of the business
…may define incomplete or wrong requirements
…may not have full understanding of the business vision and/or the target users
…may trade quality for additional features
…may only partially implement a feature
…may solely make decisions that should involve the business
If the Developers define them…
www.agilious.com @agilious
16 16
What is the Solution?
Business and technical teams collaborate on defining and elaborating the requirements.
www.agilious.com @agilious
17 17
User Stories
Extreme programming (XP) introduced the practice of expressing requirements in the form of user stories in the 1990’s.
So What Do We Do?
www.agilious.com @agilious
18 18
What is a User Story?
Short description of functionality–told from the perspective of a user
• What does your user want? • What value or benefit will they realize?
www.agilious.com @agilious
19 19
What is a User Story?
The basic user story template is simplistic, it helps us remember a need while providing context.
Image credit Lithespeed
www.agilious.com @agilious
20 20
Why Use Stories?
• Comprehensible • Developers and customers understand them • People are better able to remember events if
they are organized into stories†
• Right size for planning
• Support and encourage iterative development
• Can easily disaggregate closer to development time
www.agilious.com @agilious
21 21
What User Stories Are NOT
User Stories ≠ Requirements
User Stories ! Requirements
37
Context (Project Vision, Business Case, etc.)
User Story Conversation(s) Acceptance
Criteria
+ + Supporting Information
+
Common Understanding of a Need
Requirement
=
37
Requirements, More than Just a Story
Image credit Lithespeed
www.agilious.com @agilious
22 22
User Story Development
Comprised of three aspects:
1. Written description of the story
2. Conversations about the story that serve to flesh
out the details of the story
3. Tests that convey and document details that can be
used to determine when a story is complete
www.agilious.com @agilious
23
• Card!–!Stories!wri+en!on!note!cards!with!annota1ons!as!needed!(es1mates,!notes,!etc)!
• Conversa*on!–!Details!behind!story!come!out!through!conversa1ons!with!the!Product!Owner!
• Confirma*on!–!Acceptance!tests!confirm!the!story!was!coded!correctly!
Ron Jeffries 3 C’s
www.agilious.com @agilious
24
!• User or customer need • Product description • Used for planning
Starting point to understand User Stories are a Conversation
www.agilious.com @agilious
25
• User*!–!How!do!I!describe!what!I!want?!• Stakeholder!–!What!do!I!need!in!my!product!to!be!
successful?!• PM!–!How!do!I!track!and!schedule!this!work?!• BA!–!What!are!the!details!of!this!feature?!• UX!–!How!do!I!understand!the!users!needs?!• Developer!–!What!are!the!details!of!the!tasks!I!
need!to!work!on!today?!• QA!–!How!do!I!validate!this!completed!work?!
User Stories Facilitate Conversations
www.agilious.com @agilious
26 26
User Story Format
As a <user>,
I want to <take an action/accomplish a goal>
So that I <realize a benefit or value>
Description and Acceptance Criteria
Acceptance Criteria: 1. Criteria A 2. Criteria B 3. Etc.
www.agilious.com @agilious
27
• User!Interviews!– Select!right!interviewees!– Ask!openIended,!contextIfree!ques1ons!
• Ques1onnaires!– Larger!popula1on!of!users!– When!you!need!specific!answers!to!ques1ons!
• Observa1on!– Best!for!inIhouse!developments!
• Story=wri*ng=workshops=
Gathering!User!Stories
www.agilious.com @agilious
28 28
Exercise
Let’s Write Some User Stories… http://www.iubenda.com/blog/wp-content/uploads/2010/10/Schermata-2010-10-24-a-18.24.46.png
www.agilious.com @agilious
29
Product Vision Statement
For Busy families with kids Who Want to go on a kid-friendly vacation Our ZappVacation Service
Is a web site that offers curated kid-friendly vacation choices
That Allows consumers to buy a “vacation package” that includes all travel arrangements
Unlike Existing travel sites that do not offer vacation packages for families with kids
Our product Provides a smooth way to plan a vacation by searching for and discovering new vacation destinations.
www.agilious.com @agilious
30
1. Each!table!is!a!Scrum!Team!2. Iden1fy!a!Product!Owner!3. Iden1fy!a!Scrum!Master!4. Each!team!member!individually!writes!user!stories!–!as!many!
as!they!can!or!want!to!!5. Take!15!mins!to!write!stories!6. Take!10!mins!to!review!them!all!7. PO!selects!5!“best”!stories!8. Put!your!5!best!user!stories!on!the!flip!chart!9. Scrum!Master!facilitates!and!keeps!the!team!within!the!
allo+ed!1me!boxes.!
Instructions
www.agilious.com @agilious
31
Release Planning
https://www.versionone.com/agile-101/agile-project-management-customer-management-best-practices/agile-development-release-planning/
www.agilious.com @agilious
32
Acceptance=Criteria!–!Verifiable!and!testable!criteria!that!can!be!tested;!and!if!met!confirm!that!the!“ac1on”!can!be!successfully!performed.!I These!are!essen1ally!tests!–!Condi1ons!of!sa1sfac1on!
I Example:!As!a!user,!I!want!to!cancel=a=reserva*on.!I Verify!that!a!premium!member!can!cancel!I Verify!that!a!email!confirma1on!is!sent!
Acceptance Criteria
www.agilious.com @agilious
33
Acceptance=Criteria!–!Verifiable!and!testable!criteria!that!can!be!tested;!and!if!met!confirm!that!the!“ac1on”!can!be!successfully!performed.!I These!are!essen1ally!tests!–!Condi1ons!of!sa1sfac1on!
I Example:!As!a!Premium=Member,!I!want!to!cancel=a=reserva*on.!I I=can=cancel=a=reserva*on.=I I=receive=a=confirma*on=message=aFer=cancela*on=is=successful.=
I I=receive=an=email=confirma*on=aFer=I=cancel=a=reserva*on.==
Acceptance Criteria Alternative Method
www.agilious.com @agilious
34 34
Exercise
Let’s Identify Acceptance Criteria…
http://manifesto.co.uk/wp-content/uploads/2014/08/user-stories-with-acceptance-criteria.png
www.agilious.com @agilious
35
1. PO=selects=one=User=Story=from=the=5=“best”=stories!selected!in!the!previous!exercise.!
2. Discuss!what!criteria!would!indicate!the!func1onality!was!constructed!correctly.!
3. Write!the!criteria!on!the!flip!chart.!4. Scrum!Master!facilitates!and!keeps!the!team!
within!the!allo+ed!1me!box.!
Instructions
www.agilious.com @agilious
37
10311 Motor City Drive Suite 750 Bethesda, MD 20817
www.agilious.com
240.244.3311
www.facebook.com/agilious
@agilious
ADDRESS:
WEBSITE:
EMAIL:
TELEPHONE:
Our Contact Details
THANK YOU
Accelerating Agility