Teradata—Agile Development for Analytics

37
Teradata—Agile Development for Analytics Tom Russell, Director Agile, Lean, DevOps COE May 8, 2017

Transcript of Teradata—Agile Development for Analytics

Page 1: Teradata—Agile Development for Analytics

Teradata—Agile Development for AnalyticsTom Russell, Director Agile, Lean, DevOps COE

May 8, 2017

Page 2: Teradata—Agile Development for Analytics

2 © 2017 Teradata

• Leader in Data Warehousing and Business Analytics

• Our Group—Professional Services and Customer Services

• Big data—First terabyte database nearly 30 years ago

• Great culture

• Industry changed• Substitute products

• Movement away from big IT implementations

• Leader in Agile DevOps Development

Page 3: Teradata—Agile Development for Analytics

3

Agile, Lean, DevOps COE—Capabilities

© 2017 Teradata

Scrum Training and Certification

Kanban—Lean Kanban University

Scrum—Scrum Institute—CSM, CSPO Scrum—Scrum.org—PSM, PSPO Scrum training (WBT)Product Owner Training

2 trainers

9 AKT trainers (KMP, TKP)

2 certified

1 certified

Specialized Analytics Training100 + artifactsAgile for Analytics Practitioner certificateAgile for Analytics Coach accreditation

Scaled Agile Framework

DevOps Institute

Agile Development for Analytics PMI Agile

Entire team certified

10 trainers

Page 4: Teradata—Agile Development for Analytics

4

Agenda

© 2017 Teradata

• Agile Development for Analytics compared to Agile Software Development

• What is Agile Development? Why is it valuable?

• The key innovation

• Kanban applied

• Continuous Integration/Continuous Delivery

• Metrics

Page 5: Teradata—Agile Development for Analytics

5 © 2017 Teradata

Agile Development for AnalyticsCompared to Agile Software Development

Page 6: Teradata—Agile Development for Analytics

6

Business Analytics

© 2017 Teradata

• By business analytics, we mean technology-based solutions that are built to analyze a company’s business for strategic, tactical and operational decision making.

• This is distinguished from technologies (applications) used to run day to day operations.

• Business analytics involves the bringing together of analytic methods and data management technology (ingestion, integration and transformation) to address continually emerging and changing business needs.

Page 7: Teradata—Agile Development for Analytics

7

Distinctions Concerning Agile Delivery for Analytics

© 2017 Teradata

1. All of the concepts of Agile were started in software development. 2. The acquisition, transformation and usage of data is far more complex in

analytics. 3. System development life cycles are more complex for Analytics due to the

nature of the data.4. The software development market is also further along in the integration of

toolchains and automation for test and code generation. 5. The most popular form of “agile” in analytics was (and may still be) Scrum for

Waterfall.6. Agile for Software Development is different than Agile for Analytics.

Page 8: Teradata—Agile Development for Analytics

8

Distinctions—Agile for Software Development

If I’m creating a ecommerce website, I’ll create potentially shippable features for product pages, a shopping cart, order placement, a search bar, a checkout process, a completed order.

Page 9: Teradata—Agile Development for Analytics

9

Agile Development for AnalyticsComponents of Solution

Page 10: Teradata—Agile Development for Analytics

10

My tools Real dataMy analytics

Working Analytic Solutions

A working analytic solution is the users’ analytics, with their tools,

using real data, with enough scope to be meaningful.

12

3 4

Page 11: Teradata—Agile Development for Analytics

11 © 2017 Teradata

What is Agile Development?Why is it valuable?

Page 12: Teradata—Agile Development for Analytics

12

Agile Enablement

Agile

Agile Development for Analytics

© 2016 Teradata

Incremental Delivery

Page 13: Teradata—Agile Development for Analytics

13

Agile Defining Qualities

© 2017 Teradata

1. Empower and welcome changing requirements to address real business needs.2. Early and frequent delivery of business value in the form of working analytic

solutions to solicit feedback, adapt and demonstrate what is possible.3. Design, development, integration, delivery and deployment excellence to create a

sustainable, predictable and fast delivery cadence.

Agile Enablement Defining Qualities1. Incremental production delivery of data components that enable analytic solutions.2. Product increments are mapped to prioritized analytic solutions to optimize

business value throughput.3. Design, development, integration, delivery and deployment excellence to create a

sustainable, predictable and fast delivery cadence.

Page 14: Teradata—Agile Development for Analytics

14

AgileEnablement

Agile

Agile Development

© 2016 Teradata

Incremental Delivery

New DevelopmentRemediation Experimentation Sustainment

Integration, Delivery, Deployment

Business-Driven Requirements Prototype

Page 15: Teradata—Agile Development for Analytics

15 © 2017 Teradata

The Key Innovation

Page 16: Teradata—Agile Development for Analytics

16

Solution Prototyping

© 2017 Teradata

Page 17: Teradata—Agile Development for Analytics

17

Output from Prototyping Sprint

For Sprint Review:Three dimensional models38 tables402 columnsMicrostrategy dashboards

Requirements for Build:Data Landing prototype *Full Access Layer prototypeFull Application prototypeIdentification of data quality issuesIdentification of transformations#No “non-value creating work”

Resources:7 people 4 weeks (20 business days)

Page 18: Teradata—Agile Development for Analytics

18

Board for Solution Prototyping

© 2017 Teradata

Page 19: Teradata—Agile Development for Analytics

19 © 2017 Teradata

Kanban Applied

Page 20: Teradata—Agile Development for Analytics

20

A Simple Breakdown of Work

Demand Management

Prototype Solution(Optional)

Optimize Build and Release

Leverage Reuse and Integrate Data

1 2 3

4

Page 21: Teradata—Agile Development for Analytics

21

Define Work—Visualize WorkProgram Initiative

Project Capability

Epic

Analytic Use

Case

User Story

Solution Enabler

Landing Work Item

IDL Work Item

Access Work Item

Application Work Item

DevDefect Issue Prod

Defect

Solution (Prototype)

Task

1

3

40

122

380

3768

Page 22: Teradata—Agile Development for Analytics

22

Demand Management

© 2017 Teradata

Demand Management• Defer intention and commitmentDefinition of DoneDecompose workSelectHistorical analysis to identify SLAsManage variabilityBusiness value analysisUnderstand failure demand

Decomposition

Pool of Options

Selected

Commitment Point

Examples of Methods Employed

Page 23: Teradata—Agile Development for Analytics

23

Service Delivery—Build and ReleaseBuffer for Release

Com

mit to Build

Landing ServiceIntegrated Data Layer Service

Access Layer Service Application Service

Shared Services(e.g., Data Modeling)

Page 24: Teradata—Agile Development for Analytics

24

Service Delivery—Build and Release Example Methods Employed

© 2017 Teradata

Workflow OptimizationDrives incremental developmentVisualizes Workflow and ProcessNo time-boxUse Pull SystemLimit Work-in-ProgressMakes Policies Explicit Reduce Waste (typically delay)Manage Flow Identify and address constraintsConcurrent workImplement Feedback Loops Manage Dependencies

Technical ExcellenceArchitectural trade-off analysisArchitectural runwayPattern-driven developmentTest-driven developmentRoot cause analysisAutomationShift LeftToolchain

Service DeliverySupport specialization Primary ServicesShared servicesOffshore friendlySupports factory approachMinimally disruptiveManage work/not rolesQueues up work from

prototyping service

Page 25: Teradata—Agile Development for Analytics

25

Analytics Factory Model

Page 26: Teradata—Agile Development for Analytics

26 © 2017 Teradata

Continuous Integration/Continuous Delivery

Page 27: Teradata—Agile Development for Analytics

27

Continuous Integration/Continuous Delivery

Developers create code and objects

Commit into Version control

triggers package build and QA

checks are performed

Code is committed into Version

Control

Package is deployed into test

environmentsAnd tests are

executed

Test results are monitored and published on a

dashboard

Packages deployed to production.

Automated

Built in quality control at each stage ensures that defects “fail fast” at the cheapest and easiest place to fix

Page 28: Teradata—Agile Development for Analytics

28

Workflow/Toolchain Modeling and Gap Analysis

© 2017 Teradata

PredevelopedData Models

Design

Crea

te S

ourc

e Ke

y M

odel

Crea

te L

andi

ng L

ogic

al/

Phys

ical

Mod

el

Data Modeling

Dev &Test Continuous Integration Feedback Deploy & Test Deploy & Test Feedback Deploy

Crea

te O

pera

tiona

l Im

age

Logi

cal /

Phy

sical

Mod

el

Gene

rate

DDL

for A

cqui

sitio

n La

yer

Initi

ate

Mer

ge c

hang

e re

ques

t

Ope

n Ti

cket

s for

faile

d Te

st

Scrip

ts, i

f any

Ope

n Ti

cket

s for

faile

d Te

st

Scrip

ts, i

f any

Pre-Defined Test case library

Data Mapping

Crea

te m

appi

ngs f

or

Acqu

isitio

n La

yer

Tech. Specs

Crea

te T

echn

ical

Sp

ecifi

catio

ns D

ocum

ent

DDL Generator

Version Control

Crea

te n

ew “

bran

ch”

Acqu

ire /

Deve

lop

Uni

t, SI

T,

and

CI S

crip

ts (T

DD)

Test Automation

Exec

ute

Uni

t, SI

T, a

nd C

I Sc

ripts

(TDD

)

Code Generator

Deve

lop

/ Ref

acto

r ELT

Cod

e

CI Server

Chec

k-in

new

cod

e

Prov

ision

Tem

pora

ry

Prod

uctio

n-lik

e En

viro

nmen

t

Exec

ute

CI T

est S

crip

ts

Agile Lifecycle Management

Acce

pt /

Reje

ct n

ew c

hang

e

Deploy

Depl

oy n

ew c

hang

es to

Sh

ared

Dev

elop

men

t

Exec

ute

SIT

scrip

ts

Exec

ute

CI sc

ripts

Depl

oy to

Tes

t Env

ironm

ent

Exec

ute

SIT

scrip

ts

Exec

ute

CI sc

ripts

Exec

ute

UAT

scrip

ts

Exec

ute

Perf

orm

ance

/ Vo

lum

e sc

ripts

Ensu

re a

ll Te

st sc

ripts

hav

e pa

ssed

Ope

n Ti

cket

s for

faile

d Te

st

Scrip

ts, i

f any

Depl

oy to

Pro

duct

ion

Envi

ronm

ent

Toolchain(Defined by categories of tool types)

Workflow Optimization(Kanban)

Artifacts(Component inputs and outputs)

Page 29: Teradata—Agile Development for Analytics

29

Types of Releases

Traditional Release• Big-bang release at the end

Function-based Release• Accumulate work until it becomes a complete solution

Time-based Release• Regardless of component, work will be released on defined period

On-demand Release• Release based on class of service i.e. anytime

Leve

ls of

mat

urity

Agi

lity

Continuous Release• Automated release happens when enabling components pass all tests

Page 30: Teradata—Agile Development for Analytics

30 © 2017 Teradata

Metrics

Page 31: Teradata—Agile Development for Analytics

31

Kanban Enables Rich Performance Improvement Metrics

© 2017 Teradata

Work Columns(In Progress)

Wait Columns(Completed or Done)

Page 32: Teradata—Agile Development for Analytics

32

Measuring Everything

© 2017 Teradata

Business Value Throughput

Work in Progress

Work Item Throughput

Cycle and Lead Time

Capacity and Utilization

Resource Costs

Forecasting and Actuals

Reuse

Page 33: Teradata—Agile Development for Analytics

33

The Comparative Model—Evolutionary Change

© 2017 Teradata

WaterfallIncremental

DeliveryWorkflow

OptimizationSolution

PrototypingContinuous

DeliveryFollow the

SunSolutions Delivered 42 42 42 42 42 42 Sprints 7.0 7.0 7.0 Lead Time for Sprint Solutions (Weeks) 4.0 4.0 4.0 Avg Solutions per Sprint 6.0 6.0 6.0 Tables per Sprint 38.0 38.0 38.0 Columns per Sprint 402.0 402.0 402.0 Avg Work Time (Weeks) 2.3 1.3 1.0 0.8 0.8 Avg Wait Time (Weeks) 4.9 3.0 2.6 2.2 1.4 Replentish Wait Time (Weeks) 2.0 0.5 0.0 0.0 0.0 Avg Customer Lead Time (Weeks) 65.2 9.2 4.8 3.6 3.0 2.2Flow Efficiency 25% 27% 28% 27% 36%Avg Work-in-Progress (Components) 102.0 33.6 16.1 16.1 16.1 16.1First Commitment Point 12.8 12.8 12.8 10.0 10.0 10.0Time to first Delivery (Weeks) 78.0 22.0 22.0 15.1 14.7 13.9Delivery Rate (pre week) 0.8 2.8 3.2 3.6 4.0Initial Project Duration 78.0 78.0 50.0 41.6 36.6 26.8Rework Duration (Weeks) 20.0 2.0 1.0 1.0 1.0 1.0Rel Business Value/ Solution 21,429 34,286 34,286 89,762 89,762 89,762 Relative Business Value 900,000 1,440,000 1,440,000 3,770,000 3,770,000 3,770,000 Total Cost 1,118,205 890,000 570,513 474,667 417,707 417,707 Business Value/Cost -20% 62% 152% 694% 803% 803%

Page 34: Teradata—Agile Development for Analytics

34

The Comparative Model—Evolutionary Change

© 2017 Teradata

WaterfallIncremental

DeliveryWorkflow

OptimizationSolution

PrototypingContinuous

DeliveryFollow the

SunSolutions Delivered 42 42 42 42 42 42 Sprints 7.0 7.0 7.0 Lead Time for Sprint Solutions (Weeks) 4.0 4.0 4.0 Avg Solutions per Sprint 6.0 6.0 6.0 Tables per Sprint 38.0 38.0 38.0 Columns per Sprint 402.0 402.0 402.0 Avg Work Time (Weeks) 2.3 1.3 1.0 0.8 0.8 Avg Wait Time (Weeks) 4.9 3.0 2.6 2.2 1.4 Replentish Wait Time (Weeks) 2.0 0.5 0.0 0.0 0.0 Avg Customer Lead Time (Weeks) 65.2 9.2 4.8 3.6 3.0 2.2Flow Efficiency 25% 27% 28% 27% 36%Avg Work-in-Progress (Components) 102.0 33.6 16.1 16.1 16.1 16.1First Commitment Point 12.8 12.8 12.8 10.0 10.0 10.0Time to first Delivery (Weeks) 78.0 22.0 22.0 15.1 14.7 13.9Delivery Rate (pre week) 0.8 2.8 3.2 3.6 4.0Initial Project Duration 78.0 78.0 50.0 41.6 36.6 26.8Rework Duration (Weeks) 20.0 2.0 1.0 1.0 1.0 1.0Rel Business Value/ Solution 21,429 34,286 34,286 89,762 89,762 89,762 Relative Business Value 900,000 1,440,000 1,440,000 3,770,000 3,770,000 3,770,000 Total Cost 1,118,205 890,000 570,513 474,667 417,707 417,707 Business Value/Cost -20% 62% 152% 694% 803% 803%

Page 35: Teradata—Agile Development for Analytics

35

The Comparative Model—Evolutionary Change

© 2017 Teradata

WaterfallIncremental

DeliveryWorkflow

OptimizationSolution

PrototypingContinuous

DeliveryFollow the

SunSolutions Delivered 42 42 42 42 42 42 Sprints 7.0 7.0 7.0 Lead Time for Sprint Solutions (Weeks) 4.0 4.0 4.0 Avg Solutions per Sprint 6.0 6.0 6.0 Tables per Sprint 38.0 38.0 38.0 Columns per Sprint 402.0 402.0 402.0 Avg Work Time (Weeks) 2.3 1.3 1.0 0.8 0.8 Avg Wait Time (Weeks) 4.9 3.0 2.6 2.2 1.4 Replentish Wait Time (Weeks) 2.0 0.5 0.0 0.0 0.0 Avg Customer Lead Time (Weeks) 65.2 9.2 4.8 3.6 3.0 2.2Flow Efficiency 25% 27% 28% 27% 36%Avg Work-in-Progress (Components) 102.0 33.6 16.1 16.1 16.1 16.1First Commitment Point 12.8 12.8 12.8 10.0 10.0 10.0Time to first Delivery (Weeks) 78.0 22.0 22.0 15.1 14.7 13.9Delivery Rate (pre week) 0.8 2.8 3.2 3.6 4.0Initial Project Duration 78.0 78.0 50.0 41.6 36.6 26.8Rework Duration (Weeks) 20.0 2.0 1.0 1.0 1.0 1.0Rel Business Value/ Solution 21,429 34,286 34,286 89,762 89,762 89,762 Relative Business Value 900,000 1,440,000 1,440,000 3,770,000 3,770,000 3,770,000 Total Cost 1,118,205 890,000 570,513 474,667 417,707 417,707 Business Value/Cost -20% 62% 152% 694% 803% 803%

Page 36: Teradata—Agile Development for Analytics

36

The Comparative Model—Evolutionary Change

© 2017 Teradata

WaterfallIncremental

DeliveryWorkflow

OptimizationSolution

PrototypingContinuous

DeliveryFollow the

SunSolutions Delivered 42 42 42 42 42 42 Sprints 7.0 7.0 7.0 Lead Time for Sprint Solutions (Weeks) 4.0 4.0 4.0 Avg Solutions per Sprint 6.0 6.0 6.0 Tables per Sprint 38.0 38.0 38.0 Columns per Sprint 402.0 402.0 402.0 Avg Work Time (Weeks) 2.3 1.3 1.0 0.8 0.8 Avg Wait Time (Weeks) 4.9 3.0 2.6 2.2 1.4 Replentish Wait Time (Weeks) 2.0 0.5 0.0 0.0 0.0 Avg Customer Lead Time (Weeks) 65.2 9.2 4.8 3.6 3.0 2.2Flow Efficiency 25% 27% 28% 27% 36%Avg Work-in-Progress (Components) 102.0 33.6 16.1 16.1 16.1 16.1First Commitment Point 12.8 12.8 12.8 10.0 10.0 10.0Time to first Delivery (Weeks) 78.0 22.0 22.0 15.1 14.7 13.9Delivery Rate (pre week) 0.8 2.8 3.2 3.6 4.0Initial Project Duration 78.0 78.0 50.0 41.6 36.6 26.8Rework Duration (Weeks) 20.0 2.0 1.0 1.0 1.0 1.0Rel Business Value/ Solution 21,429 34,286 34,286 89,762 89,762 89,762 Relative Business Value 900,000 1,440,000 1,440,000 3,770,000 3,770,000 3,770,000 Total Cost 1,118,205 890,000 570,513 474,667 417,707 417,707 Business Value/Cost -20% 62% 152% 694% 803% 803%

Page 37: Teradata—Agile Development for Analytics

37

The Comparative Model—Evolutionary Change

© 2017 Teradata

WaterfallIncremental

DeliveryWorkflow

OptimizationSolution

PrototypingContinuous

DeliveryFollow the

SunSolutions Delivered 42 42 42 42 42 42 Sprints 7.0 7.0 7.0 Lead Time for Sprint Solutions (Weeks) 4.0 4.0 4.0 Avg Solutions per Sprint 6.0 6.0 6.0 Tables per Sprint 38.0 38.0 38.0 Columns per Sprint 402.0 402.0 402.0 Avg Work Time (Weeks) 2.3 1.3 1.0 0.8 0.8 Avg Wait Time (Weeks) 4.9 3.0 2.6 2.2 1.4 Replentish Wait Time (Weeks) 2.0 0.5 0.0 0.0 0.0 Avg Customer Lead Time (Weeks) 65.2 9.2 4.8 3.6 3.0 2.2Flow Efficiency 25% 27% 28% 27% 36%Avg Work-in-Progress (Components) 102.0 33.6 16.1 16.1 16.1 16.1First Commitment Point 12.8 12.8 12.8 10.0 10.0 10.0Time to first Delivery (Weeks) 78.0 22.0 22.0 15.1 14.7 13.9Delivery Rate (pre week) 0.8 2.8 3.2 3.6 4.0Initial Project Duration 78.0 78.0 50.0 41.6 36.6 26.8Rework Duration (Weeks) 20.0 2.0 1.0 1.0 1.0 1.0Rel Business Value/ Solution 21,429 34,286 34,286 89,762 89,762 89,762 Relative Business Value 900,000 1,440,000 1,440,000 3,770,000 3,770,000 3,770,000 Total Cost 1,118,205 890,000 570,513 474,667 417,707 417,707 Business Value/Cost -20% 62% 152% 694% 803% 803%