• No results found

DATA DONE RIGHT. Applying Agile and XP Concepts. #DataDoneRight

N/A
N/A
Protected

Academic year: 2021

Share "DATA DONE RIGHT. Applying Agile and XP Concepts. #DataDoneRight"

Copied!
78
0
0

Loading.... (view fulltext now)

Full text

(1)

DATA DONE RIGHT

Applying Agile and XP Concepts

to Enterprise Data Integration

to Enterprise Data Integration

(2)

ABOUT THE SPEAKERS

JOE FRAZIER

• 12 years data integration experience

• Designer/Architect for enterprise standards • Data Technologies Capability Lead

[email protected]

RANDY LOUSHIN

• 6 years data integration experience

• Agile, Test Automation, Test Driven Development • Technical lead

[email protected][email protected]

(3)

CONTENTS

IT/Business Collaboration

Change Your Delivery Model

Building a Software Craftsman

Building a Software Craftsman

Life Of A Story Card (DEMO)

(4)

IT/BUSINESS COLLABORATION

(5)

Lack of business involvement often leads to…

(6)

Lack of business involvement often leads to…

IT/BUSINESS COLLABORATION

Where are the sales metrics I asked for?
(7)

Lack of business involvement often leads to…

IT/BUSINESS COLLABORATION

2 + 2 = 6 Where are the sales metrics I asked for?
(8)

Lack of business involvement often leads to…

IT/BUSINESS COLLABORATION

Name: John Doe

Email: [email protected] Phone: (555) 555-5555 Address: 123 ABC St, Anytown, USA

Where are the sales metrics I asked for?

(9)

Lack of business involvement often leads to…

IT/BUSINESS COLLABORATION

Name: John Doe

Email: [email protected] Phone: (555) 555-5555 Address: 123 ABC St, Anytown, USA

Where are the sales metrics I asked for?

(10)

Lack of business involvement often leads to…

IT/BUSINESS COLLABORATION

Name: John Doe

Email: [email protected] Phone: (555) 555-5555 Address: 123 ABC St, Anytown, USA

Where are the sales metrics I asked for?

(11)

Eliminate these issues by…

(12)

Eliminate these issues by…

(13)

Eliminate these issues by…

(14)

Eliminate these issues by…

(15)

Eliminate these issues by…

(16)

Eliminate these issues by…

(17)

DELIVERY MODEL CHANGE

(18)
(19)

DELIVERY MODEL CHANGE

1 Year Release

1 Year Release

• Long Scoping – Analysis Paralysis

• Huge Development Effort – Risk!

• Testing At End – Probably Get Cut!

(20)

DELIVERY MODEL CHANGE

(21)

ITERATIVE, NOT INCREMENTAL!

UNTIL THE FINAL RELEASE…

• You cannot get feedback on overall solution • Nothing is usable

(22)

ITERATIVE, NOT INCREMENTAL!

WITH THIS APPROACH…

• Something usable immediately

(23)

BUILDING A CRAFTSMAN

(24)
(25)
(26)

BUILDING A CRAFTSMAN

No! No! Your code is bad! Your tests are wrong!
(27)

BUILDING A CRAFTSMAN

No! No! Your code is bad! Your tests are wrong!
(28)

BUILDING A CRAFTSMAN

No! No! Your code is bad! Your tests are wrong!
(29)
(30)

WHAT DO WE WANT?

• An employee that is skilled in both development

and testing…a software craftsman

(31)

WHAT DO WE WANT?

• An employee that is skilled in both development

and testing…a software craftsman

BUILDING A CRAFTSMAN

HOW TO ACHIEVE

• Paired programming

• Test Driven Development

• Mindset change

(32)

BUILDING A CRAFTSMAN

(33)

BUILDING A CRAFTSMAN

BENEFITS

Break down the wall between developers and testers Break down the wall between developers and testers

Better understanding of the requirements Better understanding of the requirements

Rigorous testing = higher quality code Rigorous testing = higher quality code

Anyone can test, anyone can develop Anyone can test, anyone can develop

Build a more skilled employee Build a more skilled employee

(34)

BUILDING A CRAFTSMAN

BENEFITS

Break down the wall between developers and testers Break down the wall between developers and testers

Better understanding of the requirements Better understanding of the requirements

Rigorous testing = higher quality code Rigorous testing = higher quality code

Anyone can test, anyone can develop Anyone can test, anyone can develop

Build a more skilled employee Build a more skilled employee

(35)

BUILDING A CRAFTSMAN

BENEFITS

Break down the wall between developers and testers Break down the wall between developers and testers

Better understanding of the requirements Better understanding of the requirements

=

Rigorous testing = higher quality code Rigorous testing = higher quality code

Anyone can test, anyone can develop Anyone can test, anyone can develop

Build a more skilled employee Build a more skilled employee

(36)

BUILDING A CRAFTSMAN

BENEFITS

Break down the wall between developers and testers Break down the wall between developers and testers

Better understanding of the requirements Better understanding of the requirements

=

Rigorous testing = higher quality code Rigorous testing = higher quality code

Anyone can test, anyone can develop Anyone can test, anyone can develop

Build a more skilled employee Build a more skilled employee

(37)

BUILDING A CRAFTSMAN

BENEFITS

Break down the wall between developers and testers Break down the wall between developers and testers

Better understanding of the requirements Better understanding of the requirements

=

Rigorous testing = higher quality code Rigorous testing = higher quality code

Anyone can test, anyone can develop Anyone can test, anyone can develop

Build a more skilled employee Build a more skilled employee

(38)

LIFE OF A STORY CARD

(39)

PROBLEM STATEMENT

Marketing needs to understand more

about their customers.

Data is everywhere – most of it in

locations they cannot access

Data is everywhere – most of it in

locations they cannot access

Need a consolidated place for

customer information

(40)

PROBLEM STATEMENT

Marketing needs to understand more

about their customers.

Data is everywhere – most of it in

locations they cannot access

Data is everywhere – most of it in

locations they cannot access

Need a consolidated place for

customer information

(41)

PROBLEM STATEMENT

Marketing needs to understand more

about their customers.

Data is everywhere – most of it in

locations they cannot access

Data is everywhere – most of it in

locations they cannot access

Need a consolidated place for

customer information

(42)
(43)
(44)

STORY BREAKDOWN

Customer Name and Location

(45)

STORY BREAKDOWN

As a marketing analyst,

I want to know my customers name and location information, So that I can understand who my customers are

and where they live

Customer Name and Location

(46)

STORY BREAKDOWN

As a marketing analyst,

I want to know my customers name and location information, So that I can understand who my customers are

and where they live

Customer Name and Location

Customer Contact Information

(47)

STORY BREAKDOWN

As a marketing analyst,

I want to know my customers name and location information, So that I can understand who my customers are

and where they live

Customer Name and Location

Customer Contact Information

As a marketing analyst,

I want to know my customers preferred contact method, So that I can effectively communicate with them.

(48)
(49)

REQUIREMENTS GATHERING

Customer Name and Location

(50)

REQUIREMENTS GATHERING

Given new customer information is available

When the customer profile has been loaded

Then I will know my customers name

Customer Name and Location

Then I will know my customers name

(51)
(52)

MAPPING RULES

SOURCE RULE TARGET

Customer_Detail.Customer_Id Straight move Customer_Profile.Customer_Id

Customer_Detail.Name Take string after comma & uppercase

(source format is LastName, FirstName) Customer_Profile.F_Name Customer_Detail.Name Take string before comma & uppercase

(source format is LastName, FirstName) Customer_Profile.L_Name Customer_Detail.Name

(source format is LastName, FirstName) Customer_Profile.L_Name Customer_Detail.Address Split on comma, extract street & uppercase

(source format is street,city,state,zip) Customer_Profile.Street Customer_Detail.Address Split on comma, extract city & uppercase

(source format is street,city,state,zip) Customer_Profile.City Customer_Detail.Address Split on comma, convert state to 2 chars

(source format is street,city,state,zip) Customer_Profile.State Customer_Detail.Address Split on comma, extract zip

(53)
(54)
(55)
(56)
(57)
(58)
(59)
(60)
(61)
(62)
(63)
(64)
(65)

TECHNICAL INFO

TESTING

• RubyMine

• Ruby

DEV

• Informatica

• Oracle

• Ruby

• Cucumber

• Rspec

• Sequel

• FactoryGirl

• Oracle

(66)

LET’S START CODING!

Red, Green, Refactor

(67)
(68)

CONTINUOUS INTEGRATION

(69)
(70)

The process of committing new code into a shared repository,

running an automated build, and reporting on any errors

(71)

The process of committing new code into a shared repository,

running an automated build, and reporting on any errors

CONTINUOUS INTEGRATION

Full, automated regression testing

Find defects quicker

Complete picture of your system – what’s working, what’s not

Reduced time in system testing

(72)

The process of committing new code into a shared repository,

running an automated build, and reporting on any errors

CONTINUOUS INTEGRATION

Full, automated regression testing

Find defects quicker

Complete picture of your system – what’s working, what’s not

Reduced time in system testing

(73)

The process of committing new code into a shared repository,

running an automated build, and reporting on any errors

CONTINUOUS INTEGRATION

Full, automated regression testing

Find defects quicker

Complete picture of your system – what’s working, what’s not

Reduced time in system testing

(74)

The process of committing new code into a shared repository,

running an automated build, and reporting on any errors

CONTINUOUS INTEGRATION

Full, automated regression testing

Find defects quicker

Complete picture of your system – what’s working, what’s not

Reduced time in system testing

(75)

The process of committing new code into a shared repository,

running an automated build, and reporting on any errors

CONTINUOUS INTEGRATION

Full, automated regression testing

Find defects quicker

Complete picture of your system – what’s working, what’s not

Reduced time in system testing

(76)
(77)
(78)

QUESTIONS??

Joe Frazier – [email protected]

References

Related documents

A qualitative depiction of the HIFU process can be found in Fi gure 1A. The curved ultrasonic transducer’s surface causes the waves converge at a focal point, which is located in

VMI is an inventory management process where the traditional ordering model is eliminated and the vendor has the right and responsibility to make stock replen- ishment decisions

Audit division staff provided instruction at two statistical and one income tax training classes during fiscal year end June 30, 2010.. National

Atmospheric Cold Plasma Interactions with Modified Atmosphere Packaging Inducer Gases for Safe Food Preservation.. It has been accepted for inclusion in Articles by an

Therefore, in this case the increase in information to a select group of buyers results in lower total welfare than the standard lemons market, as the same number of low quality

The greater num- ber of Kuiper Belt objects known with libration centers near 90 o compared to near 270 o is like- ly an observational bias due to objects in the 270 o asymmetric

Anzeigen (alle Komponisten

Phenolic compounds which often observed in the lists of olive oil polyphenols are: 4-acetoxy-ethyl- 1, 2-dihydroxybenzene, 1-acetoxy-pinoresinol, apigenin, caffeic acid,