22
A method to establish concurrent Rapid Development Cycle and High Quality in a Storage Array System Environment Dr. M. K. Jibbe Director of Quality Architect Team NetApp APG [email protected] Kuok Hoe Tan, MTS QA, NetApp APG [email protected]

A method to establish concurrent Rapid Development Cycle and … · 2019. 12. 21. · Rapid Development Cycle and High Quality in a Storage Array System Environment Dr. M. K. Jibbe

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: A method to establish concurrent Rapid Development Cycle and … · 2019. 12. 21. · Rapid Development Cycle and High Quality in a Storage Array System Environment Dr. M. K. Jibbe

2013 Storage Developer Conference. © Insert Your Company Name. All Rights Reserved.

A method to establish concurrent Rapid Development Cycle and High Quality in a Storage Array System

Environment

Dr. M. K. Jibbe Director of Quality Architect Team NetApp APG [email protected]

Kuok Hoe Tan, MTS QA, NetApp APG [email protected]

Page 2: A method to establish concurrent Rapid Development Cycle and … · 2019. 12. 21. · Rapid Development Cycle and High Quality in a Storage Array System Environment Dr. M. K. Jibbe

2013 Storage Developer Conference. © Insert Your Company Name. All Rights Reserved.

Agenda

2

Early validation from early development to full system validation Advance Dev, POC and Prototype

Focused targeted outcome for each phase of the release process New content development and integration Whole product integration (new and existing content validation) Solution targeted validation Key customer product use case validation

Key release metrics to track progress to key outcome for release phases Train metrics, Engineering Quality Index (EQI) and Quality Dashboard

Internalized industry standard best practices and methodologies to form the framework that serves as the foundation to drive continuous improvements for the release process Agile Improvement Framework (Information flow, Business Process Improvement, RCCA

and Retrospectives) Outcome metrics – Defects Overlay Summary and Conclusions

Page 3: A method to establish concurrent Rapid Development Cycle and … · 2019. 12. 21. · Rapid Development Cycle and High Quality in a Storage Array System Environment Dr. M. K. Jibbe

2013 Storage Developer Conference. © Insert Your Company Name. All Rights Reserved.

Early Validation

3

Advance Development Research into new technology to identify new promising areas.

Proof of Concepts Develop proof of concept solutions built on NetApp’s technology that solves critical customer

problems.

Prototype / Spikes Utilize early prototyping to explore viable approaches Identify limitations Data gathering for better work estimation

Page 4: A method to establish concurrent Rapid Development Cycle and … · 2019. 12. 21. · Rapid Development Cycle and High Quality in a Storage Array System Environment Dr. M. K. Jibbe

2013 Storage Developer Conference. © Insert Your Company Name. All Rights Reserved.

Targeted Outcomes For Each Development Phase

4

Boxcar / EIT Stability Acceptance Regression

OEM Pre & Post GA Field

Deliverables Development Integration Stabilization Regression Pre/Post GA Field

Scope New Content Initial integration of content

Stabilize system solutions

Validate Customer Use Cases

Customer Support Customer support

Schedule Schedule Integrity Schedule Integrity Schedule Integrity Schedule Integrity OEM Release Cadence and On Demand Release

Quality Stable New Content Stable Integrated New & Old Content

Stable Branch Stable Shippable Product

Stable Release Stable release

Focus on end deliverable of the entire release Goal is to optimize the release, not each phase (may choose to sub optimize phases) Drives decision making throughout the release

Each phase provides a building block to support the next phase Drives alignment Move the right work to the earlier phases (as much as possible)

Page 5: A method to establish concurrent Rapid Development Cycle and … · 2019. 12. 21. · Rapid Development Cycle and High Quality in a Storage Array System Environment Dr. M. K. Jibbe

2013 Storage Developer Conference. © Insert Your Company Name. All Rights Reserved.

Metrics

5

Internal Development Phase Metrics Balanced Covers scope, schedule, budget and quality

EQI (Engineering Quality Index)

Quality Dashboard

Field issues Critical issues Incident reports On time shipment report Miss-ships report Auto Support

Page 6: A method to establish concurrent Rapid Development Cycle and … · 2019. 12. 21. · Rapid Development Cycle and High Quality in a Storage Array System Environment Dr. M. K. Jibbe

2013 Storage Developer Conference. © Insert Your Company Name. All Rights Reserved.

Internal Development Phase Metrics

Scope Estimated work vs actuals Planned content vs delivered

Schedule Execute to plan metrics (start, complete, major milestones)

Budget Per period (quarterly) spend to plan

Quality Defect discovery timeline

6

Page 7: A method to establish concurrent Rapid Development Cycle and … · 2019. 12. 21. · Rapid Development Cycle and High Quality in a Storage Array System Environment Dr. M. K. Jibbe

2013 Storage Developer Conference. © Insert Your Company Name. All Rights Reserved.

Release Metrics

7

Release Metrics to track the progress of a Train Engineering Quality Index (EQI)

Release EQI Phase EQI

Boxcar, EIT and Regression

Defect Trending Charts Train Projection Charts Build Quality Checker Board Charts Configurations Utilization

Page 8: A method to establish concurrent Rapid Development Cycle and … · 2019. 12. 21. · Rapid Development Cycle and High Quality in a Storage Array System Environment Dr. M. K. Jibbe

2013 Storage Developer Conference. © Insert Your Company Name. All Rights Reserved.

EQI Train Metrics

8

The chart represents the release EQI model At EIT Exit EQI should be >=80 At Regression Exit EQI should be >=95

Page 9: A method to establish concurrent Rapid Development Cycle and … · 2019. 12. 21. · Rapid Development Cycle and High Quality in a Storage Array System Environment Dr. M. K. Jibbe

2013 Storage Developer Conference. © Insert Your Company Name. All Rights Reserved.

EQI Components

9

Story Points / Test Cases (TC) Completion Measures the Feature integration using the Completed and the planned number of Story

Points/Test Cases.

Defect Quality Impact (QI) Customer Impact of the unresolved Defects are measured. This includes all the deferral and

restrictions. Defect QI varies from 0-10, where 10 is the highest customer impact.

Incoming Defect Rate This component measures the Defect Incoming rate normalized by the Test Run execution. This

implies the stability of the release.

Code Coverage

Code Coverage measures the percentage of the source code validated during the module testing. Currently Code Coverage threshold is set at 75%.

Code Change Number of Lines of Code (LOC) Changes since last check point.

Page 10: A method to establish concurrent Rapid Development Cycle and … · 2019. 12. 21. · Rapid Development Cycle and High Quality in a Storage Array System Environment Dr. M. K. Jibbe

2013 Storage Developer Conference. © Insert Your Company Name. All Rights Reserved.

Phase EQI Charts with Defects Overlay

10

Incoming defect counts are overlaid on the phase EQI charts Defect Counts are shown by the

secondary axis

Page 11: A method to establish concurrent Rapid Development Cycle and … · 2019. 12. 21. · Rapid Development Cycle and High Quality in a Storage Array System Environment Dr. M. K. Jibbe

2013 Storage Developer Conference. © Insert Your Company Name. All Rights Reserved.

Train Metrics

11

Projection Metrics Weather chart represent the defect projection of a train Test cases execution of a train can be projected using the second chart illustrated

above

Page 12: A method to establish concurrent Rapid Development Cycle and … · 2019. 12. 21. · Rapid Development Cycle and High Quality in a Storage Array System Environment Dr. M. K. Jibbe

2013 Storage Developer Conference. © Insert Your Company Name. All Rights Reserved.

Sample Schedule Metric

12

Independent Scrum Teams

Page 13: A method to establish concurrent Rapid Development Cycle and … · 2019. 12. 21. · Rapid Development Cycle and High Quality in a Storage Array System Environment Dr. M. K. Jibbe

2013 Storage Developer Conference. © Insert Your Company Name. All Rights Reserved.

The Journey to Agile

13

The Problem Changing requirements are difficult to digest (impacts plan) Late & Complex defects cause delays in product releases Makes the Release cadence unpredictable for customers

The Vision – Regular, repeatable and sustainable release cadence – High-Level requirements are well-known and communicated – But details will be learned along the way – Adapt to new environments and evolving requirements

Page 14: A method to establish concurrent Rapid Development Cycle and … · 2019. 12. 21. · Rapid Development Cycle and High Quality in a Storage Array System Environment Dr. M. K. Jibbe

2013 Storage Developer Conference. © Insert Your Company Name. All Rights Reserved.

Traditional Waterfall Characteristics

14

Requirements Analysis

Design

Coding

Integrate

Test

Deploy

Requirements are known and fixed at beginning of project

The assumption is that the more time spent up front making sure requirements and design are correct will save you much time and effort later

Emphasis on comprehensive documentation early in process

“Big Design Up Front (BDUF)”

Page 15: A method to establish concurrent Rapid Development Cycle and … · 2019. 12. 21. · Rapid Development Cycle and High Quality in a Storage Array System Environment Dr. M. K. Jibbe

2013 Storage Developer Conference. © Insert Your Company Name. All Rights Reserved.

Agile Scrum Framework

15

Page 16: A method to establish concurrent Rapid Development Cycle and … · 2019. 12. 21. · Rapid Development Cycle and High Quality in a Storage Array System Environment Dr. M. K. Jibbe

2013 Storage Developer Conference. © Insert Your Company Name. All Rights Reserved.

Scrum Teams and Sprints

16

Sprint 1 Sprint 2 Sprint 3

Scrum Iteration Plan

■ New product functionality is identified by PRs and ERs which are assigned to

Scrum Teams by the PDT

■ Scrum Teams are responsible for implementing working functionality ■ Scrum Teams deliver working functionality in Sprints time-bound to 4-weeks or

less. Sprints should be the same duration through the scrum development cycle

■ Tested Functionality grows in complexity over time

■ The Scrum Iteration Plan is defined by a sequential series of Sprints, leading to fully implemented and tested functionality ready for a Release Train

Page 17: A method to establish concurrent Rapid Development Cycle and … · 2019. 12. 21. · Rapid Development Cycle and High Quality in a Storage Array System Environment Dr. M. K. Jibbe

2013 Storage Developer Conference. © Insert Your Company Name. All Rights Reserved.

Improvement Framework

17

1 Intra Phase Feedback Loop

2 Intra Train Feed Forward Loop

3 Common Cause Inter Train Feed Forward Loop

4 Special Cause

5 Special Cause Inter Train Feed Forward Loop

Boxcar EIT

Stability Acceptance Regression

OEM Pre & Post GA Field Future Train

Feedback Loop

Page 18: A method to establish concurrent Rapid Development Cycle and … · 2019. 12. 21. · Rapid Development Cycle and High Quality in a Storage Array System Environment Dr. M. K. Jibbe

2013 Storage Developer Conference. © Insert Your Company Name. All Rights Reserved.

Parallel Improvement Frameworks

18

Boxcar EIT

Stability Acceptance Regression

OEM Pre & Post GA Field

Planning Boxcar

EIT Stability Acceptance

Regression OEM Pre &

Post GA Field

Planning Boxcar

EIT Stability

Full Train Feedback Loop

Intra Train Feed forward Loop

Inter Train Feed forward Loop

Special Cause

Process Improvement

Page 19: A method to establish concurrent Rapid Development Cycle and … · 2019. 12. 21. · Rapid Development Cycle and High Quality in a Storage Array System Environment Dr. M. K. Jibbe

2013 Storage Developer Conference. © Insert Your Company Name. All Rights Reserved.

The Results!

19

Shifting Left Defects found earlier in parallel development releases Real time information feed forward to parallel development teams Total defects found relative to the size of each release

Page 20: A method to establish concurrent Rapid Development Cycle and … · 2019. 12. 21. · Rapid Development Cycle and High Quality in a Storage Array System Environment Dr. M. K. Jibbe

2013 Storage Developer Conference. © Insert Your Company Name. All Rights Reserved.

Summary and Conclusions

Alignment of development and QA during the development and certification process

Work smarter and more efficient Allow us to reduce redundancies Accelerate information flow Allow us to reduce redundancies

EQI provides more confidence during phase transitions Achieved regular, repeatable and sustainable release

cadence Shift Left result confirms the benefit of this approach for

concurrent development of a high quality product

20

Page 21: A method to establish concurrent Rapid Development Cycle and … · 2019. 12. 21. · Rapid Development Cycle and High Quality in a Storage Array System Environment Dr. M. K. Jibbe

2013 Storage Developer Conference. © Insert Your Company Name. All Rights Reserved.

Backup

21

Page 22: A method to establish concurrent Rapid Development Cycle and … · 2019. 12. 21. · Rapid Development Cycle and High Quality in a Storage Array System Environment Dr. M. K. Jibbe

2013 Storage Developer Conference. © Insert Your Company Name. All Rights Reserved.

Defects Shifted Left

22

Transition

% o

f Tot

al D

efec

ts

Agile

Agile

Erie (2010)

Fremont (Early 2012)

Galena ( Late 2012)

Shift

% o

f Tot

al D

efec

ts

% o

f Tot

al D

efec

ts

Shift