spikes nad scrum_se lect6 btech

55
What are Spikes

Upload: iiita

Post on 13-Jan-2015

264 views

Category:

Education


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Spikes nad SCRUM_Se lect6 btech

What are Spikes

Page 2: Spikes nad SCRUM_Se lect6 btech

Spike Solutions

• Create spike solutions to figure out answers to tough technical or design problems.

• A spike solution is a very simple program to explore potential solutions. Build a system which only addresses the problem under examination and ignore all other concerns.

• The goal is reducing the risk of a technical problem or increase the reliability of a user story's estimate.

Page 3: Spikes nad SCRUM_Se lect6 btech

Big Design Up Front (BDUF)

Page 4: Spikes nad SCRUM_Se lect6 btech

What are the purpose of User Stories…

Page 5: Spikes nad SCRUM_Se lect6 btech

Purpose

• User Stories are used to create time estimates for the release planning meeting.

• They are also used instead of a large requirements document.• User Stories also drive the creation of the acceptance tests.

Page 6: Spikes nad SCRUM_Se lect6 btech

What is Planning Feedback Loop

Page 7: Spikes nad SCRUM_Se lect6 btech

7

Page 8: Spikes nad SCRUM_Se lect6 btech

The XP Roadmap

Page 9: Spikes nad SCRUM_Se lect6 btech

9

XP practices—a road map(from www.extremeprogramming.org)

Page 10: Spikes nad SCRUM_Se lect6 btech

XP emphasizes iteration

Page 11: Spikes nad SCRUM_Se lect6 btech

11

XP emphasizes iteration

Page 12: Spikes nad SCRUM_Se lect6 btech

XP emphasizes communication

Page 13: Spikes nad SCRUM_Se lect6 btech

13

Communication is important

Page 14: Spikes nad SCRUM_Se lect6 btech

Test-driven development

Page 15: Spikes nad SCRUM_Se lect6 btech

15

Test-driven development

Page 16: Spikes nad SCRUM_Se lect6 btech

References/Links

Books • Kent Beck, "Extreme Programming Explained," Addison-Wesley,

2000. • Giancarlo Succi, Michelle Marchesi, "Extreme Programming

Examined," Addison-Wesley, 2001.

Websites • http://www.extremeprogramming.org • http://www.xprogramming.com• http://www.jera.com/techinfo/xpfaq.html• http://www.c2.com/cgi/wiki?ExtremeProgrammingRoadmap• http://ootips.org/xp.html• http://pairprogramming.com/

Page 17: Spikes nad SCRUM_Se lect6 btech

Effort Distribution in a XP project…

Page 18: Spikes nad SCRUM_Se lect6 btech

Effort Distribution: Project Management

Page 19: Spikes nad SCRUM_Se lect6 btech

Effort Distribution: Planning

Page 20: Spikes nad SCRUM_Se lect6 btech

Effort Distribution: Coding

Page 21: Spikes nad SCRUM_Se lect6 btech

Effort Distribution: Project Meetings

Page 22: Spikes nad SCRUM_Se lect6 btech

SCRUM

Page 23: Spikes nad SCRUM_Se lect6 btech

SCRUM

• SCRUM is an

• Agile Project Management Methodology

• Characteristics of an ‘Agile’ methodology are:

• ADAPTIVE, not PREDICTIVE

• LIGHTWEIGHT, not HEAVYWEIGHT

• DESCRIPTIVE, not PRESCRIPTIVE

Page 24: Spikes nad SCRUM_Se lect6 btech

SCRUM

• Scrum is a lightweight process that can manage and control software and product development.– It is a Project management process.

• However, instead of promoting the traditional analysis, design, code, test, deploy "waterfall" approach, Scrum embraces iterative and incremental practices.

Page 25: Spikes nad SCRUM_Se lect6 btech

SCRUM

• Similarly, instead of being "artifact-driven", whereby large requirements documents, analysis specifications, design documents, etc. are created, Scrum requires very few artifacts.

• It concentrates on what’s important: managing a project or writing software that produces business value.

Page 26: Spikes nad SCRUM_Se lect6 btech

SCRUM

SCRUM has the following ELEMENTS:

• A project team called a SCRUM Team

• A Product Backlog of all known Requirements

• A Sprint Backlog of requirements being worked on

• A period of work referred to as a Sprint

• Daily Stand-up Meetings with the SCRUM Team

• A Burndown Chart to track progress of the Sprint

• An Incremental Delivery at the end of each sprint

Page 27: Spikes nad SCRUM_Se lect6 btech

A Model of SCRUM

Sprint

Daily SCRUM

Incremental Delivery

Burndown Chart

2 - 4 Weeks

Sprint Backlog

Product Backlog

Page 28: Spikes nad SCRUM_Se lect6 btech

The SCRUM Team

• Is all the people who will COMMITTED to the delivery of the backlogs

• One role is ‘SCRUM Master’ who is in practice the PM

• Is staffed by PMs, BAs, Developers, Testers, Support – i.e. ALL the typical project staff

Page 29: Spikes nad SCRUM_Se lect6 btech

Product Backlog

• Contains all the currently known requirements for a product

• Is managed by the Product Owner and can change as needed

Page 30: Spikes nad SCRUM_Se lect6 btech

Sprint Backlog

• Contains the set of prioritised Product Backlog items that are currently being worked on

• Are not to be changed during the Sprint

Page 31: Spikes nad SCRUM_Se lect6 btech

Sprint

• Is a fixed period of development and testing

• Results in an incremental delivery of usable product

• Usually lasts 2 to 4 weeks

Page 32: Spikes nad SCRUM_Se lect6 btech

Daily SCRUM Meeting

• Brief ‘Stand-up’ meeting each morning with SCRUM Team only

• What value did you add yesterday?

• What value will you add today?

• What will stop you making progress?

Page 33: Spikes nad SCRUM_Se lect6 btech

Burndown chart

• Charts delivery of the Sprint Backlog against Sprint Duration.

• Simple, at-a-glance view of progress showing velocity and traction

• Easy to keep updated

Page 34: Spikes nad SCRUM_Se lect6 btech

Incremental Delivery

• Output of the Sprint

• Working functionality that can be deployed

• Delivered every 2 to 4 weeks, tested and working

Page 35: Spikes nad SCRUM_Se lect6 btech

Scrum’s three questions

Page 36: Spikes nad SCRUM_Se lect6 btech

36

What is Scrum Roles?

• Product Owner• Possibly a Product Manager or Project Sponsor• Marketing• Internal Customer• etc.

• ScrumMaster• Represents management to the project• Typically filled by a Project Manager or Team Leader• Responsible for enacting Scrum values and practices• Main job is to remove impediments and remove any politics

• Project Team• 5-10 members• Cross-functional: QA, Programmers, UI Designers, etc.

Page 37: Spikes nad SCRUM_Se lect6 btech

Scrum Process Flow

Page 38: Spikes nad SCRUM_Se lect6 btech
Page 39: Spikes nad SCRUM_Se lect6 btech

Process Comparison

Page 40: Spikes nad SCRUM_Se lect6 btech

© 2006-2007 Jeff Patton, All rights reserved, www.agileproductdesign.com

40

The product owner plans the product in layers

Page 41: Spikes nad SCRUM_Se lect6 btech

41

The product owner plans the product in layers

Product or ProjectWhat business objectives will the product fulfill?

ReleaseHow can we release value incrementally?

What subset of business objectives will each release achieve?

What user constituencies will the release serve?

What general capabilities (big stories) will the release offer?

Release plan

IterationWhat specifically will we build? (user stories)

How will this iteration move us toward release objectives?

Iteration Plan

Story (Backlog Item)What user or stakeholder need will the story serve?

How will it specifically look and behave?

How will I determine if it’s completed?

Story Details

Acceptance Tests

Page 42: Spikes nad SCRUM_Se lect6 btech

42

The Planning Onion can grow to include product portfolios and business strategy

Product or ProjectWhat business objectives will the product fulfill?

ReleaseHow can we release value incrementally?

What subset of business objectives will each release achieve?

What user constituencies will the release serve?

What general capabilities (big stories) will the release offer?

Release plan

IterationWhat specifically will we build? (user stories)

How will this iteration move us toward release objectives?

Iteration Plan

Story (Backlog Item)What user or stakeholder need will the story serve?

How will it specifically look and behave?

How will I determine if it’s completed?

Story Details

Acceptance Tests

Product or Project

Release

Iteration

Story

Page 43: Spikes nad SCRUM_Se lect6 btech

43

The Planning Onion can grow to include product portfolios and business strategy

Product or Project

Release

Iteration

Story

Page 44: Spikes nad SCRUM_Se lect6 btech

44

Product or Project

Release

Iteration

Story

The Planning Onion can grow to include product portfolios and business strategy

Product Portfolio

Business Strategy

Page 45: Spikes nad SCRUM_Se lect6 btech

45

Pro

duct

Ow

ner

Team

Develo

pm

ent

Team

Design and Coded Features Pass Back and Forth Between Tracks

implement iteration 1 features

•gather user input for iteration 3 features

•design iteration 2 features

•support iteration 1 development

implement iteration 2 featuresfix iteration 1 bugs if any

•gather user input for iteration 4 features

•design iteration 3 features

• support iteration 2 development

•validate iteration 1 features

implement iteration 3 featuresfix iteration 2 bugs if any

•gather user input for iteration 5 features

• design iteration 4 features

• support iteration 3 development

•validate iteration 2 features

•planning•data gathering•design for

iteration 1 features – high technical requirements, low user requirements

•development environment setup

•architectural “spikes”

Sprint 0 Sprint 1 Sprint 2 Sprint 3

feature design

code

d fe

atur

es

time

feature design

+ bugs found in

usability testing

sup

port d

ev

sup

port d

ev

Page 46: Spikes nad SCRUM_Se lect6 btech

Who uses Scrum?

• Microsoft, Sun, Sammy Studios, Siemens, CNA, State Farm, State Street Bank, Philips, BBC, IBM, SAIC, LMCO, APL, Ariba, Federal Reserve Bank, HP, Motorola, Nokia, TransUnion, IDX, Siemens Medical, Gestalt, Yahoo, Conchango, BMC, Lexis-Nexis, Bently Systems, Bose, CapitalOne,Federal Reserve Bank, ClearChannel, Xerox, Patient Keeper, British Telecom, PayPal, …

Page 47: Spikes nad SCRUM_Se lect6 btech

What is Scrum process flow

Page 48: Spikes nad SCRUM_Se lect6 btech

Scrum process flow

PlanningProduct owner and team decide which stories are actually feasible to be moved from the Product backlog to the Sprint backlog.

SprintThe team is left alone to perform the user stories which it has committed itself in the planning meeting. The product owner may attend the “daily scrums” if a granular status update is desired.

ReviewThe team presents its work and verifies what it has done indeed satisfies the utmost desires of the product owner.

Page 49: Spikes nad SCRUM_Se lect6 btech

User Stories in SCRUM

Page 50: Spikes nad SCRUM_Se lect6 btech

User Stories

• A user story is a software system requirement formulated as one or two sentences in the everyday language of the user.

• It is written by the Product Owner, with the help of the ScrumMaster and Team, if desired and necessary.

• Once completed, it is put in the Product Backlog and prioritized, by the Product Owner, by its relative placement to other user stories.

• Before a user story is to be implemented, appropriate acceptance criteria must be written to ensure proper testing or otherwise determine whether the goals of the user story have been fulfilled.

• Some formalization finally happens when the developer accepts the user story and the acceptance procedure as his work specific order.

Page 51: Spikes nad SCRUM_Se lect6 btech

User Stories - structure

Page 52: Spikes nad SCRUM_Se lect6 btech

User Stories - structure

• Who (user role) – is this a customer, employee, system administrator?

• What (goal) – What is the specific functionality that is to be achieved or developed?

• Why (reason) – Helps the developer to understand the broader scope of the story and eliminate any ambiguities that may arise.

• Putting it all together: As a [user role], I want to [goal], so I can [reason].

• “As a registered user, I want to log in, so I can access subscriber content.”

Page 53: Spikes nad SCRUM_Se lect6 btech

USER STORIES CHARACTERISTICS – I.N.V.E.S.T.

Page 54: Spikes nad SCRUM_Se lect6 btech

User Stories – I.N.V.E.S.T.

• Independent - For some systems, it's near impossible to make each feature completely independent. In other solutions, e.g. web sites, it's easier. But it's an important aspiration. User Stories should be as independent as possible.

• Negotiable - User Stories are not a contract. They are not detailed specifications. They are reminders of features for the team to discuss and collaborate to clarify the details near the time of development.

• Valuable - User Stories should be valuable to the user (or owner) of the solution. They should be written in user language. They should be features, not tasks.

• Estimatable - User Stories need to be possible to estimate. They need to provide enough information to estimate, without being too detailed.

• Small - User Stories should be small. Not too small. But not too big.

• Testable - User Stories need to be worded in a way that is testable, i.e. not too subjective and to provide clear details of how the User Story will be tested.

Page 55: Spikes nad SCRUM_Se lect6 btech

Scrum has been used for:

• Commercial software

• In-house development

• Contract development

• Fixed-price projects

• Financial applications

• ISO 9001-certified applications

• Embedded systems

• 24x7 systems with 99.999% uptime requirements

•Video game development

•life-critical systems

•Satellite-control software

•Websites

•Handheld software

•Mobile phones

•Network switching applications

•Some of the largest applications in use