e xtreme programming for etl and data analytics final

74
eXtreme Programming for ETL Agile Pune 2014 _________________________ Prafulla Girgaonkar [@pgirgaonkar] Naresh Jain [@nashjain] Illustration: Umesh Kale

Upload: prafulla-girgaonkar

Post on 02-Jul-2015

81 views

Category:

Software


0 download

DESCRIPTION

The presentation at AGILE PUNE 2014 conference.

TRANSCRIPT

Page 1: E xtreme programming for etl and data analytics final

eXtremeProgramming for ETL

Agile Pune 2014_________________________

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

Page 2: E xtreme programming for etl and data analytics final

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: E xtreme programming for etl and data analytics final

ETL

DECISIO

N

IP

PMS/CRS

Competitor

WebRate

Social Media

Periodically

or

Real Time

Full

or

Delta

Messages

or

File

*

*

*

*

ETL & IDEAS

Page 4: E xtreme programming for etl and data analytics final

Concept Exploration

Structuring Requirements

Discovery

Earlier ETL Practices

Page 5: E xtreme programming for etl and data analytics final

Concept Data Exploration “Structurization”

ETLDevelopment

Certification GA

Typical Development Cycle on an ETL Project

Page 6: E xtreme programming for etl and data analytics final

Vendor

IDEAS

Development

Earlier ETL Practices

Page 8: E xtreme programming for etl and data analytics final

Challenges and Flaws

Page 9: E xtreme programming for etl and data analytics final

Challenges and Flaws

Page 10: E xtreme programming for etl and data analytics final

Challenges and Flaws

Page 11: E xtreme programming for etl and data analytics final

Challenges and Flaws

Page 12: E xtreme programming for etl and data analytics final

Challenges and Flaws

Time

Discovery Development

Page 13: E xtreme programming for etl and data analytics final

Challenges and Flaws

Source : http://roselawgroupreporter.com/

Page 14: E xtreme programming for etl and data analytics final

Challenges and Flaws

Page 15: E xtreme programming for etl and data analytics final

Requirement Conformity

Requirement Misunderstanding

Late Data Change

Delays

API Performance

Priorities

Challenges and Flaws - Vendor

Page 16: E xtreme programming for etl and data analytics final

Naresh Jain

• nareshjain.com

• @nashjain

Page 17: E xtreme programming for etl and data analytics final

Prafulla S Girgaonkar

Product Development for

Hospitality | Revenue Optimization | Finance

[email protected]

@pgirgaonkar

Page 18: E xtreme programming for etl and data analytics final

Journey

Hilstar Opera Pegasus

Page 19: E xtreme programming for etl and data analytics final

Old Approach

Page 20: E xtreme programming for etl and data analytics final

Existing Approach - Iterative & Incremental Approach

Page 21: E xtreme programming for etl and data analytics final

Initial XP Practices - Hilstar

Page 22: E xtreme programming for etl and data analytics final

DBA

QA

DEV PM

UX

Initial XP Practices – Whole Team

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

BO

KM

Page 23: E xtreme programming for etl and data analytics final

Iteration #1 Iteration #2 Iteration #3

Initial XP Practices – Small Releases

Page 24: E xtreme programming for etl and data analytics final

Initial XP Practices - Continuous Integration

Page 25: E xtreme programming for etl and data analytics final

Initial XP Practices – User Story

Page 26: E xtreme programming for etl and data analytics final

Evolution of the Practices… OPERA

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

Page 27: E xtreme programming for etl and data analytics final

Evolution of the Practices - Pairing

Page 28: E xtreme programming for etl and data analytics final

Evolution of the Practices – Planning/Grooming

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

Page 29: E xtreme programming for etl and data analytics final

Evolution of the Practices – Test Driven Development

Page 30: E xtreme programming for etl and data analytics final

Evolution of the Practices – Refactoring

Page 31: E xtreme programming for etl and data analytics final

Evolution of the Practices – Coding Standards

Page 32: E xtreme programming for etl and data analytics final

Evolution of the Practices – Collective Ownership

Page 33: E xtreme programming for etl and data analytics final

Evolution of the Practices – Simple Design

Page 34: E xtreme programming for etl and data analytics final

• The customer is always available

• Code the unit test first

• Leave optimization for later

Evolution of the Practices – Optimization at the End

Page 35: E xtreme programming for etl and data analytics final

Write a TEST before FIXING the BUG

Evolution of the Practices – Test Driven Bug Fixing

Page 36: E xtreme programming for etl and data analytics final

Further…Evolution of the Practices… Pegasus

Page 37: E xtreme programming for etl and data analytics final

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: E xtreme programming for etl and data analytics final

Further…Evolution of the Practices – Earlier Code

Page 39: E xtreme programming for etl and data analytics final

No Unit testNo Build

Integration

Language Unawareness

Discover the Tool

SASUNIT

Further…Evolution of the Practices – Testability

Page 40: E xtreme programming for etl and data analytics final

Further…Evolution of the Practices – Code Later

Page 41: E xtreme programming for etl and data analytics final

Part of build Process

Fail Fast

Further…Evolution of the Practices – Build Process Correction

Page 42: E xtreme programming for etl and data analytics final

Integrated With Jenkins

Fail Fast

Fail Reports

Further…Evolution of the Practices – Jenkins for SASUNIT

Page 43: E xtreme programming for etl and data analytics final

Engineering Practices are always at the core.

Tools May not be there.

There is WILL, there is WAY

CRUX

Page 44: E xtreme programming for etl and data analytics final

Benefits

Source: http://flickr.com

Page 45: E xtreme programming for etl and data analytics final

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

Benefits –

Page 46: E xtreme programming for etl and data analytics final

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

Benefits

Page 47: E xtreme programming for etl and data analytics final

Benefits

Page 48: E xtreme programming for etl and data analytics final

Benefits

Page 49: E xtreme programming for etl and data analytics final

Benefits

Relative Time

Hilstar Opera Pegasus

Page 50: E xtreme programming for etl and data analytics final

UNIT Test …

UNIT Test …

UNIT Test …

Source: www.topnews.in

Benefits

Page 51: E xtreme programming for etl and data analytics final

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

Benefits

Page 52: E xtreme programming for etl and data analytics final

Change Management

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

Page 53: E xtreme programming for etl and data analytics final

Change Management – Usual Reactions

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

DEVs | QAs | POs | BOs

Page 54: E xtreme programming for etl and data analytics final

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: E xtreme programming for etl and data analytics final

Courtesy: Jeff Patton

Change Management – Smaller Release/Stories were Shaker

DEVs | QAs | POs | BOs

Page 56: E xtreme programming for etl and data analytics final

Change Management – Incremental Development

DEVs | QAs | POs | BOs

Page 57: E xtreme programming for etl and data analytics final

Change Management – Story Map

DEVs | QAs | POs | BOs

Page 58: E xtreme programming for etl and data analytics final

Change Management – Spikes were new

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

DEVs | QAs

Page 59: E xtreme programming for etl and data analytics final

Change Management – CI & Failing Builds

DEVs | QAs

Page 60: E xtreme programming for etl and data analytics final

Change Management – Pairing

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

DEVs | QAs

Page 61: E xtreme programming for etl and data analytics final

Change Management – Team Ownership

DEVs | QAs

Source: https://dilbert.com

Page 62: E xtreme programming for etl and data analytics final

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: E xtreme programming for etl and data analytics final

Change Management – Defect are discussed; not entered

QAsSource: http://letstalkaboutdiscussion.ca/

Page 64: E xtreme programming for etl and data analytics final

Change Management – Test Automation

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

Page 65: E xtreme programming for etl and data analytics final

Road Ahead

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

Page 66: E xtreme programming for etl and data analytics final

Engineering Practice - Refactoring / Managing Code Smells

Source: www.123rf.com

Page 67: E xtreme programming for etl and data analytics final

• 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: E xtreme programming for etl and data analytics final

• Engineering Practice - Simple Design & Solving critical challenges

by taking them out of context

Road Ahead - Engineering Practice –Sandbox

Source: http://ifum.com/

Page 69: E xtreme programming for etl and data analytics final

Road Ahead - Engineering Practice - Evolutionary Design Extended

Source: http://nordicedge.com/

Page 70: E xtreme programming for etl and data analytics final

Road Ahead - Engineering Practice – Programming skills and polyglot

Page 71: E xtreme programming for etl and data analytics final

Road Ahead - Real Time Integration

Page 72: E xtreme programming for etl and data analytics final

WE I JAD

Road Ahead - Joint Application development with Vendor

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

Page 73: E xtreme programming for etl and data analytics final

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: E xtreme programming for etl and data analytics final

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

Session Ends.. Efforts Continue…