Intro to Agile Software Development - DMH Distribution

53
DMarkHaynes Consulting 5/12/2016 [email protected] (734) 474-3303 1 Copyright © 2016 [Donald Mark Haynes]. All Rights Reserved. Project Management Quality Assurance Software Estimation Process Improvement s Providing IT Services for: Agile/Scrum Rational Unified Process (RUP) Waterfall Methodologies Logistics Health-care Insurance Automotive Telecom Marketing Financial

Transcript of Intro to Agile Software Development - DMH Distribution

DMarkHaynes Consulting

5/12/2016 [email protected] (734) 474-3303 1

Copyright © 2016 [Donald Mark Haynes]. All Rights Reserved.

Project Management

Quality Assurance

Software Estimation

Process Improvements

Providing IT Services for:

Agile/Scrum

Rational Unified Process (RUP)

Waterfall Methodologies

Logistics

Health-care

Insurance

Automotive

Telecom

Marketing

Financial

Introduction to Agile/Scrum Presented by D. Mark Haynes – Project Manager, Scrum

Master, QA Manager

Copyright © 2016 [Donald Mark Haynes]. All Rights Reserved.

5/12/2016 [email protected] (734) 474-3303 2

Introduction Scrum Agile Requirements Agile Estimation Release Planning A Few Agile Metrics Why Use Agile? Closing Thoughts Appendix

Agenda

Copyright © 2016 [Donald Mark Haynes]. All Rights Reserved. 5/12/2016 [email protected] (734) 474-3303

3

1940s - Edward Deming - Plan-Do Study-Act cycle 1950s – X-15 hypersonic jet applied Iterative,

Incremental Development (IID) 1970 - Royce initiates Waterfall but recommends IID 1985 – Boehm publishes A Spiral Model of Software

Development 1986 – Scrum developed by Schwaber & Sutherland 1996 – Rational Unified Process created 1999 – Extreme Programming Explained published 2001 – Agile Alliance group formed

Introduction A Brief History of Agile

Copyright © 2016 [Donald Mark Haynes]. All Rights Reserved. 5/12/2016 [email protected] (734) 474-3303

4

Agile Manifesto

5/12/2016 [email protected] (734) 474-3303 5

Copyright © 2016 [Donald Mark Haynes]. All Rights Reserved.

Agile Defined

5/12/2016 [email protected] (734) 474-3303 6

Copyright © 2016 [Donald Mark Haynes]. All Rights Reserved.

Group of software development methodologies Promotes self-organizing, & cross-functional teams Development is cyclic and incremental Testing is performed continuously Early delivery of product Processes & solutions are continuously evolving Rapid & flexible response to changes

What’s the Difference?

5/12/2016 [email protected] (734) 474-3303 7

Copyright © 2016 [Donald Mark Haynes]. All Rights Reserved.

Encourages tightly integrated teams Requires greater user interaction with teams Focus is flexibility, over economies of scale Teams embrace the unknown, not the fear Team’s focus on delivering functionality which benefits the business

Scrum Defined

5/12/2016 [email protected] (734) 474-3303 8

Copyright © 2016 [Donald Mark Haynes]. All Rights Reserved.

Focus is on: Meeting business needs, Incrementally & iteratively delivers working software, Encourages positive team dynamics & collaboration

Simple yet powerful framework for: Management & control process, Reduces complexity, Provides high degree of clarity & transparency

Scrum Defined

5/12/2016 [email protected] (734) 474-3303 9

Product Owner (PO) Role

5/12/2016 [email protected] (734) 474-3303 10

Copyright © 2016 [Donald Mark Haynes]. All Rights Reserved.

Customer representative, responsible for project’s success Understands Management & Stakeholder’s needs Conveys their vision & business case to the team Prioritizes the product backlog Maintains relationship & reports progress to management & Stakeholders Obtains necessary resources

Stakeholder Role

5/12/2016 [email protected] (734) 474-3303 11

Copyright © 2016 [Donald Mark Haynes]. All Rights Reserved.

Anyone who has a interest (stake) in the project Clarify the specifications for the product Authority to represent a community that intends to use the product Works with PO on the product backlog Provides feedback: Sprint planning & reviews Removes roadblocks & impediments Supports the Scrum Framework

Traditional Scrum Master (SM) Role

5/12/2016 [email protected] (734) 474-3303 12

Copyright © 2016 [Donald Mark Haynes]. All Rights Reserved.

As Process Owner Communicates value of Scrum Remove impediments to progress Facilitates Scrum activities and team’s focus Helps groom product backlog Creates & maintains Scrum tools Produces Scrum metrics

Additional Scrum Master Roles

5/12/2016 [email protected] (734) 474-3303 13

Copyright © 2016 [Donald Mark Haynes]. All Rights Reserved.

As Facilitator: Intervenes to increase productivity & efficiency, Provides a focus towards project success, Team champion negotiating on their behalf

As Mentor: Demonstrates solutions & techniques

Additional Scrum Master Roles (cont.)

5/12/2016 [email protected] (734) 474-3303 14

Copyright © 2016 [Donald Mark Haynes]. All Rights Reserved.

Coach: • Asks probing questions, provides constant guidance, • Acts as Cheerleader, celebrates accomplishments, • Points out anti-patterns (counter-productive

behavior) Trainer: • Provides classroom training, seminars and

workshops, • Helps the team understand important concepts

Scrum Roles in the Balance

5/12/2016 [email protected] (734) 474-3303 15

Scrum Activities: Maintain Product Backlog

5/12/2016 [email protected] (734) 474-3303 16

Copyright © 2016 [Donald Mark Haynes]. All Rights Reserved.

Create User Story

Delete User Story

Groom/Update User Story

Decompose User Story

Delete User Story

5/12/2016 [email protected] (734) 474-3303 17

Time-Box Scrum Traditions

Copyright © 2016 [Donald Mark Haynes]. All Rights Reserved.

Scrum Activities: Sprint Planning

5/12/2016 [email protected] (734) 474-3303 18

Copyright © 2016 [Donald Mark Haynes]. All Rights Reserved.

• Identify user stories

• Identify non-functional items

• Estimate user stories (story points & effort hours)

• Assign user stories

• Prioritize user stories

Scrum Activities: Daily Stand-up

5/12/2016 [email protected] (734) 474-3303 19

Copyright © 2016 [Donald Mark Haynes]. All Rights Reserved.

• What did you accomplish?

• What do you plan on accomplishing?

• What’s impeding your progress?

Scrum Activities (cont.)

5/12/2016 [email protected] (734) 474-3303 20

Copyright © 2016 [Donald Mark Haynes]. All Rights Reserved.

Sprint Review

Sprint retrospective:

• What went well?

• What didn’t go well?

• Identify potential improvements?

• Prioritize action items for improvements?

Questions & Answers Take a 10 minute break

5/12/2016 [email protected] (734) 474-3303 21

Copyright © 2016 [Donald Mark Haynes]. All Rights Reserved.

Agile Requirements Organization

5/12/2016 [email protected] (734) 474-3303 22

Feature

User Story Definition

5/12/2016 [email protected] (734) 474-3303 23

Copyright © 2016 [Donald Mark Haynes]. All Rights Reserved.

The user story is the basic agile requirement Captures the end-users perspective of a

feature Simplest statement a requirement may take Describes: The type of user, What they want, Why they want it

User Story Definition (cont.)

5/12/2016 [email protected] (734) 474-3303 24

Copyright © 2016 [Donald Mark Haynes]. All Rights Reserved.

Format "role-feature-reason“ template

As a <role>, I want <some business requirement>, So that <provide some value to business>

Three C’s of a User Story

5/12/2016 [email protected] (734) 474-3303 25

Copyright © 2016 [Donald Mark Haynes]. All Rights Reserved.

Card – user stories are traditionally written on cards, can be annotated with extra details Conversation – details behind the story come

from conversations with the Product Owner Confirmation – acceptance tests confirm the

story is working as intended

Acceptance Criteria

5/12/2016 [email protected] (734) 474-3303 26

Copyright © 2016 [Donald Mark Haynes]. All Rights Reserved.

Confirms the User story is working as intended Identifies user conditions that the user story

is acceptable Granularity – at the level of User Acceptance

Tests Format: Given/When/Then

Acceptance Criteria (cont.)

5/12/2016 [email protected] (734) 474-3303 27

Copyright © 2016 [Donald Mark Haynes]. All Rights Reserved.

Acceptance Criteria must be: Unambiguous, Language of the customer, A set of statements, with a clear pass/fail result, Must be actionable (cause/effect) and testable

User Story - Example

5/12/2016 [email protected] (734) 474-3303 28

Copyright © 2016 [Donald Mark Haynes]. All Rights Reserved.

User Story: As a Registration Clerk, I want to be able to Create Student’s registration data, so that instructors will have an accurate

list of class attendees.

Description: Registration for the upcoming semester may be performed on-line via the students account or at the registration office. When a request for a course is submitted the student is prompted for a payment. Payment can either be made by credit card or check. An updated class list is sent to the instructor.

Acceptance Criteria: • Given a student in good standing, when registering for a course,

then their name appears on the instructors list. • Given a student in good standing, when they enroll for a course,

Then they are billed for the credits they enrolled for.

Team Foundation Server (TFS)

5/12/2016 [email protected] (734) 474-3303 29

Copyright © 2016 [Donald Mark Haynes]. All Rights Reserved.

Role some business requirement provide value to business

Name

Clarification & Conversations of User Story

Estimating with Scrum Poker

5/12/2016 [email protected] (734) 474-3303 30

Copyright © 2016 [Donald Mark Haynes]. All Rights Reserved.

SME provides a short overview of the user story

Team asks questions, clarifying assumptions & risks

Everyone plays one card from the Scrum Poker deck

Scrum Poker deck contains hands with Story Points

Story Points are a modified Fibonacci sequence: 0, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89

Agile Estimation Definition of Story Points

5/12/2016 [email protected] (734) 474-3303 31

Copyright © 2016 [Donald Mark Haynes]. All Rights Reserved.

Story Point are a relative measure of complexity

• 1 (small): simple, smallest unit of work performed,

• 3 (medium): moderately complex,

• 5 (large): complex,

• 13 (very large): high degree of complexity,

• 100 (much too large): requires re-estimation

Estimating with Scrum Poker (cont.)

5/12/2016 [email protected] (734) 474-3303 32

Copyright © 2016 [Donald Mark Haynes]. All Rights Reserved.

Outliers are discussed: High & low #’s are explained

Repeat the estimate until a consensus is reached

User story estimates which are too large are kicked for further evaluation

Keep the discussion brief – only clarify complexity issues

Release Planning Cycle

5/12/2016 [email protected] (734) 474-3303 33

Release Planning Process

5/12/2016 [email protected] (734) 474-3303 34

Copyright © 2016 [Donald Mark Haynes]. All Rights Reserved.

Conduct a release planning session to establish the overall release schedule and features to be delivered

Estimate the items on the list using a modified Scrum Poker session

Identify dependencies – modify the schedule

Release Planning Process (cont.)

5/12/2016 [email protected] (734) 474-3303 35

Copyright © 2016 [Donald Mark Haynes]. All Rights Reserved.

Create a discrete set of prioritize software features to implement

Develop an initial feature list - larger than a User Story but smaller than a project

Keep planning interval short – two to six sprints

Release Planning Process (cont.)

5/12/2016 [email protected] (734) 474-3303 36

Copyright © 2016 [Donald Mark Haynes]. All Rights Reserved.

Create a release plan – a modified Kanban board

Use the previous Releases velocity for the current velocity

The Release plan feeds directly into individual Sprint backlog

Release Planning - Features

5/12/2016 [email protected] (734) 474-3303 37

A Few Agile Metrics

5/12/2016 [email protected] (734) 474-3303 38

Copyright © 2016 [Donald Mark Haynes]. All Rights Reserved.

Keep your metrics simple at first

Delivered Story Point per Feature is a good measure of “Earned Value”

Velocity - measures throughput of a scrum team per iteration. This is rate of delivered story points

Burn-down/ Burn-up chart tracks the completion of work

Delivered Story Point per Feature

5/12/2016 [email protected] (734) 474-3303 39

Copyright © 2016 [Donald Mark Haynes]. All Rights Reserved.

Sprint Velocity

5/12/2016 [email protected] (734) 474-3303 40

Burn Down Chart

5/12/2016 [email protected] (734) 474-3303 41

Why Use Agile?

5/12/2016 [email protected] (734) 474-3303 42

Copyright © 2016 [Donald Mark Haynes]. All Rights Reserved.

Highly responsive to changing customer requests

Adaptive at discovering poorly defined requirements

Permits innovative solutions

Encourages greater collaboration with the client

Speeds up team building & establishing relationships

Story Points improve the estimating process

Closing Thoughts

5/12/2016 [email protected] (734) 474-3303 43

Copyright © 2016 [Donald Mark Haynes]. All Rights Reserved.

Identify the theme for the release and the sprint

Identify and remove impediments

Obtain frequent stakeholder input & feedback

Demonstrate value at the end of each Sprint

Write thinner User stories, with Story Point’s at 1 or 3

Closing Thoughts (cont.)

5/12/2016 [email protected] (734) 474-3303 44

Copyright © 2016 [Donald Mark Haynes]. All Rights Reserved.

Track daily progress visually with tools & metrics

Continuously improve the Agile processes

Do not blend Waterfall & Agile methodologies

All user stories need an acceptance test

Empower small, cross-functional teams

Always work on communication issues

Encourage small break-out sessions

Questions & Answers

5/12/2016 [email protected] (734) 474-3303 45

Copyright © 2016 [Donald Mark Haynes]. All Rights Reserved.

Appendix A Few Flavors of Agile

5/12/2016 [email protected] (734) 474-3303 46

Copyright © 2016 [Donald Mark Haynes]. All Rights Reserved.

Scrum

Test Driven Development

Feature Driven Development

Design Driven Development

Acceptance Test Driven Development

Extreme Programming (XP)

Dynamic System Development Model (DSDM)

Lean Development (LD)

Test Driven Design

5/12/2016 [email protected] (734) 474-3303 47

Developer writes an automated test that defines a desired improvement

Produced the minimum amount of code to pass the test.

Refactors the new code to acceptable standards

Test Driven Design

5/12/2016 [email protected] (734) 474-3303 48

Copyright © 2016 [Donald Mark Haynes]. All Rights Reserved.

Add a test - new features begins with writing a test

Clearly understand each new feature requirement

Write Use cases or User Stories

Run all tests – validate the test harness

Write some code - in order to pass the test

Run tests

Refactor code – clean up the growing code base

Repeat

Feature Driven Development

5/12/2016 [email protected] (734) 474-3303 49

Copyright © 2016 [Donald Mark Haynes]. All Rights Reserved.

A client-centric, architecture-centric methodology

Short, iterative, feature driven life cycles

Five processes:

Develop an overall model,

Build a features list,

Plan by features,

Design by feature,

Build by feature

Acceptance Test-Driven Development

5/12/2016 [email protected] (734) 474-3303 50

Copyright © 2016 [Donald Mark Haynes]. All Rights Reserved.

Based on communication between the business customers, the developers, and the testers

Processes aid developers and testers understand the customer’s needs prior to implementation

Related to Test-Driven Development. Emphasis on developer-tester-business customer collaboration

Highlights writing acceptance tests before developers begin coding

Extreme Programming

5/12/2016 [email protected] (734) 474-3303 51

Copyright © 2016 [Donald Mark Haynes]. All Rights Reserved.

Small releases – two week sprints

Simple Design – only code necessary to achieve desired results

Testing – done consistently throughout process

Refactoring – Improve design at every stage of development

Pair Programming – code written by a pair of programmers

Lean Development

5/12/2016 [email protected] (734) 474-3303 52

Copyright © 2016 [Donald Mark Haynes]. All Rights Reserved.

Eliminate Waste

Amplify Learning

Decide as Late as Possible

Empower the Team

Build Integrity In

See the Whole

Visualize the workflow

Lead using a team approach

Reduce the Batch Size of your Efforts

Learn and improve continuously

5/12/2016 [email protected] (734) 474-3303 53

Kanban

Copyright © 2016 [Donald Mark Haynes]. All Rights Reserved.