LogiGear Corporation. All Rights Reserved. 1 LogiGear Corporation All Rights Reserved Agile/Scrum Development.

Post on 25-Dec-2015

218 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

Transcript

LogiGear Corporation. All Rights Reserved. 1

LogiGear Corporation All Rights Reserved

Agile/Scrum Development

LogiGear Corporation. All Rights Reserved. 2

LogiGear Corporation. All Rights Reserved. 3

Table of Contents

Introduction/Course Overview 6 Chapter 1 Introduction to Agile Methodologies 13 What is Agile What do we have now? Chapter 2 Introduction to Scrum 29 Chapter 3 Roles and Responsibilities in Scrum 43 Chapter 4 The Scrum Process 51 Chapter 5 What is NOT Agile 101 Chapter 6 Wrap-up/Summary The Scrum Process 112 Chapter 7 The Main XP Practices 117 Chapter 8 Artifacts in Agile 147 Chapter 9 Project Tools in Agile 153 Chapter 10 Further Study 162

LogiGear Corporation. All Rights Reserved. 4

LogiGear Corporation. All Rights Reserved. 5

A Note About This Scrum Courseware

Part of this material is available free from Gear Stream.The parts of this course concerning the scrum process are from

GearStream.

Copyright from GearStream:Gear Stream believes that anyone interested in Scrum should

have the opportunity to learn and practice the techniques of Scrum without paying exorbitant training fees. The Scrum Alliance has done a fantastic job of building marketplace acceptance for Scrum, but in our view has not done enough to make basic Scrum education available to those not prepared to spend thousands of dollars on a two day Scrum Certification Class.

We recognize that most teams will still need professional coaching and possibly formal instruction, but that should not prevent teams from taking this material and acquiring the basic skills and knowledge to get started.

The associated Student Handbook is also available free of charge and can be downloaded at:

http://www.gearstream.com/product-content-downloads.html

Please drop us a note if you find these materials helpful.Best Regards,Brad Murphy, Founder & CEOGear Stream –“We Make Software Innovation Flow”

LogiGear Corporation. All Rights Reserved. 6

What are your goals?

Grab an index card and a marker.

Think about the objectives of this course.

When you finish this course, you will tell the person next to you “That was a great course, because I got/learned …”

Complete the sentence above on the index card

Time Box: 2 MinutesRead out your goals and post them on

the flip-chart one-by-one

LogiGear Corporation. All Rights Reserved. 7

Course Objectives

To understand the basics of the Agile, Scrum and XP Frameworks

• The foundation ideas• Principal Components• Scrum’s Processes• Scrum’s Roles & Responsibilities• How these processes and ideas affect team

dynamics

• How these ideas affect testing and tools.

To equip you to begin applying basic Scrum concepts to existing or future development projects

To help identify the areas of learning you can pursue further on your own

LogiGear Corporation. All Rights Reserved. 8

Class Overview

Narrow scope of this class:

Basics of Agile, Scrum and XP

…but mainly about Scrum!

Not about testing

Not a Scrum Master Certification

Not about “role of developers”

This class is mainly about running projects. Not too many practices…

LogiGear Corporation. All Rights Reserved. 9

Class Overview- brief

List topics to be covered:• Introduction to the course• What is Agile?

• How is it different?• What is not Agile?

• Understanding Scrum• Glossary

• A quick Sprint/project walk-thru• Important Scrum and XP Practices• Testing on agile• Artifacts in agile • Tools in agile

LogiGear Corporation. All Rights Reserved. 10

Class Overview- fullIntroduction to the Course

• Course goals • Ground rules

What is agile? Defining Agile, Scrum, and XP Agile manifesto and XP Values How is it different than what we have now? What is not agile- Nokia test, scrumbuts Scrum

The new glossary for software development• Roles • Artifacts • Ceremonies

A quick walk through, an scrum process • Releasing Planning

• Sprint, Sprint, Sprint, Regression/Hardening• Sprint Planning, Poker • Daily stand-ups • White Board Management • User Stories, Backlogs • Sprints • Retrospectives

The main practices (XP and Scrum) important to testers • Unit Testing, User Story Acceptance Automation • Continuous Integration

Testing on Agile projects Artifacts in agileTools in agile Further study

LogiGear Corporation. All Rights Reserved. 11

Course Expectations

Ground Rules• Start and end on time• Electronics (phone, laptop) only by

exception• One conversation at a time

Parking Lots• Used to help us meet workshop

objectives• Staging area for “off topic” concepts,

that we want to come back to at a more productive point in time

What else?• Remember why we move to agile…

LogiGear Corporation. All Rights Reserved. 12

LogiGear Corporation. All Rights Reserved. 13

Chapter 1

Introduction to Agile Methodologies

What is Agile?

What do we have now?

LogiGear Corporation. All Rights Reserved. 14

General Agile Concepts

A collection of methods designed to reinforce:• Time-Boxed activities running in

constant “waves”• Each “wave” producing fully releasable

software • Harmonizing the up and downstream

workflows of an organization to create “flow”

• The formation of cross functional teams of 5-7 people • Business• Project Management• Development• QA• Operations

LogiGear Corporation. All Rights Reserved. 15

General Agile Concepts

Agile Methodologies promote:• Disciplined project management

process• Frequent inspection and adaptation• Leadership philosophy that

encourages teamwork• Self-organization and accountability• Rapid delivery of high-quality

software• Alignment of development with

customer needs and company goals

LogiGear Corporation. All Rights Reserved. 16

“Faster” SDLCs

Agile- Ideas and a framework for better software development. It is not a methodology.

It is not how you manage a project.

It is not how you manage software development.

The most common practices:• Manage the product? project?

Scrum

Development practices that are really helpful?

• eXtreme Programming (XP)

LogiGear Corporation. All Rights Reserved. 17

Manifesto for Agile Software Development

We are uncovering better ways of developingsoftware by doing it and helping others do it. Through this work we have come to value:

• Individuals and interactions over processes and tools

• Working software over comprehensive documentation

• Customer collaboration over contract negotiation

• Responding to change over following a plan

http://www.agilemanifesto.org/

LogiGear Corporation. All Rights Reserved. 18

The Agile Manifesto

The Manifesto does NOT advocate abandoning the practices on the left…

Processes and tools Individuals and interactions

Comprehensive documentation

Contract Negotiation

Following a plan

Working Software

Customer collaboration

Responding to change

While there is value in the items on the LEFT, We value the items on the RIGHT more

LogiGear Corporation. All Rights Reserved. 19

Agile Principles

Re

gu

lar

Tu

nin

gs

an

d a

dju

stm

en

ts

Business People & Developers

to Work Together

Cus

tom

er

Sat

isfa

ctio

n

Welcome Changing

Requirements

Deliver Working Software Frequently

Motivated Individuals

Self-O

rganizing Teams

Enforce

Face

-to-Face

Con

versation

sWor

king

Sof

twar

e as

the

Cor

ners

tone

Constant Pace in

Development Efforts

Technical Excellence & Good Design

Simplicity is Essential

Agile Principles

LogiGear Corporation. All Rights Reserved. 20

Agile Transformation Culture Goals

Management style transitions from “Command and Control” →“Leadership and Collaboration”

Organizational culture transitions from “Process based” →“People based”

Crucial Knowledge Management transitions from “Explicit” →“Tacit”(fully expressed without vagueness ) → (implied or indicated but not actually expressed )

LogiGear Corporation. All Rights Reserved. 21

Agile Transformation Culture Goals

Communication transitions from “Formal” →“Informal”

Final User Role transitions from “Important” →“Fundamental”

Organizational structure transitions from “Hierarchical” →“Organic”

Practitioner Roles transition from “Strict Roles” →“Interchangeable Roles”

LogiGear Corporation. All Rights Reserved. 22

Main Agile Methodologies

The most well-known agile methodologies are:

• Adaptive Software Development (ASD)

• Agile Unified Process (AUP)• Crystal Clear• Dynamic System Development Method

(DSDM)• Essential unified process (ESSUP)• Feature Driven Development (FDD)• Lean Software Development (LSD)• Open Unified Process (Openup)• Extreme Programming (XP)• SCRUM

LogiGear Corporation. All Rights Reserved. 23

Agile/Scrum Development

Agile compared to “what we have now”

LogiGear Corporation. All Rights Reserved. 24

Getting Started –Round Table Discussion

Lets take 10 minutes to discuss “traditional” software development methodologies we’ve used to date …

Focus discussion on:• Identifying strengths• Identifying weaknesses• Identifying areas for improvement

LogiGear Corporation. All Rights Reserved. 25

Getting Started –Round Table Discussion

This is not waterfall vs. Scrum/Agile!

That is too extreme. Most companies do not do pure waterfall, most do not do 100% agile.

Think about older processes vs. new ideas.

LogiGear Corporation. All Rights Reserved. 26

Traditional vs. Agile Development

Aspect Traditional Methodologies Agile Methodologies

Based onNorms and standards followed by development environment

Heuristics emerged from code production practices

Changes Some resistance to changesSpecially prepared to changes during the project

Adoption Externally imposedInternally adopted (by the team)

Process ControlLess Controlled Process, with lack of principles

Much more controlled process with many principles

Contracts Prefixed Contracts

Customer and TeamCustomer relationship is based in meetings only

Customer interacts with Development Team

Group SizeLarge Groups and probably distributed

Small groups (<10 members) and working in the same site

Artifacts Many FewRoles Many Few

Software ArchitectureIs essential and it is expressed through models Low emphasis

Defined Processes Required Planning and Closure onlyFinal Product Determined during planning Set during projectProject Costs Determined during planning Set during projectCompletion date Determined during planning Set during projectResponsiveness to Environment Planning only ThroughoutKnowledge Transfer Training prior to Project Teamwork during projectProbability of Success Low High

LogiGear Corporation. All Rights Reserved. 27

Benefits of Scrum

Fixed Requirements Resource Time

Plan Driven

Waterfall Agile

Value Driven

Estimated Resources Time Features

LogiGear Corporation. All Rights Reserved. 28

LogiGear Corporation. All Rights Reserved. 29

Chapter 2Introduction to Scrum

LogiGear Corporation. All Rights Reserved. 30

Origin & History of Scrum…

1995 –Nonaka and Hirotaka –The Knowledge Creating Company

1990’s –Ken Schwaber –Advanced Development Methods (ADM)

1995 –Sutherland and Schwaber –OOPSLA ‘95 –First Public Appearance of Scrum

February 2001: Agile Software Development Manifesto was created

LogiGear Corporation. All Rights Reserved. 31

Why Scrum?

Scrum –Borrowed from Rugby

The purpose of the scrum is to restart play quickly, safely and fairly, after a minor infringement or a stoppage.

LogiGear Corporation. All Rights Reserved. 32

Why Scrum?

According to Rugby scrum’s law:• A clear set of rules• Defined roles• Specific tips to “play”• With other elements such as a

ball, the field, etc.

The key idea behind scrum: Players devoting all of their energy to bind together … to advance as a group

LogiGear Corporation. All Rights Reserved. 33

What is Scrum?

A light weight, iterative project management framework for helping teams successfully execute and deliver the highest business value in the shortest time.

Particularly well suited to environments where requirements are subject to change and/or where requirements are not fully understood.

LogiGear Corporation. All Rights Reserved. 34

What is Scrum?

Scrum consists of a series of sprints optimally 2 or 3 weeks. No longer than 30 days.

A successful sprint always produces fully working and completed software features ready for deployment.

LogiGear Corporation. All Rights Reserved. 35

What is Scrum?

Between Sprints, all stakeholders evaluate progress and re-evaluate technical and business requirements & priorities.

Work is re-established and the team enters into the next Sprint.

LogiGear Corporation. All Rights Reserved. 36

Philosophy of Scrum?

You can’t predict or plan with absolute certainty what you will deliver, when you will deliver it, and what the cost will be

Start with initial plans surrounding estimates, dates & scope, but then focus on continuous revision of these constraints as you proceed

The goal is to deliver the best possible software given the constraints, but any cookbook approach won’t improve what “best” is.

LogiGear Corporation. All Rights Reserved. 37

Philosophy of Scrum?

The pulse of Scrum is key to its success

Management determines what should be done prior to every Sprint, their determination influenced by prior deliverables and changing requirements

During the Sprint, the team is left alone to produce the best software possible

This process produces a potentially shippable set of functionality at the end of each Sprint

LogiGear Corporation. All Rights Reserved. 38

Scrum Attributes & Characteristics

FIRST LEGTRANSPARENCY

SECOND LEGINSPECTION

THIRD LEGADAPTATION

Aspects of the process that affect the outcome must be visible to those managing

the outcomes

Aspects of the process must be inspected frequently so

that unacceptable variances in the process

can be detected

If the team determines any aspect is outside acceptable limits, he/she must adjust

the process

LogiGear Corporation. All Rights Reserved. 39

Scrum Attributes & Characteristics

FocusesIn

VisibilityAnd ROI

It is Simple

Clear Roles &

Rules

LogiGear Corporation. All Rights Reserved. 40

Benefits of Scrum

ScrumDelivers highest business value features first

Embraces changing market requirements

Increases probability for successful product delivery

Product functionality delivered every 30 days

Enables low-overhead empirical management

Daily communication of status occurs

Makes impediments visible, early

LogiGear Corporation. All Rights Reserved. 41

Elements of Scrum

Product OwnerScrum Master

Team

Sprint PlanningSprint ReviewSprint Retro

Scrum Meeting

Product BacklogSprint Backlog

Burndown ChartsRelease Plan

ROLES CEREMONIES ARTIFACTS

LogiGear Corporation. All Rights Reserved. 42

LogiGear Corporation. All Rights Reserved. 43

Chapter 3

Roles & Responsibilities in

Scrum

LogiGear Corporation. All Rights Reserved. 44

The Roles Overview…

Stakeholders

ProductOwner

Scrum Master

TeamMembers

LogiGear Corporation. All Rights Reserved. 45

The Product Owner

Focuses on the ROI of the product

Defines the features of the product

Prioritizes features according to market value

Decides on release date and content

Adjusts features and priority every iteration, as needed

Accepts or rejects work results

LogiGear Corporation. All Rights Reserved. 46

The Scrum Master

Represents management to the project

Responsible for enacting Scrum values and practices

Ensures that the process is followed, including issuing invitations to Daily Scrum, Sprint Review and Sprint Planning meetings

LogiGear Corporation. All Rights Reserved. 47

The Scrum Master

Removes impediments

Ensures that the team is fully functional and productive

Enables close cooperation across all roles and functions

Shields the team from external interferences

LogiGear Corporation. All Rights Reserved. 48

The Scrum Master

Effective self-organizing teams are developed over time

A Scrum Master varies his/her behavior depending upon where the team is on the Agile Team Maturity Scale

Agile Team Maturity

LOW HIGH

More support needed, Less support and

increased Scrum Master facilitation needed,guidance and facilitation more team self

organization

LogiGear Corporation. All Rights Reserved. 49

The Team (Team Members)

Responsible, in each iteration, for transforming the Product Backlog into an increment of Product functionality

Self-OrganizingTypically characteristics of Scrum Teams:

• Composed by 4-9 people• Cross-Functional (e.g., programmers,

testers, user experience designer, etc.)• Members should be full-time (may be

some exceptions e.g., database administrator) No multi-tasking!

• Membership should change only between Sprints

LogiGear Corporation. All Rights Reserved. 50

LogiGear Corporation. All Rights Reserved. 51

Chapter 4

The Scrum Process

LogiGear Corporation. All Rights Reserved. 52

Agile/Scrum Development

A quick project walk-thru

LogiGear Corporation. All Rights Reserved. 53

What is a Sprint?

A Sprint is an Iteration that is Time-Boxed

The work and goals of a Sprint (once started) remains fixed, to insure the Sprint Goals and Team commitments are achieved

Team Member composition and quality goals remain constant throughout a given Sprint

LogiGear Corporation. All Rights Reserved. 54

What is a Sprint?

The Sprint “Life-Cycle” Consists of: • Sprint Planning Meeting + • Define-Detail plus Build plus Test +• Sprint Review + • Sprint Retrospective

Sprints occur one after another with no break between Sprints

LogiGear Corporation. All Rights Reserved. 55

What is a Sprint?

A Sprint is governed by a set of rules:• A Sprint duration is typically 2–4

weeks, or a calendar month at the very most

• A Sprint is undertaken by a cross functional team consisting of between 4-9 team members

• A consistent Sprint duration leads to better predictability and team velocity

LogiGear Corporation. All Rights Reserved. 56

Illustration of the Scrum Flow

VISION

24 h

4 weeks

Product Backlog Sprint Backlog Sprint Working Incrementof the software

Retrospective:Reflect &

ReprioritizeBacklog

LogiGear Corporation. All Rights Reserved. 57

Release Cycle

Release Planning

4 Week FeatureSprint

4 Week Feature Sprint 4 Week

Feature Sprint

4 Week Release Sprint

Retrospective

LogiGear Corporation. All Rights Reserved. 58

User Stories

Short descriptions of functionality, told from the perspective of a user, that are valuable to either a user of the software or the customer.

LogiGear Corporation. All Rights Reserved. 59

User Stories

Each user story is composed of 3 aspects:

• Written description of the story (for planning)

• Conversations about the story, as foundational knowledge forming the story

• Acceptance criteria which conveys and document details that can be used to determine when a story is “complete”

LogiGear Corporation. All Rights Reserved. 60

User Stories

Theme, Epic, Story, Task (Mike Cohn)

Use a simple declarative statement of function that follows the INVEST model (William Wake):

• Independent• Negotiable• Valuable to users or customers• Estimatable• Small• Testable

LogiGear Corporation. All Rights Reserved. 61

User Stories

User Story- Requirement? Use Case?Syntax:User stories generally follow the following template:"As a <role>, I want <goal/desire> so that <benefit>" but the shorter version is commonly used as well:"As a <role>, I want <goal/desire>“

ExamplesAs a tester, I can search for test modules by name, partial or whole, so that I can find a module. As a tester, I can search a tree or module for actions by string, partial or whole name, so that I can find each occurrence of each action.

LogiGear Corporation. All Rights Reserved. 62

User Stories

Starting Application The application begins by bringing up the last document the user was working with.

Closing Application Upon closing the application, the user is prompted to save (when ANYTHING has changed in data since the last save).

http://en.wikipedia.org/wiki/User_story

LogiGear Corporation. All Rights Reserved. 63

User Stories

Scott Amblin IBM VSTS Scrum Process Template

LogiGear Corporation. All Rights Reserved. 64

User Stories

Ron Jeffries has named these three aspects card, conversation, and confirmation:• Conversations about the story serve to

flesh out the details – at the daily scrum/meeting– sit together in a bullpen– difficult for offshore

• Tests that convey and document details that can be used to determine when a story is complete.

LogiGear Corporation. All Rights Reserved. 65

When is it done?

Sprints need a detailed and agreed upon definition of done similar to milestone/ entrance /exit criteria in traditional development but due to the very quick nature of sprints, this criteria needs agreement then policing.

LogiGear Corporation. All Rights Reserved. 66

When is it done? Example

User Stories• Defined• Validated

Code• Peer reviewed• Unit tests checked into source safe• No open bugs

Quality• Code coverage to some point- 100%,

70%, etc.• Performance/Scalability test cases

executed• User Experience approved by user

advocate.• Localization test cases complete

Documentation• Features documented for Help and User

Guide

LogiGear Corporation. All Rights Reserved. 67

When is it done?

There are many important aspects of this done criteria.

Prevent coding until the last hour of a sprint and saying:

“Look! Done!”

It gives the team a goal and measuring point during these really rapid cycles.

LogiGear Corporation. All Rights Reserved. 68

When is it done?

Also remember- nothing is done until it can be demonstrated.

Each group or team must define done since each product and process is unique.

LogiGear Corporation. All Rights Reserved. 69

Release Planning

Purpose: To establish a plan and goals that the Scrum

Teams and the rest of the organization can understand and communicate.

The release plan establishes:• The overall goal of the release • Prioritization of the Product Backlog• The overall release features and

functionality • The major risks of the release• The probable outcome of the release –most

notably delivery date and cost

LogiGear Corporation. All Rights Reserved. 70

Release Planning

Products are built iteratively, each Sprint creates an increment of the Product –beginning with the most valuable

Additional Sprints create additional increments of the product

Each increment is a potentially shippable slice of the entire product

When enough increments are created for the product to be of value: It’s ready to be released

LogiGear Corporation. All Rights Reserved. 71

Product Backlog

The Product Back log is the master list of all functionality desired in the product.

How does this work?• The PO shows up at the Sprint Planning

meeting with the prioritized product backlog and describes the top items to the team

• Next, the team determines which Items they can complete during the coming Sprint

• The team then moves items from the Product Backlog to the Sprint Backlog

LogiGear Corporation. All Rights Reserved. 72

Product Backlog

“A simple collection of index cards”

LogiGear Corporation. All Rights Reserved. 73

Product Backlog

Product Backlog sizing and effort estimating is done at the user story level

Story point values are used as an abstraction layer

Product backlog items are given this “relative size” by the team, based on other item sizes in the Backlog

The story point value is consistent within any Sprint, but can vary between teams and between Sprints

LogiGear Corporation. All Rights Reserved. 74

Product Backlog

Product Backlog Item Attributes should include:

• Description• Rank/Priority• Complexity/Cost/Size (Story Points or

S/M/L or “fib number”)• Optional attributes: Business Value ($,

L/M/H), Owner, Test, Sample Results• Other options?

Can be defined as a “User Story”, “Story Card”, “Use Case”, what else?

LogiGear Corporation. All Rights Reserved. 75

Product Backlog

Complexity/Cost/Size (Story Points or S/M/L or “fib number”)

For sizing I prefer: S/M/L/XL

Most common is using fib numbers (Fibonacci numbers):

0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144 …

A very common sequence taken from fib numbers:

0, 1, 2, 3, 5, 8, 13, 20, 40,

LogiGear Corporation. All Rights Reserved. 76

Sprint Planning

Sprint Planning focuses on planning the next iteration

Sprint Planning consists of two meetings:

• The What? At this meeting, what will be done in the Sprint is decided. 4-hour time-box

• The How? At this meeting, the Team figures out how it is going to build this functionality into a product increment during the Sprint. 4-hour time-box

LogiGear Corporation. All Rights Reserved. 77

Sprint Planning

Meeting Part 1 –The What?Input: Product Backlog, Latest Increment

of Product, Team’s Capacity/Past Performance

• The PO presents the top priority Product Backlog to the Team

• They work together to commit to what functionality is to be developed during the next Sprint

• A Sprint Goal is crafted, which will be met through the implementation of the prioritized and committed Product Backlog

LogiGear Corporation. All Rights Reserved. 78

Sprint Planning

Meeting Part 2 –The How?Input: Prioritized Product Backlog,

Sprint Goal• The Team figures out how it will

turn the Product Backlog into a done increment

• The teams starts by designing the work

• While designing, key tasks are identified

• Tasks should be done in less that one day

• This task list is called the Sprint Backlog

LogiGear Corporation. All Rights Reserved. 79

Sprint Planning Meeting

Your Invited to: Sprint Planning -Sprint #4: 9/1 –9/30

#1 -Greeting, Intros, Mtg AgendaProduct Vision & RoadmapDevelopment Status

#2 –Sprint 3 momentum Team update –availabilities and readiness‘Completed’–what & when

#3 -Product Backlog review status Distribute & review task ownership, time estimatesTeam/individual challenges and dependencies

Review –capabilities requiredChallenges & mitigationsTeam commitments!!Thank you, good job, close

LogiGear Corporation. All Rights Reserved. 80

Sprint Backlog

Focuses the Team to turn Product Backlog items to a “Done” Increment

Sprint Backlog items must be decomposed into tasks

Sprint Backlog might be modified throughout the Sprint

As new work is required, the Team adds it to the Sprint Backlog

LogiGear Corporation. All Rights Reserved. 81

Sprint Backlog

Is a highly visible, real-time picture of the work that the team plans to accomplish during the Sprint

Spring Backlog Burndown: Is a graph of the amount of Sprint Backlog remaining in a Sprint for the duration of the Sprint

LogiGear Corporation. All Rights Reserved. 82

Sprint BacklogRequirement Task

Who's working Status Work Left (Hours)

Member Sign in

      Day 1 Day 2 Day 3 Day 4 Day 5

Database Coding Anjali Pending 1        

Unit Testing Scripts Anjali Pending 2        

Business Logic Anjali Pending 1        

UI Test Scripts Anjali Pending 2        

Front End Screens Anjali Pending 2        

Load Testing Anu Pending 2        

Reset Password

Unit Testing Scripts Thomas Pending 1        

Business Logic Thomas Pending 1        

UI Test Scripts Anu Pending 1        

Front End Screens Thomas Pending 1        

Integration Testing Anu Pending 1        

Change Password

Unit Testing Scripts Thomas Pending 0.5        

Business Logic Thomas Pending 0.5        

UI Test Scripts Anu Pending 0.5        

Front End Screens Thomas Pending 0.5        

Integration Testing Anu Pending 0.5        

Change Email

Unit Testing Scripts Anjali Pending 0.5        

Business Logic Anjali Pending 0.5        

UI Test Scripts Anu Pending 0.5        

Front End Screens Anjali Pending 0.5        

Integration Testing Anu Pending 0.5        

Help LinkFront End Screens Anjali Pending 0.5        

Manual Testing Anu Pending 0.5        

  Work Remaining 21 0 0 0 0

LogiGear Corporation. All Rights Reserved. 83

Sprint Backlog

Estimates are done at the task level

Team uses ideal effort hours to estimate tasks

Use net hours for what capacity the team can take on –capacity planning takes care of overhead, etc.

Remember, you are not married to your estimates. Give an estimate based upon what the team knows now!

LogiGear Corporation. All Rights Reserved. 84

Sprint Tracking and Reporting

What gets measured gets done –focus on metrics that matter

Don’t confuse tradition with necessityShare all project information with everybody!

Possible metrics to consider:• Sprint burn-down / burn-up chart(s)• Build quality per day/week• Number of tests/tests passed per day/week• Velocity over the last X Sprints• % achievement of Sprint level commitments

LogiGear Corporation. All Rights Reserved. 85

Sprint Burn-down Chart

ChartTracks daily progress against Sprint

commitment:• “Of our total estimated task effort, what is

left to do?”• “Given what we have left to do and the

amount of time left, what is the best thing we can do today?”

A Burn-down Chart is:• Straightforward and easy to understand• Measures burn rate of the story in the unit

of story points• Can help predict the outcome of the

project by predicting the future velocity of the Sprints

LogiGear Corporation. All Rights Reserved. 86

Sprint Burn-down Chart

LogiGear Corporation. All Rights Reserved. 87

Sprint Review

A Sprint Review is held at the end of each Sprint

This is a review of a completed product slice

During the review, the Scrum Team and Stakeholders collaborate about:

• What was just done• What are the next things that could be done

LogiGear Corporation. All Rights Reserved. 88

Sprint Review

The review includes the following elements:

• PO identifies what has and has not been completed

• Team discusses what went well and wrong during the Sprint

• The team demonstrates done work and answers questions

• PO discusses Product Backlog as it stands• PO projects likely completion dates with

velocity assumptions

LogiGear Corporation. All Rights Reserved. 89

Sprint Review

Time-boxed to 2 hours

Team preparation is time-b0xed to < 1 hour

The review starts with a Team Member presenting the Sprint goal

The Team presents to the PO and Stakeholders only functionality that is done

LogiGear Corporation. All Rights Reserved. 90

Sprint Review

Stakeholders are polled to get their impressions, any desired changes, and the priority of these changes

Stakeholders can identify any new functionality that occurs to them as they view the presentation

At the end of the review, the Scrum Master announces place and date of the next Sprint Review

LogiGear Corporation. All Rights Reserved. 91

Daily Scrum

Time-boxed to 15 minutesBest when held first thing in the morningAll team members are required to attendPrimary object is “synchronization”Scrum Master starts meeting on time

Ask Three Simple Questions:

What Did you AccomplishYesterday?

What Will you Accomplish

Today?

What ImpedimentsAre in your

Way?

LogiGear Corporation. All Rights Reserved. 92

Daily Scrum Rules

Any members who are late pay $1 to the Scrum Master immediately

Only one person talks at a time

Chickens stand on the periphery of the Team and does NOT interfere with the meeting

Chickens are not allowed to talk with Team members after the meeting to ask for clarification

LogiGear Corporation. All Rights Reserved. 93

Manage by whiteboard

LogiGear Corporation. All Rights Reserved. 94

LogiGear Corporation. All Rights Reserved. 95

Manage by whiteboard

What happens at the white board:• All changes are discussed• Status of user story is detailed• Moves are made, work is assigned• Bugs can be discussed• Done is discussed

LogiGear Corporation. All Rights Reserved. 96

Sprint Retrospective

A review of how the last Sprint was conducted

Conducted after the Sprint Review, but prior to starting the next Sprint

Scrum Master encourages the Scrum Team to revise their processes and practices to make it more effective and enjoyable

LogiGear Corporation. All Rights Reserved. 97

Continue Doing

Stop Doing

Sprint Retrospective

Identifies and prioritizes the major items that went well and those that if done differently could make things even better

Results in actionable improvement measures to implement in the next Sprint

Start Doing

LogiGear Corporation. All Rights Reserved. 98

Sprint Retrospective Rules

Time-boxed to 3 hours

Attended only by the Team, Scrum Master and Product Owner (optional)

Scrum master facilitates the meeting

Scrum master writes down team’s answers in summary form

Actionable items that can be added to next Sprint should be devised as high-priority non-functional Product Backlog

LogiGear Corporation. All Rights Reserved. 99

With all the newer processes

Important note-This is how we are doing it today…

• Be very, very open to process improvement.

• Don’t write a process .doc to start a project.…

• It all may change in the next sprint- and some parts probably should! What works for some teams may not work for all teams!

• Remember- by definition- we are self-directing!

LogiGear Corporation. All Rights Reserved. 100

LogiGear Corporation. All Rights Reserved. 101

Chapter 5

What is not Agile

Scrumbuts!

LogiGear Corporation. All Rights Reserved. 102

Problems and Misconceptions

This is often a problem with speed. If you adopt even some of these processes, the Team will probably increase code throughput rapidly.

You need infrastructure to support this.

If you are not: automating- heavily …unit testing/TDD …doing continuous integration …very regularly with the “customer”…

… Agile, whatever this means without these practices, will be very difficult.

Scrum will show the maturity level of the team! Dr. Jeff Sutherland

LogiGear Corporation. All Rights Reserved. 103

Problems and Misconceptions

There is a huge human component here that cannot get neglected!

• Tight, constant, good communication• Respect, valuing each other• Team Building!

Without focusing on these takes away form the true nature of Agile which is that people are more important than processes and tools.

Scrum- teams meant to be self-organizing. You can’t impose process or tools!

Also- the group is responsible and can’t point the finger.

LogiGear Corporation. All Rights Reserved. 104

Process Problems and Misconceptions

Biggest problem I see here is a Manager (Chicken) says to the Customers, Developers and Testers (Pigs)

Analysts or Marketing people (the customer)- “Stop writing these useless requirements docs and get agile!” and to Developers- “Write and release code faster!”

– With no people, seating, tool, skill, practices changes.

You are still supporting multiple products and are course on multiple teams and still have to keep your meeting schedule- but you have to get faster and be Agile! Multi-tasking does not work!

LogiGear Corporation. All Rights Reserved. 105

Process Problems and Misconceptions

Instead of “iterations” or “quarterly releases,” we are now going to have 3 or 4 month “sprints.” And still have big teams, and project managers, and process driven structure.

That is NOT agile.

LogiGear Corporation. All Rights Reserved. 106

Process Problems and Misconceptions

“We are going to stop writing specs and designs and only write story cards. But test teams still have to write all their test cases. We are agile!”

Scrumbut. That is NOT agile.

LogiGear Corporation. All Rights Reserved. 107

“We are Agile! But we don’t automate testing.”

We are using Scrum, but…Managers still drive our workWe still put in a lot of overtimeI am on 2 or 3 products

…You’re a Scrumbut

Dr. Jeff SutherlandHyperproductive Distributed Scrum

Teams

Problems and Misconceptions

LogiGear Corporation. All Rights Reserved. 108

Problems and Misconceptions

Do you have to do all?

No. not really• You won’t get the full benefit unless you

implement a lot of the practices• If you do one thing it will make other

problems more apparent.

Dr. Jeff Sutherland Hyperproductive Distributed Scrum Teams

LogiGear Corporation. All Rights Reserved. 109

The Nokia Test

1- First, are you doing Iterative Development?2- Iterations must be timeboxed to less than 4 weeks3- Software features must be tested and working at the end

of each iteration/Sprint. 4- The Iteration must start before specification is complete

The experience is that if you ask a lot of "Scrum" teams if they can pass this part of the test, they can't.

The next part of the test checks whether you are doing Scrum (in Nokia's opinion):

5- You know who the product owner is 6- There is a product backlog prioritized by business value 7- The product backlog has estimates created by the team 8- The team generates burndown charts and knows their

velocity 9- There are no project managers (or anyone else)

disrupting the work of the team

LogiGear Corporation. All Rights Reserved. 110

Wrong Agile

No documentation to test from

No definition of done

Do enforcement of done

Not including test engineers in sizing and estimation process

No enforced/measurable unit testing

No automatic builds/continuous integration

No significant automation

The team that does not understand testing

Everyone else stops documenting, but same doc demands on test engineers

LogiGear Corporation. All Rights Reserved. 111

LogiGear Corporation. All Rights Reserved. 112

Chapter 6Wrap-Up / SummaryThe Scrum Process

LogiGear Corporation. All Rights Reserved. 113

Review: Planning At A Glance

Product VisionYearly by Product owner

Product RoadmapBi-yearly by product owner

Release PlanQuarterly by product owner

and teams

Sprint PlanBi-weekly by teams

Daily PlanDaily by individuals

LogiGear Corporation. All Rights Reserved. 114

Review: Scrum At A Glance

Product Owner –Sets Priorities

Scrum Masters – Manages Processes& Removes Blocks

Stakeholders – Observe & Advise

Product Backlog•Requirements & Issues•Anybody can contribute•Only PO can set priorities

Sprint Goal•One sentence summary•Declared by PO – accepted by team

Sprint Planning(Scrum Master)

•Discuss backlog, existing product,, technology & business conditions•Determine highest priorities•Sets sprint Goal•Team turns selected items into Sprint BacklogOutback – Sprint Goal & Sprint Backlog

Blocks List•Lists of unmade decisions•Updated Daily

Sprint Backlog•Lists of tasks•Owned by Team•Only modified by Team

Increment•Final Version of the product•Shippable functionality

Team – Develops Product

Daily Scrum(Scrum Master)

•Held same time everyday•Attended by all – Stakeholders to not speak•Answer Questions•What did you do yesterday?•What will you do today?•What is in your way?•Output – Team updates Sprint Backlog•Scrum Master updates•Blocks List

Sprint Review(Scrum Master)

•Attended by all•Informal, informational meeting (4 hours)•Team demos Increment•All Players discuss•Hold Retrospective•Determine next Sprint Planning Mtg

MeetingsArtifactsPlayers &

Responsibilities

LogiGear Corporation. All Rights Reserved. 115

Review: Scrum At A Glance

Development ProcessSprint – 30 Days each

Product Backlog Increment

Sprint Planning Meeting

Sprint Goal

Daily Scrum Sprint Backlog

Blocks List

Product

Increment

Daily Work

Sprint Review Meeting

Product Backlog

REPEAT PROCESS

LogiGear Corporation. All Rights Reserved. 116

LogiGear Corporation. All Rights Reserved. 117

Agile/Scrum Development

Chapter 7The main XP Practices

LogiGear Corporation. All Rights Reserved. 118

XP Values

• Communication• Feedback• Simplicity• Courage• Respect

LogiGear Corporation. All Rights Reserved. 119

XP Practices

Extreme programming has been described as having 12 practices, grouped into four areas:

• Feedback– Pair programming– Planning game– Test-driven development (TDD)– Whole team

• Continuous process– Continuous integration– Refactoring or design improvement– Small releases

• Shared understanding– Coding standards– Collective code ownership– Simple design– System metaphor

• Programmer welfare– Sustainable pace

http://en.wikipedia.org/wiki/Extreme_Programming

LogiGear Corporation. All Rights Reserved. 120

eXtreme Programming (XP) is a set of practices to help software development. Many of these practices are the foundation of the most successful agile organizations.

As one set of practices, developed in 1996 by Kent Beck, published in 1999.

These practices are not new. Unit testing has been around as long as code itself. Yet the principles and practices together, formalized into eXtreme Programming have the most powerful impact on software development.

XP

LogiGear Corporation. All Rights Reserved. 121

It then elaborates fourteen principles and twenty-four practices.

One of the most striking is its strong emphasis on testing.

While all processes mention testing, most do so with a pretty low emphasis. However XP puts testing at the foundation of development, with every programmer writing tests as they write their production code (unit testing, TDD). The tests are integrated into a continuous integration and build process which yields a highly stable platform for future development.

The New MethodologyMartin Fowler

XP

LogiGear Corporation. All Rights Reserved. 122

Unit Testing:

A developer testing code at the code level, having knowledge of the code to design the tests, is a tremendous practice, when implemented, measured and managed. It is always a significant step toward higher software quality.

Unit testing also has its limitations.

XP

LogiGear Corporation. All Rights Reserved. 123

XP was one of the first popular methods to promote ‘Test-First Development’/ test driven Development (TDD)

• Before any code is written, a unit test is written to verify that code.

• Developers work on a piece of code until it passes it’s associated unit test.

• XP also promotes extensive use of test automation for regression purposes.

• Every bug should have an associated automated test which can be run to assure that it does not return.

XP

LogiGear Corporation. All Rights Reserved. 124

Some of the key steps in an XP project include:

• Developing ‘User Stories’, which are similar use cases. An important point is that these are written by the customers, and do not necessarily describe the interface of the application.

• Acceptance tests are developed based on the user stories (does the software correctly implement the user story)?

• User stories are intended primarily for estimating the length of the project, not for exhaustively describing the functionality.

XP

LogiGear Corporation. All Rights Reserved. 125

Different Testing phases in XP

How does testing fit in with Test Driven/Test-First or eXtreme Programming?

• TDD- Unit tests• Acceptance tests from User stories…

Most XP thinkers talk about two testing phases.

LogiGear Corporation. All Rights Reserved. 126

XP two levels of Testing

Functional Testing (QA)• Each feature of the system, which is defined by

something we call a User Story, like a Use Case, must have one or more functional tests that test it.

• The functional tests are the responsibility of what we call the "customer“ (also responsible for defining the requirements).

• The implementation and running of functional tests should be performed by the Software QA group.

http://www.xprogramming.com/qa/xp_q_and_a_QA.htm

This is different than the Team, and not done during a sprint. It is what might now get called “User Acceptance Testing” of Business Acceptance Testing.”

Ron Jefffries www.xprogramming.com

LogiGear Corporation. All Rights Reserved. 127

Testing in Agile

XP does suggest a separate phase for end-to-end, environment testing- after the development phases. This is where most teams do security and performance testing. Great place for more “tester testing.”

LogiGear Corporation. All Rights Reserved. 128

Testing in Agile

Common names for this are:• Release Sprint• Hardening sprint• …regression (E2E), performance,

security sprint

LogiGear Corporation. All Rights Reserved. 129

Continuous Integration

Continuous Integration is a key aspect of rapid development:

• Build often• Automated builds• Automated unit tests re-run• Automated build acceptance (smoke)

testing• Automated functional/regression testing• Harness for testing: include low level

unit tests, include functional tests.

LogiGear Corporation. All Rights Reserved. 130

Continuous Integration

Example:Daemon finds updated code in version

control (vss, perforce, sourceforge, clear case)

• Make/Ant build script• Run all unit tests• Run selenium tests• Send a report

Example tools:

CruiseControl, BuildBot, Bamboo, QuickBuild, and many more.

LogiGear Corporation. All Rights Reserved. 131

Agile/Scrum

All sounds good?

… all these practices, when implemented well can be a great boost to product and teams.

LogiGear Corporation. All Rights Reserved. 132

Testing in Agile/XP

The first part of this discussion is about process and practices.

Now, in part two, more specifically, what does all this mean for testing?

LogiGear Corporation. All Rights Reserved. 133

Testing in Agile- So far

Developer testingUnit testing- automated, re-run oftenAcceptance testing- can be automated,

validation (not testing) based on user story.

Continuous Integration-Build Validation

Does this amount of testing mean there are no bugs?

Self organizing teams that may or may not include test engineers

LogiGear Corporation. All Rights Reserved. 134

What kind of testing do we do?

Validation comes in automated tests.

“Validate it works” is happy path. This is only one way to execute the code. As we all know, there are may way to execute non-trivial code.

LogiGear Corporation. All Rights Reserved. 135

Testing in Agile

Everyone working on the project has to have a good understanding of the benefits and shortcomings of unit testing!

LogiGear Corporation. All Rights Reserved. 136

Testing in Agile

Remember, there are limitations to unit and acceptance testing

This is not:• End-to-end• Workflow• User scenario• Usually one path- the happy path. • Alternative paths

Who does this? When?

LogiGear Corporation. All Rights Reserved. 137

Testing in Agile

Most companies these days have shifted away from calling people who execute tests “QA.”

That’s good!

There is also a much broader understanding that all team members contribute to software quality.

It is sometimes common for the ownership of quality to belong to the Product Owner, not the Team.

LogiGear Corporation. All Rights Reserved. 138

Testing in Agile

People on the project need to understand: • Very short cycles prevent, for better or

worse, more broad and profound testing.

• Architect and design-as-you-go may make testing more difficult.

• Separate phase, or sprint, for end-to-end, workflow, user scenario test case execution.

LogiGear Corporation. All Rights Reserved. 139

Exploratory Testing

The skill most needed in agile software testing is excellent exploratory testing skill.

Discovery, research, testing to diagnose, all our gray box testing skill should be the focus of the manual test effort during a sprint.

Use of domain knowledge for testing, the context of the use, understanding of the business is crucial and knowledgeable testing needs to happen during the development cycles.

LogiGear Corporation. All Rights Reserved. 140

Testing in Agile

Testers on the team need to focus on:

• Exploratory• Scenario

Unexpected, successful and error pathsTasks using alternative paths, Repeating steps, editing data Skipping sub-tasks

• User focused/ Business testing• End-to-end/ System testing• Interoperability tests

Multiple moving partsDependencies

LogiGear Corporation. All Rights Reserved. 141

Automation is essential

Wherever you can, you must have large, effective, automated regression testing!

Best if it can be rolled into the continuous integration/build validation tests run against every build.

Where it is not possible to have large automated suites, automate build acceptance tests as much as possible.

LogiGear Corporation. All Rights Reserved. 142

Testing in Agile

If you do not have significant TA (GUI, black box, gray box, scenario, etc.) automation, Agile will fail.

No team can keep up with the rapid release of code without significant automation.

LogiGear Corporation. All Rights Reserved. 143

Data

Also focus on developing excellent test data for both automated and manual tests• Run the same scenario with five different pieces of data• Boundary conditions• Null• Illegal data• Unexpected data

… all the great data testers are famous for testing! Often not the focus of unit testing.

LogiGear Corporation. All Rights Reserved. 144

Testing in Agile

Most importantly in agile projects, people who test must be• fast • responsive

For this, manual is just not going to cut it anymore.

You have to be in the same room, conversing, running tests, planning automation, building excellent data, automating, focused and fast!

LogiGear Corporation. All Rights Reserved. 145

Rapid SDLCs and Testing

What are the effects of a more Agile SDLC on testing:

• The Team commits to delivery!• A much heavier reliance on developer

Unit Testing.• “Testing” has to be universally

understood.• An absolute necessity on Test

Automation.• A larger reliance on Regression Testing. • Regular, well-understood

communication on Test Coverage.• Probably less test documentation. • Separate phase for environment,

platform, performance end-to-end scenario tests.

LogiGear Corporation. All Rights Reserved. 146

LogiGear Corporation. All Rights Reserved. 147

Agile/Scrum Development

Chapter 8Artifacts in Agile

LogiGear Corporation. All Rights Reserved. 148

Artifacts in Agile

Agile practices come from earlier changes in management thought.

Particularly Lean Manufacturing.

See:http://en.wikipedia.org/wiki/Lean_manufacturing

Andhttp://en.wikipedia.org/wiki/Lean_software_development

These practices look for “waste” in the manufacturing process.

Many people believe excess documentation is a waste!

This is often the case with test plans, test cases and our source documentation: requirements, technical specifications, etc.

LogiGear Corporation. All Rights Reserved. 149

Artifacts in Agile

To simplify:If it does not go to the customer- it is a waste,

you do not need it.If it is not crucial, most important to the

project- it is a waste, you do not need it.

Lean: user storiestest ideas on the back of a user storyno bug reports (“a bug is a unit test you

forgot to write” – bugs become unit tests that must pass before release. They are discussed at the daily scrum- not in a database.

LogiGear Corporation. All Rights Reserved. 150

Artifacts in Agile

Requirements?Engineering Specifications?Architecture Docs?

Status reports?

LogiGear Corporation. All Rights Reserved. 151

Artifacts in Agile

On many agile projects, there is no test plan

On some projects, the number of test cases documented drops a lot!

Test cases – do we write them?Test plansIf you do not write these, can you

measuring testing or decide when testing is complete?

LogiGear Corporation. All Rights Reserved. 152

LogiGear Corporation. All Rights Reserved. 153

Agile/Scrum Development

Chapter 9Project Tools in Agile

LogiGear Corporation. All Rights Reserved. 154

Tools in Agile

Excellent, full, transparent communication is absolutely essential to being successful at agile. To be successful at offshoring agile we need new and better tools to help us.

Briefly look at ALM (application lifecycle management) tools.

LogiGear Corporation. All Rights Reserved. 155

Tools in Agile

What do they do?Coordinate all other tools and coordinate all

communication.Most tools are an umbrella for:Tracking user storiesTracking effort- estimated and actualPrioritizing backlogCalculating and graphing burndownTracking user complaints/call centerTracking test casesTracking bug reportsMeasuring velocityManaging the WhiteboardUnit testingContinuous integration reporting

LogiGear Corporation. All Rights Reserved. 156

Tools in Agile

Rally is the most common.

LogiGear Corporation. All Rights Reserved. 157

Tools in Agile

LogiGear Corporation. All Rights Reserved. 158

Tools in Agile

LogiGear Corporation. All Rights Reserved. 159

Tools in Agile

Other popular:Collabinet ScrumWorksVersionOneThoughtWorks Studios’ MingleIBM Rational Team ConcertAtlassian’s JIRA

LogiGear Corporation. All Rights Reserved. 160

Tools in Agile

Open Source• M-ASE • Story Server• TWiki

XPTrackerPlugin • UserStory.NET • XPlanner• XpCgi • XPWeb • XPSwiki

Commercial• Rally • AgilePlan • VersionOne • Iterate • Scope Manager • ScrumWorks • DevPlanner • XpPlanIt

LogiGear Corporation. All Rights Reserved. 161

LogiGear Corporation. All Rights Reserved. 162

Agile/Scrum Development

Chapter 10Further Study

LogiGear Corporation. All Rights Reserved. 163

More Study

The Scrum Guide:http://www.scrum.org/scrumguidesThe best, brief overview of Scrum available.

XP:http://www.extremeprogramming.org/

Agile Alliancewww.agilealliance.org

Lean Manager & Practitioners Classeswww.poppendieck.com/courses.htm

SCRUM Master Classwww.controlchaos.com/certifiedscrum/

LogiGear Corporation. All Rights Reserved. 164

For More Free Agile & Lean Courseware

http://www.gearstream.com/product-content-downloads.html

“We Make Software Innovation Flow”

LogiGear Corporation. All Rights Reserved. 165

LogiGear Corporation. All Rights Reserved. 166

Exercise

Why did we do this?

What 5 things did you learn?

LogiGear Corporation. All Rights Reserved. 167

Notes

_______________________________________

_______________________________________

_______________________________________

_______________________________________

_______________________________________

_______________________________________

_______________________________________

_______________________________________

_______________________________________

top related