Is Your Data Modeling Workflow Agile or Fragile?

21
Karen Lopez @DATACHICK Jun 2015 www.datamodel.com 1 Karen Lopez @datachick #TEAMDATA Agile or Fragile? How Successful is your Data Modeling Workflow? Yes, Please do Tweet/Share today’s event @datachick @ERStudio

Transcript of Is Your Data Modeling Workflow Agile or Fragile?

Karen Lopez@DATACHICK

Jun 2015

www.datamodel.com 1

Karen Lopez @datachick #TEAMDATA

Agile or Fragile?How Successful is your Data Modeling Workflow?

Yes, Please do Tweet/Share today’s event

@datachick@ERStudio

Karen Lopez@DATACHICK

Jun 2015

www.datamodel.com 2

Karen López

Karen has 20+ years of data and information architecture experience on large, multi-project programs.

She is a frequent speaker on data modeling, data-driven methodologies and pattern data models.

She blogs at community.embarcadero.com, datamodel.comand Dataversity.net

She wants you to love your data.

Rob Loranger

Rob Loranger is an Embarcadero Product Manager for the ER/Studio

product family.

Prior to his current role, Rob was a Sr. Software Consultant, and for

more than 9 years he has been one of Embarcadero's leading experts

for its database development, management, and architecture

software.

He blogs at community.embarcadero.com

Karen Lopez@DATACHICK

Jun 2015

www.datamodel.com 3

Logistics…

Use Q&A for formal questions – ask at any

time

Slides will be distributed after event

Continue the conversation on Twitter

There’s more to come…

Plan for Today

What is Agile, SCRUM, others?

Where does data modeling fit in Agile?

Ensuring your data modeling workflow works

DEMO!

10 Tips for making Agile not Fragile Data Modeling

Karen Lopez@DATACHICK

Jun 2015

www.datamodel.com 4

Your take-aways today…

How to position data models (hint: they are not “documentation”)

How to prepare your data modeling technical environment to support fast iterations

How to collaborate with agile teammates in a way that they can benefit from existing data model resources

How to demonstrate the value of data models to your agile teams

Agile Methods

What are they? What else are they?Plus at little bit of SCRUM

Karen Lopez@DATACHICK

Jun 2015

www.datamodel.com 5

I love working on

Agile projects

It’s FRAGILE

projects I hate.

Karen Lopez@DATACHICK

Jun 2015

www.datamodel.com 6

Agile Manifesto

http://www.agilemanifesto.org/

Agile Principles

…readable copy coming next…

Karen Lopez@DATACHICK

Jun 2015

www.datamodel.com 7

Principles Behind the Agile Manifesto

• Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.

• Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.

• Deliver working software frequently, from a couple of weeks to a couple of months, with preference to the shorter timescale.

• Business people and developers must work together daily throughout the project.

• Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.

• The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.

Emphasis Karen

Principles Behind the Agile Manifesto

• Working software is the primary

measure of progress.

• Agile processes promote sustainable

development. The sponsors,

developers, and users should be

able to maintain a constant pace

indefinitely.

• Continuous attention to technical

excellence and good design enhances

agility.

• Simplicity--the art of maximizing the

amount of work not done--is essential.

• The best architectures, requirements,

and designs emerge from self-

organizing teams.

• At regular intervals, the team reflects

on how to become more effective,

then tunes and adjusts its behavior

accordingly.

Emphasis Karen

Karen Lopez@DATACHICK

Jun 2015

www.datamodel.com 8

Manifesto for Agile Software

Development

Agile “Extensions”…

Everyone is a generalist

Agile Blocking

Excluded titles

• Administrators

• Architects

• Managers

Test Driven Development

No BMUF/BDUF

Paired programming

Did I say Blocking?

Karen Lopez@DATACHICK

Jun 2015

www.datamodel.com 9

Agile Blocking

The blockers effectively implement a “process façade” around your team that makes it appear to the rest of the organization that your team is following their existing procedures. This satisfies the bureaucrats, yet prevents them from meddling with the people that are doing the real work. Although it sounds like a wasted overhead, and it is because it would be far more effective to divert both the blockers and bureaucrats to efforts that produce something of value, the advantage is that it enables the rest of the team to get the job done.

The role of blocker is often taken on by your team’s project manager or coach, although in the past I have let this be a revolving role on the project so as to spread out the pain of dealing with the paper pushers.

- http://www.agiledata.org/essays/adopting.html

Scrum Values

Focus

• Because we focus on only a few things at a time, we work well together and produce excellent work. We deliver valuable items sooner.

Courage

• Because we work as a team, we feel supported and have more resources at our disposal. This gives us the courage to undertake greater challenges.

Commitment

• Because we have great control over our own destiny, we are more committed to success.

Respect

• As we work together, sharing successes and failures, we come to respect each other and to help each other become worthy of respect.

Openness

• As we work together, we express how we're doing, what's in our way, and our concerns so they can be addressed.- https://www.scrumalliance.org/why-scrum/core-scrum-values-roles

All work performed in Scrum needs a set of values as the

foundation for the team's processes and interactions.

And by embracing these five values, the team makes

them even more instrumental to its health and success.

Karen Lopez@DATACHICK

Jun 2015

www.datamodel.com 10

https://www.scrumalliance.org/why-scrum

Agile/Scrum development project

Karen Lopez@DATACHICK

Jun 2015

www.datamodel.com 11

Typical “Fragile” Sprint

Sprint Planning

Backlog Stories

STA

RT

READING DEVELOPMENT DELIVER

EN

D

Where the heck is

our database?

WTH! Zone

$#*!

2-3 weeks

$#*!

Agile Data Modeling Workflow - Fix

Sprint Planning

Backlog Stories

STA

RT

READING DEVELOPMENT DELIVER

EN

D

Karen Lopez@DATACHICK

Jun 2015

www.datamodel.com 12

Agile DM Workflow– Fix it BetterSprint Planning

Backlog Stories

SA

RT

READING DEVELOPMENT

ST

AR

T

READING DEVELOPMENTDELIVE

R

EN

D

Sprint Planning

Backlog Stories

ST

AR

T

READING

Agile DM Workflow– Fix it BetterSprint Planning

Backlog Stories

SA

RT

READING DEVELOPMENT

ST

AR

T

READING DEVELOPMENTDELIVE

R

EN

D

Sprint Planning

Backlog Stories

ST

AR

T

READING

Karen Lopez@DATACHICK

Jun 2015

www.datamodel.com 13

Agile Data Workflow

Data modelers must be part of

• Spring planning

• Access to users

• Story creation

Data models should be part of stories

Existing data models are key inputs

Data models are not just documentation

Iterative Data Modeling

Karen Lopez@DATACHICK

Jun 2015

www.datamodel.com 14

Why fragile data modeling?

Most people have never seen productive, iterative, responsive, flexible data model driven database development

Agile Data Model Iterations

Iterations are

awesome…

…Except for those that

are iterated upon.

Don’t make gratuitous changes

Collaborate on changes

that do need to be

made

Plan for delivering

the change.

Data Modeling Perfection is your Enemy here

Karen Lopez@DATACHICK

Jun 2015

www.datamodel.com 15

Characteristics of Iterative Data Modeling

Full DDL

Alter DDLDM Changes

Compare

• Full DDL

• Compare & Merge

• Alter DDL

• Extended Alter DDL

Rapid DDL generation

• Working Closely with DBA

• Working Closely with Devs

Physical Data Modeling

• Test Data

• Reference Data

Data Generation

AntiPattern Iterative Data Modeling

Full DDL• Full DDL

• Developers Manage Database for Rest of Project

One Time DDL generation

• Done by Developers

• Secured and Tuned by DBA, if possible

Physical Data Modeling

• Individual Devs Generate Own Test Data

• Reference Data an Afterthought

Data Generation

ALTER TABLE custADD custage Decimal(3,1) NOT NULL;

Karen Lopez@DATACHICK

Jun 2015

www.datamodel.com 16

Characteristics of Agile Data Modeling

Full DDL

Alter DDLDM Changes

Compare

• DDL & Scripts

• Compare & Merge

• Versioning

Change Management

• Use the same System

• Integrate with Data Model

Issue Management

Traceability to Issue Management

Use what your team uses

• Tools

• Processes, adapted for data models

• Linkages between data model and issues

Log data model issues, too

Karen Lopez@DATACHICK

Jun 2015

www.datamodel.com 17

Preparing for Iterative Data Modeling

Test / Dev Database environment

Database Client tools/drivers

Skills and knowledge to quickly RE, Compare, and FE databases

Access to Dev, QA and other environments

Set up for dev tools and processes

Demo Time!

Agile not Fragile Data Modeling

Karen Lopez@DATACHICK

Jun 2015

www.datamodel.com 18

The “D” word

Documentation can be generated out of the model

Don’t focus on documentation preparation

Automation is your friend

Always use “Model”

Never call it “Documentation”

Enterprise Projects are Integration Projects

Karen Lopez@DATACHICK

Jun 2015

www.datamodel.com 19

Generalists aren’t strong on Enterprise Data

Data models are just enough documentation, if

done by professionals.

Use data professionals who know where it is,

how to use it.

Build better databases with existing data models

Build faster with existing data models

10 Tips for Agile not Fragile Data Modelers

1.Stop using the word Documentation when talking about data models

2.Get Scrum training. Get certified even.

3.Prepare your Agile Data Modeling environment

4.Learn, practice and test your Data Model iterations processes and standards.

5.Learn to automate as much as possible.

Karen Lopez@DATACHICK

Jun 2015

www.datamodel.com 20

10 Tips for Data Modelers

6. Get data models and DDL tasks moved sprints ahead. At least 2 sprints ahead.

7. Don’t get pushed into sprinting a marathon

8. Don’t back off from Agile teams, even if they are hostile to data modeling…or modelers.

9. Don’t be a roadblock. Get ahead of the sprints.

10.Use the same processes for issue and change management as the team uses.

Community

community.embarcadero.com

Karen Lopez@DATACHICK

Jun 2015

www.datamodel.com 21

Plan for Today

What is Agile, SCRUM, others?

Where does data modeling fit in Agile?

Ensuring your data modeling workflow works

DEMO!

10 Tips for making Agile not Fragile Data Modeling

Thank you, you were great.

Let’s do this again some time!

Karen Lopez @datachick

Rob Loranger