Individuals and interactions over processes and tools

23
Kelly Weyrauch Agile Quality Systems LLC 2014 Individuals and Interactions over Processes and Tools When Process Matters Scrum Day 2014

description

Presentation from ScrumDay Twin Cities 2014

Transcript of Individuals and interactions over processes and tools

Page 1: Individuals and interactions over processes and tools

Kelly Weyrauch Agile Quality Systems LLC 2014

Individuals and Interactions over Processes and Tools

When Process Matters Scrum Day 2014

Page 2: Individuals and interactions over processes and tools

§ You – Process Perception Poll

§ Me

Introductions

2 Agile Quality Systems 2014

Page 3: Individuals and interactions over processes and tools

§  Individuals and interactions over processes and tools

§  While there is value in the items on the right, we value the items on the left more

§ How much do you value Process?

From the Agile Manifesto

3 Agile Quality Systems 2014

Page 4: Individuals and interactions over processes and tools

Activities of a Software Process IEC 62304 Software Lifecycle Process

4 Agile Quality Systems 2014

SYSTEM development ACTIVITIES (including RISK MANAGEMENT)

Customer needs Customer needs satisfied

7 Software RISK MANAGEMENT

8 Software configuration management

9 Software problem resolution

Activities outside the scope of this standard

5.2Software

requirements analysis

5.1Software

developmentplanning

5.8Software release

5.7Software SYSTEM

testing

5.3Software

ARCHITECTURALdesign

5.4Software detaileddesign

5.6Software integration

and integration testing

5.5Software UNIT

implementation

Page 5: Individuals and interactions over processes and tools

The Systems Engineering Engine

5 Agile Quality Systems 2014

Define Stakeholder Expectations

Validate

Define Requirements Verify

Architect Integrate

Design

System Development Processes

System Design Product Realization

Implement

Adapted from: NASA Systems Engineering Handbook, NASA/SP-2007-6105

Technical Management Processes

Technical Planning

Requirements Management

Interface Management

Risk Management

Configuration Management

Data Management

Page 6: Individuals and interactions over processes and tools

Define Stakeholder Expectations

Validate

Define Requirements Verify

Architect Integrate

Design Implement

A statement of needs, desires, capabilities, and wants that are not expressed as a requirement (not expressed as a “shall” statement)

The agreed-upon need, desire, want, capability…expressed as a “shall”

statement.

Proof of compliance with specifications. Verification may be

determined by test, analysis, demonstration, or inspection.

(“Did you build the thing right?”)

Proof that the product accomplishes the intended purpose. Validation

may be determined by a combination of test, analysis, and

demonstration. (“Did you build the right thing?”)

Integration = Build, assemble, connect, gather, etc.

Integration Test = Show it was built properly. (Examples: Compiler checks, Static Analysis, “Smoke Test”, Regression Tests.) Might overlap with “Verify” activities.

Physical Arch = The next-level subsystems/components

Functional Arch = Features, Functions, Organization of the requirements

Operational Arch = Allocate requirements to the next-level subsystems

Decisions about the solution to be implemented, which become requirements for the next-level subsystems/components. Example: Interface definition/specification.

Next-Level Design, Build, Buy, Re-Use

(Write the code Unit-Test the code)

Activities of System / Software Development

Agile Quality Systems 2014 6

Page 7: Individuals and interactions over processes and tools

§ Each Activity: § Consumes Inputs § Produces Outputs (documents,

work products, evidence) §  Is guided by Acceptance Criteria § Uses tools & techniques §  Is performed by somebody

(owner/author, reviewer/approver)

Process: Activities & Deliverables

7 Agile Quality Systems 2014

Define Stakeholder Expectations

Validate

Define Requirements Verify

Architect Integrate

Design Implement

Page 8: Individuals and interactions over processes and tools

What Kind of Software Do You Create?

8 Agile Quality Systems 2014

Page 9: Individuals and interactions over processes and tools

Process at Each Level

9 Agile Quality Systems 2014

Define Requirements Verify

Architect Build the Application

Design

Verify the Code (Review, Unit

Test)

Write the Code

Define Stakeholder Expectations

Validate

Define Requirements Verify

Architect

Test the Integration

Install / Deploy

Test the Integration

Page 10: Individuals and interactions over processes and tools

How Agile Are You?

10 Agile Quality Systems 2014

Page 11: Individuals and interactions over processes and tools

Scaled Agile Framework™ Big Picture

Page 12: Individuals and interactions over processes and tools

§ Oil and Water?

§ Hand in Glove?

§ Rye, yet Whole Wheat?

Agile & Process?

12 Agile Quality Systems 2014

Page 13: Individuals and interactions over processes and tools

Build the Application

Test the Integration

Install / Deply

Test the Integration

Requirements & Stories

13 Agile Quality Systems 2014

Story

Define Requirements Verify

Architect

Design

Verify the Code (Review, Unit

Test)

Write the Code

Define Stakeholder Expectations

Validate

Define Requirements Verify

Architect

BACKLOG

Story

Story

Story

Story

Page 14: Individuals and interactions over processes and tools

§ Stories, with their description and Acceptance Criteria come from: § Stakeholder Expectations § Requirements

§ But how “done” are they, should they be? § Thoughts? Written? Reviewed & Approved? § A whim to be proven? A solid idea that might change?

Locked down? § Answer is determined by business risk § Addressed when Story is written § Addressed again at Sprint Planning

Requirements & Stories

14 Agile Quality Systems 2014

Page 15: Individuals and interactions over processes and tools

Build the Application

Test the Integration

Install / Deploy

Test the Integration

Delivering a Story

15 Agile Quality Systems 2014

Story

Define Requirements Verify

Architect

Design

Verify the Code (Review, Unit

Test)

Write the Code

Define Stakeholder Expectations

Validate

Define Requirements Verify

Architect

BACKLOG

Story

Story

Story

Story

Page 16: Individuals and interactions over processes and tools

§ Process requirements have been satisfied §  Requirements §  Architecture §  Design §  Code §  Unit-level Verification §  Integration & Integration Test §  Software Verification

§ Applicability and done-ness determined in Story creation and Sprint Planning

Delivering a Story – Done means Done

16 Agile Quality Systems 2014

Page 17: Individuals and interactions over processes and tools

§ Change Management Records § As part of each Story’s Acceptance Criteria § Change Management Record documents the Story’s

Plan for what processes apply § Change Management Record completed as part of the

Story’s completion, with whatever evidence your process requires for demonstrating the process has been followed

Delivering a Story – Done means Done

17 Agile Quality Systems 2014

Page 18: Individuals and interactions over processes and tools

§  Incurred when you can’t (won’t?) complete all process activities for a Story § Examples?

§ Managed by: § Putting the Story (or a piece of it) back on the Backlog § Debt Reduction Stories

Technical Debt

18 Agile Quality Systems 2014

Page 19: Individuals and interactions over processes and tools

Completing a Sprint The Demo

19 Agile Quality Systems 2014

Story

Define Requirements Verify

Architect

Design

Verify the Code (Review, Unit

Test)

Write the Code

Define Stakeholder Expectations

Validate

Define Requirements Verify

Architect

BACKLOG

Story

Story

Story

Story

Sprint

Build the Application

Test the Integration

Install / Deploy

Test the Integration

Page 20: Individuals and interactions over processes and tools

Build the Application

Test the Integration

Install / Deploy

Test the Integration

Potentially Shippable Increment

20 Agile Quality Systems 2014

Story

Define Requirements Verify

Architect

Design

Verify the Code (Review, Unit

Test)

Write the Code

Define Stakeholder Expectations

Validate

Define Requirements Verify

Architect

BACKLOG

Story

Story

Story

Story

Sprint

Sprint

Release

§  “Sum-of-the-Parts” Reviews (Approvals)

§  “Formal Build” (as opposed to a fake one?)

§  “Formal Verification” (as opposed to informal?)

§  Regression Tests (if they weren’t already run)

§  Exploratory Testing §  Debt Reduction

Page 21: Individuals and interactions over processes and tools

§ Sprint & Increment Plans identify the process steps needed to be “done” §  “Sum-of-the-Parts” Reviews (Approvals) §  “Formal Build” (as opposed to a fake one?) §  “Formal Verification” (as opposed to informal?) § Regression Tests (if they weren’t already run) § Exploratory Testing § Debt Reduction

Sprint Planning, PSI Planning

21 Agile Quality Systems 2014

Page 22: Individuals and interactions over processes and tools

§ What’s the difference between a Story and a Bug?

§ What happens when the process is too burdensome?

§ Debt Management § Good debt? § What happens when debt is not managed?

Discussion Provoking Questions

22 Agile Quality Systems 2014

Page 23: Individuals and interactions over processes and tools

Kelly Weyrauch Agile Quality Systems [email protected] 763-688-0980

Want More Disussion?

23 Agile Quality Systems 2014