agile methods and data warehousing (2016 update)

48
KENT GRAZIANO @KentGraziano | kentgraziano.com AGILE METHODS AND DATA WAREHOUSING: HOW TO DELIVER FASTER

Upload: kent-graziano

Post on 14-Jan-2017

700 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Agile Methods and Data Warehousing (2016 update)

KENT GRAZIANO @KentGraziano | kentgraziano.com

AGILE METHODS AND DATA WAREHOUSING:

HOW TO DELIVER FASTER

Page 2: Agile Methods and Data Warehousing (2016 update)

Agenda

My Bio Why Agile & DW Agile Manifesto 12 Agile Principles Agile Concepts Two week iterations? Becoming Agile Agile DevOps Agile Data Modeling Conclusion

© Data Warrior LLC

Page 3: Agile Methods and Data Warehousing (2016 update)

My Bio

› Senior Technical Evangelist, Snowflake Computing› Blogger: The Data Warrior› Certified Data Vault Master and DV 2.0 Practitioner› Oracle ACE Director (BI/DW)› Data Modeling, Data Architecture and Data Warehouse

Specialist› 30+ years in IT› 25+ years of Oracle-related work› 20+ years of data warehousing experience

› Former-Member: Boulder BI Brain Trust (http://www.boulderbibraintrust.org/)

› Author & Co-Author of a bunch of books› Past-President of Oracle Development Tools User

Group and Rocky Mountain Oracle User Group

Page 4: Agile Methods and Data Warehousing (2016 update)

Why Agile & DW?

Perceptions● DW too slow to produce results● DW projects “fail”● DW projects fail to adapt to business changes

Goal● Change perceptions● Deliver value● Be more adaptable and flexible

© Data Warrior LLC

Page 5: Agile Methods and Data Warehousing (2016 update)

Objectives

Understand what is meant by “agile” Try to apply some agile ideas to data warehouse and business

intelligence efforts Answer the question – can we deliver results faster?

Page 6: Agile Methods and Data Warehousing (2016 update)

Manifesto for Agile Software Development

http://agilemanifesto.org

We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:

Individuals and interactions over processes and tools

Working software over comprehensive documentation

Customer collaboration over contract negotiation Responding to change over following a planThat is, while there is value in the items on the right, we value the items on the left more

Kent BeckMike Beedle

Arie van BennekumAlistair CockburnWard Cunningham

Martin Fowler

James GrenningJim HighsmithAndrew HuntRon Jeffries

Jon KernBrian Marick

Robert C. MartinSteve Mellor

Ken SchwaberJeff SutherlandDave Thomas

© 2001, the above authorsthis declaration may be freely copied in any form,

but only in its entirety through this notice.

Page 7: Agile Methods and Data Warehousing (2016 update)

THE PRINCIPLES OF AGILE

Page 8: Agile Methods and Data Warehousing (2016 update)

Principle #1

Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. ● Who is the customer?● What is “valuable software” in data warehousing?

● BI reports● Dashboard interface● Working ETL code?● In the context of the customer!

● Once we start – keep going!

© Data Warrior LLC

Page 9: Agile Methods and Data Warehousing (2016 update)

Principle #2

Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage. ● Must be flexible and adaptable in thinking and

design● User Stories● Use code generators● Agile data engineering techniques● Flexible and performant data platform

© Data Warrior LLC

Page 10: Agile Methods and Data Warehousing (2016 update)

Principle #3

Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. ● Need good scope control!

● Prioritized Backlog● One subject area at a time

● What is a subject area?● Think Data Vault

© Data Warrior LLC

Page 11: Agile Methods and Data Warehousing (2016 update)

Principle #4

Business people and developers must work together daily throughout the project. ● DW MUST have the business involved

● One of the Top 10 reasons for failure● This applies for BI reports

● Daily interaction would be great!● But – politics and priorities may interfere!● At HP GBI/EDW – we used “war” room● At MSH – daily standups with Biz

© Data Warrior LLC

Page 12: Agile Methods and Data Warehousing (2016 update)

Principle #5

Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. ● Need people who WANT to be on the project

● Lose the dead weight

● Get training if needed● Keep units of work small to create an

atmosphere of success● Don’t try a Big Bang EDW

© Data Warrior LLC

Page 13: Agile Methods and Data Warehousing (2016 update)

Principle #6

The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. ● Daily team huddles● Co-located work space● While face-to-face is efficient, still need some

documentation (or meta-data) for later● Use a tool like JIRA, VersionOne, Rally, LeanKit

© Data Warrior LLC

Page 14: Agile Methods and Data Warehousing (2016 update)

Principle #7

Working software is the primary measure of progress. ●Applied to DW:

● What is “working software?”● BI reports?● Tables definitions and working ETL

code?●Think more broadly – it is not just a data

entry screen

© Data Warrior LLC

Page 15: Agile Methods and Data Warehousing (2016 update)

Principle #8

Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. ● DW Programs last a long time – don’t burn the team

out with unreasonable deadlines● See P#5 – Motivated individuals● Good planning and scope control

● No all nighters!● Smallest valuable unit of work possible (MVP)

● Keep it moving like a production line● Pick (or develop) a standard, repeatable methodology

● Study the Agile methods and adopt what works for your team

● Data Vault Modeling Methodology

© Data Warrior LLC

Page 16: Agile Methods and Data Warehousing (2016 update)

Principle #9

Continuous attention to technical excellence and good design enhances agility. ● Bad design + bad architecture = trouble

● Symptom: can’t build a requested data mart● Frequent design reviews a must

● Improves team skills – provides cross training● Over time – better designs, shorter review cycles

● Faster delivery

© Data Warrior LLC

Page 17: Agile Methods and Data Warehousing (2016 update)

Principle #10

Simplicity--the art of maximizing the amount of work not done--is essential.● KISS – Keep it Simple Stupid● Write less code by hand

● Use code generators! (No syntax errors – ever)● Oracle SDDM, ERWin, Vertabelo● Oracle Data Integrator, SSIS● AnalytxDS, WhereScape RED

● Modifications are easier – just regenerate the code● Virtualize initial reporting layers● Agile DevOps!

© Data Warrior LLC

Page 18: Agile Methods and Data Warehousing (2016 update)

Principle #11

The best architectures, requirements, and designs emerge from self-organizing teams. ● Team of smart, motivated people = success

● We succeed (or fail) as a TEAM● Don’t micro manage or pigeon-hole staff

● Encourage team work and team thinking● Staff will gravitate to roles based on skills, interest,

and personality● Then they have more buy-in to the process

● Eliminates delays and bottlenecks by having shared responsibilities (no single point of failure)

© Data Warrior LLC

Page 19: Agile Methods and Data Warehousing (2016 update)

Principle #12

At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly. ● The Decision Model

● Debate Mode● Check Points

● Related to self-organizing teams● Make finding the solution to a problem the team’s problem

● More buy-in to the solution● Retrospectives are a MUST!

© Data Warrior LLC

Page 20: Agile Methods and Data Warehousing (2016 update)

Decision Model in Action

Plan

Debate Decision

CheckPoint

Questions ? ? ? ?

Answers

Mini-Debate(Cause a Slight Change in Direction)

Iterate

Courtesy of Dr. Ed Freeman, CIO/CTO, Denver Public Schools© Data Warrior LLC

Page 21: Agile Methods and Data Warehousing (2016 update)

USING AGILE CONCEPTS

Page 22: Agile Methods and Data Warehousing (2016 update)

Agile Concepts for DW

Team Huddles (Morning Scrum)Extreme ProgrammingPair Programming

© Data Warrior LLC

Page 23: Agile Methods and Data Warehousing (2016 update)

Team Huddles

Daily Standup Meeting● AKA Scum● Morning Roll Call (FDD)

Short meeting (< 15 minutes)● Every morning, mandatory attendance● Review assignments, accomplishments, backlogs,

blockers● 3 Questions

Immediate feedback and assistance● Keeps team motivated and on track (P #5)● Identifies constraints and bottlenecks early in the process● Eliminates backlogs more quickly via re-assignments

Improves team work Supports self-organizing teams (P #11)

© Data Warrior LLC

Page 24: Agile Methods and Data Warehousing (2016 update)

Extreme Programming (XP)

Programmer works directly with the end user● At MSH used conference room or devloper’s cube● At HP used Virtual Classroom or NetMeeting● At DFA used WebEx

In DW:● Best with developing BI reports● DW or data mart must already be populated

© Data Warrior LLC

Page 25: Agile Methods and Data Warehousing (2016 update)

Extreme Programming (XP)

Reports developed using BI tool● With the user in the room (or virtual)● With constant user reviews and input using a web

reporting tool (via email even!) Also applies to developing a dashboard or portal

interface Works for ETL as well!

● Used war room with business to get near instant validation of ETL changes

© Data Warrior LLC

Page 26: Agile Methods and Data Warehousing (2016 update)

Pair/Mob Programming

Part of XP Programmers work side-by-side

● One terminal● One codes, the other reviews

● Two terminals, one cube● One programming, one documenting

● Could also be done virtually! In DW:

● Writing ETL Code● Pair data modeling● Report Development

© Data Warrior LLC

Page 27: Agile Methods and Data Warehousing (2016 update)

Two week iterations?

Goal is really a few weeks to a few months (see P#3)

What is the deliverable?● A fact table for a star schema● A dimension table● A complete star (fact and all dimensions)● One piece of ETL code that populates a fact

table● A function needed by the ETL code● A new report or query

Who is the customer?● BI programmer?● Knowledge worker?● ETL programmer?

© Data Warrior LLC

Page 28: Agile Methods and Data Warehousing (2016 update)

REAL WORLD METRICS

Page 29: Agile Methods and Data Warehousing (2016 update)

HP EDW Examples Business found missing report elements Solution: modify 3 tables to add 5 new columns in

reporting model (star schema) Tasks:

● Document requirements and ETL specs● Modify Logical & Physical model (w/peer review)● Rebuild tables in development● Develop and test ETL● MTI (Move To Integration) tables and code● Execute and test ETL● Modify report in UAT environment & test

Result: Revised report ready in 18 hours, 44 minutes● Less than 1 business day

2nd case: 6 tables, 16 new columns● Ready for UAT in 72 hours

How? War room with Biz & IT Team

© Data Warrior LLC

Page 30: Agile Methods and Data Warehousing (2016 update)

BECOMING AGILE

Page 31: Agile Methods and Data Warehousing (2016 update)

Getting to Agile/RAD

“better than average expertise”● Expert consulting and mentoring● Do the work (OTJ)

At Denver Public Schools● Took two years before we could try being

more “agile”● Needed experience in Data Warehousing,

Oracle Designer, OWB, and the “process” of building, deploying, and maintaining an Oracle DW

© Data Warrior LLC

Page 32: Agile Methods and Data Warehousing (2016 update)

Getting to Agile/RAD

At HP GBI/EDW it took about a year● Needed the right team and the right

management support● Also the right project with willing business

usersAt McKesson over a year setting

standards and training staff ● Built templates in JIRA for repeatable tasks● Then 3 week sprints

At DFA – Day 1!● Experienced team with agile BI/DW coach● Used modified KanBan

© Data Warrior LLC

Page 33: Agile Methods and Data Warehousing (2016 update)

Getting to Agile

Cannot instantly become “agile”Must develop and agile mindset & culture Implement agile tools, processes, and methodsGet an Agile Coach if necessary

● Specfically an agile BI/DW or Data Coach

© Data Warrior LLC

Page 34: Agile Methods and Data Warehousing (2016 update)

AGILE DEVOPS

Page 35: Agile Methods and Data Warehousing (2016 update)

“the art of maximizing the amount of work not done”

Remember Principle #10! Need a dev setup that let’s you be agile

● Painless & fast setup and configuration● Easy to add more space and compute on demand● Minimal resource contention● Automated query optimization● Easy cloning of data sets

Automated Regression Testing!● DBFit, iCEDQ, AnalytixDS, WhereScape● Roll your own – basic SQL scripts

© Data Warrior LLC

Page 36: Agile Methods and Data Warehousing (2016 update)

AGILE DATA MODELING

Page 37: Agile Methods and Data Warehousing (2016 update)

Data Vault – How I did it

Data modeling technique for enterprise data warehouse design● See Data Vault white papers at kentgraziano.com● Data Vault related books on Amazon (author Linstedt)

Allows modeling EDW in small chunks● Develop model, build tables, build ETL, populate,

repeat (often)● Key: prioritize the data requirements

● Think User Stories and Backlog ala SCRUM

© Data Warrior LLC

Page 38: Agile Methods and Data Warehousing (2016 update)

Data Vault Components

Copyright 2011 Dan Linstedt, used by permission

Page 39: Agile Methods and Data Warehousing (2016 update)

Data Vault Model Flexibility (Agility)

Goes beyond standard 3NF• Highly normalized

● Hubs and Links only hold keys and meta data● Satellites split by rate of change and/or source

• Enables Agile data modeling● Easy to add to model without having to change existing structures

and load routines• Relationships (links) can be dropped and created on-demand.

● No more reloading history because of a missed requirementBased on natural business keys

• Not system surrogate keys• Allows for integrating data across functions and source

systems more easily● All data relationships are key driven.

© Data Warrior LLC

Page 40: Agile Methods and Data Warehousing (2016 update)

Data Vault Extensibility

Adding new components to the EDW has NEAR ZERO impact to:• Existing Loading

Processes• Existing Data Model• Existing Reporting & BI

Functions• Existing Source Systems• Existing Star Schemas

and Data Marts

(C) LearnDataVault.com

Sprint 1

Sprint 2

Sprint 3

Page 41: Agile Methods and Data Warehousing (2016 update)

How to be Agile using DV

● Model iteratively● Use Data Vault data modeling technique● Create basic components, then add over time

● Virtualize the Access Layer● Don’t waste time building facts and dimensions

up front (Principle #10)● ETL and testing takes too long● “Project” objects using pattern-based DV model

with database views (or BI meta layer)● Users see real reports with real data

● Can always build out for performance in another iteration

© Data Warrior LLC

Page 44: Agile Methods and Data Warehousing (2016 update)

Register at wwdvc.com

Page 45: Agile Methods and Data Warehousing (2016 update)

Other References

Agile Management for Software Engineering: Applying the Theory of Constraints for Business Results by David J. Anderson

CASE Method Fast-track: A RAD Approach by Richard Barker & Dai Clegg

The Goal by Eliyahu M. Goldratt The Business of Data Vault Modeling by Dan Linstedt,

Kent Graziano, & Hans Hultgren Super Charge Your Data Warehouse by Dan Linstedt Test Automation by Lynn Winterboer http://

www.slideshare.net/AgileDenver/lynn-winterboer-test-automation

© Data Warrior LLC

Page 46: Agile Methods and Data Warehousing (2016 update)

Conclusion

Agile concepts can be applied to data warehouse and BI projects● Not a purist definition!● Try to apply the principles – be creative

Suggested approaches● Data Vault 2.0!● Use Snowflake Elastic DW!● Use team huddles● Use pair programming to increase quality and cross

training● Use code generators ● Read about Agile Methods ● Read Oracle CASE Method Fast-Track

Be flexible and give it a try© Data Warrior LLC

Page 47: Agile Methods and Data Warehousing (2016 update)

QUESTIONS?DISCUSSION?

Page 48: Agile Methods and Data Warehousing (2016 update)

CONTACTINFORMATION

KENT GRAZIANOSnowflake ComputingSnowflake.net

[email protected]

@KentGraziano

http://kentgraziano.com