Transcript
Page 1: Extreme Programming for ETL and Data Analytics

eXtremeProgramming for ETL

Agile Pune 2014_________________________

Prafulla Girgaonkar [@pgirgaonkar]Naresh Jain [@nashjain]Illustration: Umesh Kale

Page 2: Extreme Programming for ETL and Data Analytics

25YEARS 6000+CLIENTS Nr 1M ROOMS 94COUNTRIES 95%+

ago we started

helping clients

manage their

revenue

later we’re still finding

the revenue opportunity

in every situation

around the world are

priced every single day

using IDeaS

on 6 continents have

hotels that now run

on IDeaS Revenue

Management

Systems

More than 95

percent of all

our clients are

still working

with us today.

About IDeaS

Page 3: Extreme Programming for ETL and Data Analytics

ETL

DECISION

IP

PMS/CRS

Competitor

WebRate

Social Media

Periodically or

Real Time

Full or

Delta

Messages or

File

****

ETL & IDEAS

Page 4: Extreme Programming for ETL and Data Analytics

Concept Exploration

Structuring Requirements

Discovery

Earlier ETL Practices

Page 5: Extreme Programming for ETL and Data Analytics

Concept Data Exploration “Structurization”

ETLDevelopment

Certification GA

Typical Development Cycle on an ETL Project

Page 6: Extreme Programming for ETL and Data Analytics

Vendor

IDEAS

Development

Earlier ETL Practices

Page 8: Extreme Programming for ETL and Data Analytics

Challenges and Flaws

Page 9: Extreme Programming for ETL and Data Analytics

Challenges and Flaws

Page 10: Extreme Programming for ETL and Data Analytics

Challenges and Flaws

Page 11: Extreme Programming for ETL and Data Analytics

Challenges and Flaws

Page 12: Extreme Programming for ETL and Data Analytics

Challenges and Flaws

Time

Discovery Development

Page 13: Extreme Programming for ETL and Data Analytics

Challenges and Flaws

Source : http://roselawgroupreporter.com/

Page 14: Extreme Programming for ETL and Data Analytics

Challenges and Flaws

Page 15: Extreme Programming for ETL and Data Analytics

Requirement Conformity

Requirement Misunderstanding

Late Data Change

Delays

API Performance

Priorities

Challenges and Flaws - Vendor

Page 16: Extreme Programming for ETL and Data Analytics

Naresh Jain

• nareshjain.com

• @nashjain

Page 17: Extreme Programming for ETL and Data Analytics

Prafulla S Girgaonkar

Product Development for

Hospitality | Revenue Optimization | Finance

[email protected]

@pgirgaonkar

Page 18: Extreme Programming for ETL and Data Analytics

Journey

Hilstar Opera Pegasus

Page 19: Extreme Programming for ETL and Data Analytics

Old Approach

Page 20: Extreme Programming for ETL and Data Analytics

Existing Approach - Iterative & Incremental Approach

Page 21: Extreme Programming for ETL and Data Analytics

Initial XP Practices - Hilstar

Page 22: Extreme Programming for ETL and Data Analytics

DBA

QA

DEV PM

UX

Initial XP Practices – Whole Team

Source: http://www.selfishprogramming.com/

BO

KM

Page 23: Extreme Programming for ETL and Data Analytics

Iteration #1 Iteration #2 Iteration #3

Initial XP Practices – Small Releases

Page 24: Extreme Programming for ETL and Data Analytics

Initial XP Practices - Continuous Integration

Page 25: Extreme Programming for ETL and Data Analytics

Initial XP Practices – User Story

Page 26: Extreme Programming for ETL and Data Analytics

Evolution of the Practices… OPERA

Source: http://www.freedomchurchunited.org/

Page 27: Extreme Programming for ETL and Data Analytics

Evolution of the Practices - Pairing

Page 28: Extreme Programming for ETL and Data Analytics

Evolution of the Practices – Planning/Grooming

Source: http://www.h4-entertainment.com/

Page 29: Extreme Programming for ETL and Data Analytics

Evolution of the Practices – Test Driven Development

Page 30: Extreme Programming for ETL and Data Analytics

Evolution of the Practices – Refactoring

Page 31: Extreme Programming for ETL and Data Analytics

Evolution of the Practices – Coding Standards

Page 32: Extreme Programming for ETL and Data Analytics

Evolution of the Practices – Collective Ownership

Page 33: Extreme Programming for ETL and Data Analytics

Evolution of the Practices – Simple Design

Page 34: Extreme Programming for ETL and Data Analytics

• The customer is always available

• Code the unit test first

• Leave optimization for later

Evolution of the Practices – Optimization at the End

Page 35: Extreme Programming for ETL and Data Analytics

Write a TEST before FIXING the BUG

Evolution of the Practices – Test Driven Bug Fixing

Page 36: Extreme Programming for ETL and Data Analytics

Further…Evolution of the Practices… Pegasus

Page 37: Extreme Programming for ETL and Data Analytics

Data Management

4GLMACROS

PROCS FUNCTIONS

Learn SAS 4gl @

http://support.sas.com/software/products/ondemand-

academics/

Further…Evolution of the Practices – SAS 4GL

Page 38: Extreme Programming for ETL and Data Analytics

Further…Evolution of the Practices – Earlier Code

Page 39: Extreme Programming for ETL and Data Analytics

No Unit testNo Build

Integration

Language Unawareness

Discover the Tool

SASUNIT

Further…Evolution of the Practices – Testability

Page 40: Extreme Programming for ETL and Data Analytics

Further…Evolution of the Practices – Code Later

Page 41: Extreme Programming for ETL and Data Analytics

Part of build Process

Fail Fast

Further…Evolution of the Practices – Build Process Correction

Page 42: Extreme Programming for ETL and Data Analytics

Integrated With Jenkins

Fail Fast

Fail Reports

Further…Evolution of the Practices – Jenkins for SASUNIT

Page 43: Extreme Programming for ETL and Data Analytics

Engineering Practices are always at the core.

Tools May not be there.

There is WILL, there is WAY

CRUX

Page 44: Extreme Programming for ETL and Data Analytics

Benefits

Source: http://flickr.com

Page 45: Extreme Programming for ETL and Data Analytics

Source: http://docustar.com/blog/quality-check-is-99-9-good-enough/

Benefits –

Page 46: Extreme Programming for ETL and Data Analytics

Source: http://www.ftjco.com/wp-content/uploads/2012/10/diamonds.jpg

Benefits

Page 47: Extreme Programming for ETL and Data Analytics

Benefits

Page 48: Extreme Programming for ETL and Data Analytics

Benefits

Page 49: Extreme Programming for ETL and Data Analytics

Benefits

Relative Time

Hilstar Opera Pegasus

Page 50: Extreme Programming for ETL and Data Analytics

UNIT Test …UNIT Test …UNIT Test …

Source: www.topnews.in

Benefits

Page 51: Extreme Programming for ETL and Data Analytics

Source: http://en.wikipedia.org/wiki/Cello

Benefits

Page 52: Extreme Programming for ETL and Data Analytics

Change Management

Source: http://www.animalnational.com/monarch-butterfly-migration/

Page 53: Extreme Programming for ETL and Data Analytics

Change Management – Usual Reactions

Source: http://ericgerlach.com/introphilosophy8/

DEVs | QAs | POs | BOs

Page 54: Extreme Programming for ETL and Data Analytics

Change Management – Looking for Rituals

Source: http://www.theguardian.com/books/2014/apr/27/reading-print-books-ereaders-technology

DEVs | QAs | POs | BOs

Page 55: Extreme Programming for ETL and Data Analytics

Courtesy: Jeff Patton

Change Management – Smaller Release/Stories were Shaker

DEVs | QAs | POs | BOs

Page 56: Extreme Programming for ETL and Data Analytics

Change Management – Incremental Development

DEVs | QAs | POs | BOs

Page 57: Extreme Programming for ETL and Data Analytics

Change Management – Story Map

DEVs | QAs | POs | BOs

Page 58: Extreme Programming for ETL and Data Analytics

Change Management – Spikes were new

Source: http://www.kitchology.com/

DEVs | QAs

Page 59: Extreme Programming for ETL and Data Analytics

Change Management – CI & Failing Builds

DEVs | QAs

Page 60: Extreme Programming for ETL and Data Analytics

Change Management – Pairing

Source: https://www.airpair.com/mean-stack/posts/2014-10-job-post-mean-stack-developer

DEVs | QAs

Page 61: Extreme Programming for ETL and Data Analytics

Change Management – Team Ownership

DEVs | QAs

Source: https://dilbert.com

Page 62: Extreme Programming for ETL and Data Analytics

Change Management – Testers part of Design Discussion

Source: http://www.mercatornet.com/articles/view/health_economics_101_contraceptives_pay_for_themselves_usually_babies_dont

DEVs | QAs

Page 63: Extreme Programming for ETL and Data Analytics

Change Management – Defect are discussed; not entered

QAsSource: http://letstalkaboutdiscussion.ca/

Page 64: Extreme Programming for ETL and Data Analytics

Change Management – Test Automation

QAsSource: http://www.mobileqazone.com/profiles/blogs/software-testing-by-human-or-machine-what-should-shouldn-t-be

Page 65: Extreme Programming for ETL and Data Analytics

Road Ahead

Source: http://www.gettyimages.in/

Page 66: Extreme Programming for ETL and Data Analytics

Engineering Practice - Refactoring / Managing Code Smells

Source: www.123rf.com

Page 67: Extreme Programming for ETL and Data Analytics

• Engineering Practice - Simple Design & Solving critical

challenges by taking them out of context

Road Ahead - Engineering Practice – Simple Design

Source: http://flickr.com/

Page 68: Extreme Programming for ETL and Data Analytics

• Engineering Practice - Simple Design & Solving critical

challenges by taking them out of context

Road Ahead - Engineering Practice –Sandbox

Source: http://ifum.com/

Page 69: Extreme Programming for ETL and Data Analytics

Road Ahead - Engineering Practice - Evolutionary Design Extended

Source: http://nordicedge.com/

Page 70: Extreme Programming for ETL and Data Analytics

Road Ahead - Engineering Practice – Programming skills and polyglot

Page 71: Extreme Programming for ETL and Data Analytics

Road Ahead - Real Time Integration

Page 72: Extreme Programming for ETL and Data Analytics

WE I JAD

Road Ahead - Joint Application development with Vendor

Source: http://www.p-r-i.org/nadcap/nadcap-meetings/

Page 73: Extreme Programming for ETL and Data Analytics

Take Away

• Engineering Practices are universal

– determination and perseverance

• XP Practices lead to T-Shaped individual or

Generalizing Specialist

• Product Discovery & Story Mapping vital for

Alignment.

Page 74: Extreme Programming for ETL and Data Analytics

Prafulla Girgaonkar [@pgirgaonkar]Naresh Jain [@nashjain]Illustration: Umesh Kale

Session Ends.. Efforts Continue…


Top Related