Scrum agile process

101
[email protected] MANAGE YOUR PROJECT DIFFERENTLY Trịnh Minh Cường [email protected]

description

Scrum process presented by [email protected]

Transcript of Scrum agile process

Page 1: Scrum agile process

[email protected]

MANAGE YOUR PROJECT

DIFFERENTLY

Trịnh Minh Cường

[email protected]

Page 2: Scrum agile process

[email protected]

WHAT IS THIS ?

Page 3: Scrum agile process

[email protected]

I HAVE A DREAM

• My project

o In Time

oWithin Budget

oMeet Requirements

• Members in my team

o Creative & responsive

oNot exhausted and not leave team

Page 4: Scrum agile process

[email protected]

Project Management Triangle

SCOPE COST

TIME

Page 5: Scrum agile process

[email protected]

Typical developer

• Personal interest is more than team interest

• Warm up time is long

• Good at patching but bad at designing

(problem solving style)

• Wait for thing happens but not make thing

happen

Page 6: Scrum agile process

[email protected]

Analysis Design Develop Test Deploy

Waterfall

Page 7: Scrum agile process

[email protected]

Parkinson’s Law

“Work expands so as to

fill the time available for its completion”

Page 8: Scrum agile process

[email protected]

Don’t assign one week task, Break it into smaller sub tasks !

Gantt chart gets bigger & bigger. No one can read Gantt chart

Page 9: Scrum agile process

[email protected]

Waterfall is easy to understand but it is not effective in real

Page 10: Scrum agile process

[email protected]

WHAT SCRUM CAN HELP?

Page 11: Scrum agile process

[email protected]

Agile

“Methodologies”

Page 12: Scrum agile process

[email protected]

Scrum is an Agile framework

Scrum is an iterative, incremental

framework for project management and

agile software development.

Agile … is a group of software

development methodologies based on

iterative and incremental development…

Page 13: Scrum agile process

[email protected]

Analysis Design Develop Test Deploy

Agile

Page 14: Scrum agile process

[email protected]

Analysis Design Develop Test Deploy Analysis Design Develop Test Deploy Analysis Design Develop Test Deploy

!

?

? !

Agile

Page 15: Scrum agile process

[email protected]

Principles of Agile #1

• Deliver valuable software early &

continuously

• Accommodate changes

• Collaborate with customer or customer

proxy

• Motivate individuals Self-organizing

teams Self tuning

Page 16: Scrum agile process

[email protected]

Principles of Agile #2

• Enforce effective & transparent

communication

• Measure of progress by working

software delivered. Highlight amount of

work not done

• Maintain a development speed

• Promote technical excellent and good

design

Page 17: Scrum agile process

[email protected]

DIFFERENCES

Plan Driven

• Self organizing team

• Deliver features

• Response to change

• Flexible

• Burn down chart

Scrum

• Hierarchy team

• Lot of document

• Follow plan

• Structure

• Gantt Chart

Page 18: Scrum agile process

[email protected]

Product Owner Scrum Master Scrum Team

Stakeholders & Users

Roles in Scrum

Page 19: Scrum agile process

[email protected]

Product Owner

• Define the features of the product

• Decide on release date and content

• Be responsible for the profitability of the

product (ROI)

• Prioritize features according to market value

• Adjust features and priority every iteration, as

needed

• Accept or reject work results

Page 20: Scrum agile process

[email protected]

The Scrum Master

• Manage project

• Enforce Scrum values and practices

• Help team to focus on tasks

• Enable close cooperation across all roles and

functions

• Shield the team from external interferences

Page 21: Scrum agile process

[email protected]

The team

• Typically 5-9 people

• Cross-functional:

– Programmers, testers, user experience designers, etc.

• Teams are self-organizing

– Ideally, no titles but rarely a possibility

• Membership should change only between sprints

Page 22: Scrum agile process

[email protected]

MResources = More Velocity?

8 16 12 24 16

Page 23: Scrum agile process

[email protected]

Scrum of Scrums

Page 24: Scrum agile process

[email protected]

Product Backlog Release Plan Product Vision

Sprint Backlog Sprint Burndown Impediment List

6 Artifacts

Page 25: Scrum agile process

[email protected]

Product – Sprint Backlog

Page 26: Scrum agile process

[email protected]

Product vs Sprint Backlog

Product BackLog Sprint BackLog

Level of detail Less detailed Very detailed

Item User Story Task

Estimation Units Story Points Hours

Doc owner Product Owner Team

Revised Weekly Daily

Duration Project Sprint

Workbook Product Backlog Iteration Backlog

Page 27: Scrum agile process

[email protected]

Product

Backlog

3

1

3

1

3

2

5

8

3

3

3

3

Product Backlog

Sprint 1

Sprint 2

Sprint 3

Sprint 4

Sprint 5

Release 1

Release 2

Release Plan

Project Planning

Page 28: Scrum agile process

[email protected]

User Story

• Independent

• Negotiable

• Valuable

• Estimatable

• Small

• Testable

As a <USER> I need to <ACTION> In order to <REASON>

User Story <StoryPoint>

Task 1 Task 2 Task 3

Page 29: Scrum agile process

[email protected]

User Story

• User Story == Use Case

• MosCow: Must – Should – Could – Wouldn’t

• Write non-functional requirements as user

stories

• Estimate Story Point http://stackoverflow.com/questions/1232281/what-are-

estimate-points-story-points-and-how-to-measure-them-

in-scrum

Page 30: Scrum agile process

[email protected]

Meetings in SCRUM

Meeting Purpose Duration Frequency

Sprint

Planning

Determine what work to do in

the coming sprint.

2 hours per

week

Once per

sprint

Daily

Scrum

Allow team members to

commit, collaborate, and

communicate risks.

15 minutes Daily

Sprint

Review

Show the customer and other

stakeholders the work that the

team accomplished in the

sprint, and receive feedback.

2 hours per

week

Once per

sprint

Retrospect

ive

Identify and implement ideas

for process improvement.

3 hours Once per

sprint

Page 31: Scrum agile process

[email protected]

Daily Scrum

• Daily, 15 minutes, whole team

• What did you do yesterday ?

• What will you do today ?

• What are impediments?

No need minutes meeting

Need a tool to keep track

user story, task, bug…

Page 32: Scrum agile process

[email protected]

Not Done In Progress Done Deferred User Stories

As a user I

want this to

do that.

As a user I

want this to

do that.

As a user I

want this to

do that.

Do this

and

that.

Do this

and

that.

Do this and that.

Do this

and

that.

Do this

and

that.

Do this

and

that.

Do this

and

that.

Do this

and

that.

Do this

and

that.

Sprint Task Board

Page 33: Scrum agile process

[email protected]

“Music Store” web site

• Team : 1 PM - 1 dev – 1 ux designer

• Mission: Develop “Music Store” site in 3

months.

• Every 2 weeks must show customer progress

• Team work 5 days a week, 8 hours per day

(Utilize rate 75% ~ 6 hours per day)

Page 34: Scrum agile process

[email protected]

Example Solution

• Each Sprint takes 2 weeks

• 4 months 8 Sprints

• Each sprint, a person burns 5*2*6=60 hours.

A team burns 60*3=180 hours

Idle hours will not be counted

Hours which used to complete task will be counted as burnt hours

Page 35: Scrum agile process

[email protected]

Process to develop a web site

Page 36: Scrum agile process

[email protected]

Product backlog

Priority Backlog item Story Point

Estimate

1 User can see list of category 3

2 User clicks on a category, list of product under category will show

5

3 At front page, user sees 20 suggested item 3

4 Registered user can rate, commend a item 8

5 Administrator can send message to registered user 8

6 Administrator can create new item 30

7 ….

Page 37: Scrum agile process

[email protected]

The sprint goal

A short statement of what the work will be

focused on during the sprint

Tune render speed at client Tune server response Configure memcached caching

Design static prototype web site XHTML, CSS validation jQuery interaction

UX Prototyping

Database Design

CodeFirst EF 4 to generate data Generate sample data

Show top 20 restaurants Personalize data per user List restaurant by A-Z, styles, …

Performance

Restaurant List

Page 38: Scrum agile process

[email protected]

Time 1 Sprint = 2 weeks

Wo

rk H

ou

rs R

emai

nin

g

180 hrs.

0 hrs.

Burn Down Chart

Learning Curve

Team speeds up

Page 39: Scrum agile process

[email protected]

Time 1 Sprint = 2 weeks

Wo

rk H

ou

rs R

emai

nin

g

180 hrs.

0 hrs.

What happen?

Bugs happen

Urgent task

Page 40: Scrum agile process

[email protected]

•Product owner •ScrumMaster •Team

Summarize

•Product backlog •Sprint backlog •Burndown charts

•Sprint planning •Sprint review •Sprint retrospective •Daily scrum meeting

Roles

Event

Artifacts

Page 42: Scrum agile process

[email protected]

WHAT

TEAM FOUNDATION SERVER

CAN HELP ?

Page 43: Scrum agile process

[email protected]

Big picture

Page 44: Scrum agile process

[email protected]

SubVersion, CVS, GIT are SCM only

Bug Tracking

Project Management

Quality Control

Deployment

Report

SCM: Source Code Management

Page 45: Scrum agile process

[email protected]

Much more than a SCM

Tester

Developer

Architect

Project Manager

Business Analyst

Designer Database Professional

Team Foundation Server

Page 46: Scrum agile process

[email protected]

What TFS can do

Process Focused

Process Templates

SharePoint

Customizable

Version Control

Integrated Check-in

Check-in Policies

Shelving

Work Item Tracking

Manage work

Bugs, Tasks, Requirements, Stories, Risks, etc.

Very Extensible

Build Automation

Continuous Integration

Scheduled

Ad Hoc

Reporting

Decision Support

Track Project Progress

Team

Fo

un

dat

ion

Se

rver

Page 47: Scrum agile process

[email protected]

From S To XXL

Page 48: Scrum agile process

[email protected]

Building blocks

Data Tier

Data Warehouse

Version Control

Work Items Team Build

SQL Server

Windows SharePoint Services Web Services

Application Tier

SQL Reporting Services

Client Interface

Visual Studio

Team Explorer MS Project

MS Excel

TFS SDK

Command Line

Build Environment

Build Process

Version Control Proxy

Version Control Proxy

Service

Page 49: Scrum agile process

[email protected]

Deployment

Dev Team (Local) Dev Team (Remote)

Business User

TCP/IP

HTTP / S

Win 2008 Server SQL Server 2008 IIS 7.0

Team Foundation Server

Build Server

Version Control Proxy (Remote) Active Directory

Page 50: Scrum agile process

[email protected]

Topology: single server

TFS AT

HR

Applications

Single Server

TFS

Page 51: Scrum agile process

[email protected]

Consolidate backend DB

TFS AT

HR

Applications

Data Tier

Clustered SQL

Server

Scale (a little), SQL Consolidation

Page 52: Scrum agile process

[email protected]

Bigger

TFS AT

HR

Applications

Finance Applications

Team Project

Collection

Company Web site

Another SQL

Server

TFS AT

TFS AT

N

L

B

VIP

Isolation, Reliability, Scale

Network Load

Balancing

Page 53: Scrum agile process

[email protected]

More Bigger

TFS AT

HR

Applications

Finance Applications

Company Web site

TFS AT

TFS AT

N

L

B

SharePoint Farm

Data Warehouse

Project Server

TFS Build

Farm

Virtual Machine Manager

TFS

Proxies

Test Rig

Page 54: Scrum agile process

[email protected]

Process Focused

Process Templates

SharePoint

Customizable

Version Control

Integrated Check-in

Check-in Policies

Shelving

Work Item Tracking

Manage work

Bugs, Tasks, Requirements, Stories, Risks, etc.

Very Extensible

Build Automation

Continuous Integration

Scheduled

Ad Hoc

Reporting

Decision Support

Track Project Progress

VERSION CONTROL

Team

Fo

un

dat

ion

Se

rver

Page 55: Scrum agile process

[email protected]

Map Server to Local

Per User, Per Workstation

Changes in Workspace create

“Pending Changes”

Also Used for Builds

Workspaces: local working copy

Page 56: Scrum agile process

[email protected]

Changesets

• Logical container of data related to check-in

– File and branch information

– Links to work items

– Check-in notes

– Check in Policy

– Metadata (date-time, user)

– Atomic checkin

• Uniquely identified

• Trace & query easilly

Page 58: Scrum agile process

[email protected]

Check-in Policies

• Soft requirements for check-in

• Extensible

• Can be overridden

Page 59: Scrum agile process

[email protected]

Client Server vs Distributed SCM

• Clients push-pull master

repository.

• A client hold only a working

copy of a project tree

• Changes by client commits the

master repository before they

propagate to other users

Exchanging patches

(change-sets) from

peer to peer

Page 60: Scrum agile process

[email protected]

Client Server vs. Distributed

• TFS, CVS, SVN, Perforce, Vault are client-

server SCM

• Git, Mercurial are distributed SCM

• Distributed SCM:

oNo canonical, reference copy of the codebase

exists by default; only working copies

o Basic operations (c-in, c-out) are fast

o Each working copy acts as remote backup

o Suitable for Open Source development but not

commercial development

Page 61: Scrum agile process

[email protected]

TFS & FRIENDS

Page 62: Scrum agile process

[email protected]

Visual Studio TFS

Visual Studio 2005

Visual Studio 2008

Visual Studio 2010

Team Foundation Server 2010

Team Foundation Server 2008

Page 63: Scrum agile process

[email protected]

With VB, VC++ 6.0, VS2003

• Upgrade to Service Pack 6

• Install Team Foundation Server MSSCCI

Provider

Page 64: Scrum agile process

[email protected]

Excel TFS

Page 65: Scrum agile process

[email protected]

Outlook TFS

• Email notification

• TeamCompanion

• TeamLook

Page 66: Scrum agile process

[email protected]

Think TFS as web service provider

• Include these namespace

– Microsoft.TeamFoundation.Proxy;

– Microsoft.TeamFoundation.Client;

– Microsoft.TeamFoundation.Server;

– Microsoft.TeamFoundation.WorkItemTracking.Client

• Windows Form app connects to TFS

http://blogs.microsoft.co.il/blogs/shair/archiv

e/tags/TFS+API/default.aspx?PageIndex=2

Page 67: Scrum agile process

[email protected]

With SharePoint Server

• Install on SharePoint Foundation 2010

• Install on SharePoint Server 2010: full

features

• Connect to MS Project Server 2010

Page 68: Scrum agile process

[email protected]

For Non-.NET Development

• Team Explorer Everywhere

– Eclipse plug-in for TFS

– Rich client (Java-based)

– Command-Line

Page 70: Scrum agile process

[email protected]

Process

Process Templates

SharePoint

Customizable

Version Control

Integrated Check-in

Check-in Policies

Shelving

Work Item Tracking

Manage work

Bugs, Tasks, Requirements, Stories, Risks, etc.

Very Extensible

Build Automation

Continuous Integration

Scheduled

Ad Hoc

Reporting

Decision Support

Track Project Progress

Team

Fo

un

dat

ion

Se

rver

Page 71: Scrum agile process

[email protected]

CMMI 5.0 Agile 5.0

SCRUM 1.0 MPT 1.0

Default templates

Customed templates

X Y

Process Templates

Page 72: Scrum agile process

[email protected]

A Process Template

Process Template

Process Guidance

User Story

Task

Bug

Issue

Test Case Custom Work

Item

Reportings

Work Item

Page 73: Scrum agile process

[email protected]

Work Item

Agile 5.0

• Task

• Bug

• Change Request

• Test Case

• Requirement

• Review

• Issue

• Risk

• Shared Steps

CMMI 5.0

• User Story

• Task

• Test Case

• Bug

• Issue

• Shared Steps

Page 74: Scrum agile process

[email protected]

Work Item Tracking

• Create, Update, Change status

• Link

• Associate with changeset

• Query

Page 75: Scrum agile process

[email protected]

User Story

Implementation

Page 76: Scrum agile process

[email protected]

Process Focused

Process Templates

SharePoint

Customizable

Version Control

Integrated Check-in

Check-in Policies

Shelving

Work Item Tracking

Manage work

Bugs, Tasks, Requirements, Stories, Risks, etc.

Very Extensible

Build Automation

Continuous Integration

Scheduled

Ad Hoc

Reporting

Decision Support

Track Project Progress

REPORTING

Page 78: Scrum agile process

[email protected]

Using SCRUM/Agile likes driving fast car

You need reliable brake and airbag system

Page 79: Scrum agile process

[email protected]

QUALITY CONTROL

Page 81: Scrum agile process

[email protected]

Automated Unit Test

• Write Once, Run Often

• Configurable Test Script

• Programmable Test Logic

• No human input

• Auto generate bug report

• Trigger action: build / notification

Page 82: Scrum agile process

[email protected]

Traditional Test

Design

Implement

Test

Page 83: Scrum agile process

[email protected]

TDD: Test Driven Design

Design

Test

Implement

Page 84: Scrum agile process

[email protected]

Acceptance Test

User Story Acceptance Test

Task

1 1..n

1

1..n

Unit Test 1 1..n

Page 85: Scrum agile process

[email protected]

State transition of a user story

Page 86: Scrum agile process

[email protected]

CONTINOUS INTEGRATION

Process Focused

Process Templates

SharePoint

Customizable

Version Control

Integrated Check-in

Check-in Policies

Shelving

Work Item Tracking

Manage work

Bugs, Tasks, Requirements, Stories, Risks, etc.

Very Extensible

Build Automation

Continuous Integration

Scheduled

Ad Hoc

Reporting

Decision Support

Track Project Progress

Team

Fo

un

dat

ion

Ser

ver

Page 87: Scrum agile process

[email protected]

CI in TFS 2010

Page 88: Scrum agile process

[email protected]

Team Foundation Build

• Manual: run by team member

• Continous: queued by a check-in

• Rolling: accumulated until previous build

finishes

• Gated check in: Check-in is accepted only if

submitted changes merge and build

successfully

• Scheduled: run on a defined schedule

Page 89: Scrum agile process

[email protected]

ARCHITECT & MODELLING

Page 95: Scrum agile process

[email protected]

ROI ANALYSIS OF SUCCESSFUL

SCRUM & TFS DEPLOYMENT

Page 96: Scrum agile process

[email protected]

ROI Analysis for dev team

120-150% More productive

Fix bug earlier. Fixing cost 70-90%

Amount of captured know-how 200-300%

Page 97: Scrum agile process

[email protected]

ROI Analysis for customer

Receive workable software regularly

Control investment better

Get better quality software

Page 98: Scrum agile process

[email protected]

keywords to remember

Page 99: Scrum agile process

[email protected]

Khổng Tử said

What U listen, U forget

What U see, U remember

What U do, U understand

What U teach, U master

Page 101: Scrum agile process

[email protected]

THANKS FOR YOUR ATTENTION.

[email protected]