user story refinement in project gate

29
User Story Refinement in Project GATE Spirit Tu 22 nd January, 2015

Upload: -

Post on 14-Jul-2015

270 views

Category:

Software


4 download

TRANSCRIPT

Page 1: User story refinement in Project GATE

User Story Refinement in Project GATE

Spirit Tu

22nd January, 2015

Page 2: User story refinement in Project GATE

About me

• 12-year NTUT life

– 2004, B.E. degree in EN from NTUT

– 2006, M.S. degree in CSIE from NTUT

– 2012, Ph.D. degree in CSIE from NTUT

• Senior Program Analyst at GSS

– Oct 2012 – May 2013

• Senior Software Engineer at Gamania

– iOS, Android, and PC (?) App developer of the project GATE

User Story Refinement in Project GATE2

Page 3: User story refinement in Project GATE

Project GATE?

• According the NDA, Project GATE is

– A cross platform (iOS and Android) app with gamification, cloud services, and social network

• GATE?

–ゲッターロボ

– Getter Robo

User Story Refinement in Project GATE3

Page 4: User story refinement in Project GATE

Sprint timetable

• 2 weeks / sprint

– Daily scrum held on 11:45 – 12:00

• For a better user’s experience

– Polish & tuning (debugging)

• Publish a version on Mon if nothing wrong

4

Mon Tue Wed Thu Fri

Planning Refinement

Planning Refinement

Mon The Wed Thu Fri

Tuning Review

Polish Tuning Retrospective

Week 1

Week 2

User Story Refinement in Project GATE

Page 5: User story refinement in Project GATE

Feature design team

(kanban)

Source of user stories

User Story Refinement in Project GATE5

User story

refinemen

t

Product Owner Scrum Master Team Member

Artist

Team Member

Programmer

Page 6: User story refinement in Project GATE

User story refinement 1.0

• Feature design team transform the PO’s (boss) vision into features

– Specification document

User Story Refinement in Project GATE6

x 47

Page 7: User story refinement in Project GATE

User story refinement 1.0

• To estimate the story point

– Requirement understanding

• Ensure feasibility and possible solution

• Check details and questions

• QE make up test cases

• Screen elements

– Rough architecture design & API discussion

• Data structure

User Story Refinement in Project GATE7

Page 8: User story refinement in Project GATE

User story refinement 1.0

• Issues should be solved

– Split stories based on screens

• Not end-to-end stories

• Duplicated or similar stories

– Split stories based on module

• Heavy dependency between stories

• Implicit value

User Story Refinement in Project GATE8

Page 9: User story refinement in Project GATE

First impact

• In the retrospective meeting, team members argue the bad stories

– Value driven

– Must be end-to-end

User Story Refinement in Project GATE9

Page 10: User story refinement in Project GATE

User story refinement 2.0

• Everything will go right?

– Yes, the user stories have explicit value, but…

• Huge user stories

User Story Refinement in Project GATE10

This is a user

story!

Page 11: User story refinement in Project GATE

User story refinement 2.0

• Team members split the user stories

– Time-consuming meeting

• Ensure the size of each story for art, client, and server

– PO has to trace the completeness between the stories and the specification documents

• Ensure everything in specification storied

– Feature design team need revise the specification documents many times

• A feature may need refinement twice or more

User Story Refinement in Project GATE11

Page 12: User story refinement in Project GATE

User story refinement 2.0

• However, there are still some advantages

– End-to-end

• Easy to demonstrate in the review meeting

– Well-sized user stories

• More precise task time estimation

• Stable velocity

User Story Refinement in Project GATE12

Page 13: User story refinement in Project GATE

Second impact

• Again, in the retrospective meeting, team members argue the need of a completespecification document

– Live document?

User Story Refinement in Project GATE13

Page 14: User story refinement in Project GATE

Flow chat based refinement (1/3)

• Phase I – Introduce the screen flow chat

User Story Refinement in Project GATE14

Product Owner Scrum Master Team Member

Artist

Team Member

Programmer

Page 15: User story refinement in Project GATE

Flow chat based refinement (2/3)

• Phase II – Split the user stories

User Story Refinement in Project GATE15

Product Owner Team Member

Programmer

Page 16: User story refinement in Project GATE

Flow chat based refinement (3/3)

• Phase III – Story point estimation

User Story Refinement in Project GATE16

Product Owner Scrum Master Team Member

Artist

Team Member

Programmer

Story 1: 8 + 2 + 5 = 15

Story 2: 5 + 0 + 2 = 7

Story 3: 5 + 8 + 1 = 14

Story 4: 3 + 0 + 0.5 = 3.5

Story 1: 2 + 1 + 0.5 = 3.5

Page 17: User story refinement in Project GATE

User story refinement 3.0

• Team member split the user stories based on the screen flow chat

– End-to-end and able to demonstrate

– Explicit value (maybe small)

– Feature design team adds details in the stories

– Average story point: 8.9

• However, the stories split by this method are frozen

– Boss wants a more quick responsive time

User Story Refinement in Project GATE17

Page 18: User story refinement in Project GATE

Responsive time not quick enough?

User Story Refinement in Project GATE18

Page 19: User story refinement in Project GATE

Responsive time

• Find the lead time from the past records

• In the retrospective meeting, team member try to meets the boss’s requirement

– Two feature design teams

User Story Refinement in Project GATE19

Feature 1 design

A team

Feature 1 develop

A team

Feature 2 design

B team

Feature 2 develop

B team

11.4 days 20.1 days 11.1 days 19.8 days

Cycle time Cycle time

Runway lead time Scrum develop lead time

???

Page 20: User story refinement in Project GATE

User story refinement 4.0

• Two feature design teams

– Design the feature based on the boss’s vision and minimum requirement

• A simple architect after the feasibility study

• A screen flow chat or a description

• User stories with story point estimation

User Story Refinement in Project GATE20

Feature 1 design

A team

Feature 1 design

B team

Selected

Design

Develop

Feature 2

Feature 2 design

A team

Feature 2 design

B team

Selected

Design

Develop

Feature 2

60 % - 70%

30% - 40 %

Page 21: User story refinement in Project GATE

Pretty quick responsive time?

• Completed two features by this method

– Pros

• 2 sprints for a feature 1 month for a feature

• Reduce document overhead (revise)

• Team member fully participated in feature design

– Cons

• Work overtime

• Too many context switch

• BCD (boss centered design) annoys some team member

User Story Refinement in Project GATE21

Page 22: User story refinement in Project GATE

How about internal user stories?

• Internal user stories (e.g., performance tuning, refactoring, etc.) usually arranged in planning meeting by team member, but

– Each function has different issues to be solved

– Some issues need cross-function cooperation

– Some issues need PO’s decision, e.g., security policy

• Long planning meeting

User Story Refinement in Project GATE22

Page 23: User story refinement in Project GATE

User story refinement technical branch

• At the end of the retrospective meeting

– Team member book issues that need refinement

• Issue

• Cross function requirement

– PO arrange refinement meetings

• Prioritize issues and schedule the meetings

• Decide the participants

User Story Refinement in Project GATE23

Page 24: User story refinement in Project GATE

A growing team 15 members at May 2013

User Story Refinement in Project GATE24

1

3

2

12

3

1

11

Android

iOS

Server

QE

Art

PO

Planner/UX

Scrum Master

Secretary

Page 25: User story refinement in Project GATE

A growing team 24 members at Jun 2015

User Story Refinement in Project GATE25

4.5

3.5

3

3

3

3

2

1 1Android

iOS

Server

QE

Art

PO

Planner/UX

Scrum Master

Secretary

Page 26: User story refinement in Project GATE

User story refinement 5.0 beta

• Communication cost

– O(n2)

– Too many opinion to make a decision

• Extended feature design team

– At least, one representative for each function

– Refine the rough design

– Split the user stories

– Estimate the user story points

User Story Refinement in Project GATE26

Page 27: User story refinement in Project GATE

Extended feature design team

User Story Refinement in Project GATE27

User story

refinemen

t

Product Owner

Team Member

Artist/UXTeam Member

Programmer

Extended

Feature design

team

Page 28: User story refinement in Project GATE

Summary

• User story refinement meeting is important to Startup

– Team members feel that they are building an amazing product, not just a work (well, it’s still the boss’s product)

– Team members’ participation can provide good quality user stories

• Continuous improvement

– User story refinement meeting should also be improved based on the feedback

User Story Refinement in Project GATE28

Page 29: User story refinement in Project GATE

Well, something updated

• Prototype design team

– Develop prototype on the branch

– Minimize the design team member

• Other team member can still provide suggestions to the prototype design team

– Hackpad

• Progress update

• Suggestions and comments

– More quick response?

User Story Refinement in Project GATE29