Professional Documents
Culture Documents
Applying The Agile Manifesto To: Your Data Warehousing Program
Applying The Agile Manifesto To: Your Data Warehousing Program
Applying The Agile Manifesto To: Your Data Warehousing Program
1
TDWI: Reducing Inefficiency and Increasing the Value of Analytics and Business Intelligence. 2018.
2
CHAMPION GUIDES
THE 12 PRINCIPLES OF AGILE,
ADAPTED FOR DATA WAREHOUSING
evolve or change, while building the foundation
1. SATISFY THE CUSTOMER 2. WELCOME CHANGE for long-term storage and integration of data
from multiple systems, enabling greater flexibility
and resilience.
Our highest priority is Welcome changing requirements,
• Make sure you have a flexible data platform that
to satisfy the customer even late in development. Agile
allows you to adapt quickly. Earlier in my career, I
through early and continuous processes harness change for the
was on a project where we ran out of disk space.
delivery of valuable software. customer’s competitive advantage.
The recommended solution to our team was to
delete data. Clearly, this reflects a platform failure
Data warehouse adaptation: Data warehouse adaptation: and not a failure of the team. Using a platform that
Identify a proxy for the end customer, if Establish clear user stories for every can scale up and down with your needs will help
needed. That person or proxy must be able requirement. To stay nimble, leverage your team be more agile.
to define what constitutes success. code generators, Agile data engineering
techniques, and a data platform that can
grow and change with you.
3
CHAMPION GUIDES
Finally, to maintain a shorter development cycle, be
3. DELIVER FREQUENTLY sure to tackle one subject area at a time. Keeping
longer meets business objectives. Enforcing a tighter
integration between business and development
units of work small will help team members go home teams helps avoid failure altogether, and makes
and feel they’ve accomplished their goal for that day. warning signs of potential failure visible earlier in the
Deliver working software
process.
frequently, from a couple of
weeks to a couple of months, Even if you aren’t delivering a product every day, you
with a preference to the shorter timescale.
4. WORK TOGETHER can deliver progress updates every day. Daily updates
to business stakeholders build confidence that you
Data warehouse adaptation: are building what they need.
Focus on shortening your delivery iterations Business people and developers
from the length they are now. must work together daily
throughout the project.
4
CHAMPION GUIDES
For example, at one large enterprise, we built a and be adept in their use of technology and tools.
global “war room” for an important data warehouse This can entail making some hard decisions, as some
decommission and replacement project. We had to team members might not be a good fit for the new
reengineer and move a mission critical data mart in paradigm. For example, a McKinsey study identified
under three months. We had two senior directors that to succeed in Agile, team members needed to be
work daily with the data warehouse team for six adept at handling ambiguity—a trait that might not be
weeks. That tight integration was the only way we needed in traditional linear approaches. Daily team huddle
could ensure the success of such a crucial project
with a short timeline.
You can’t just demand a team become “Agile” without best practices:
investing in training to help them become so. The
There’s good news: Getting buy-in from business company must commit to providing training resources
teams, and especially business leadership, is and support for this transition to be successful. It will
Keep them short. Under 15 minutes
becoming commonplace. Executive management be a journey. is best. Hold them every morning,
teams replaced operations as the leading department with mandatory attendance by
driving adoption of business intelligence programs in everyone on the team.
2018 and remain a top driver of BI in 2019. 6. INTERACT FACE-TO-FACE
Review assignments,
accomplishments, backlogs, and
5. SUPPORT YOUR TEAM The most efficient and effective blockers by having each team
method of conveying information
member answer three questions:
to and within a development
team is face-to-face conversation.
Build projects around motivated
individuals. Give them the ● What did I do yesterday?
Data warehouse adaptation:
environment and support they ● What will I do today?
Set up in-person daily team huddles.
need and trust them to get the job done.
● What do I need help with?
Data warehouse adaptation:
Invest in training your team to work with This recommendation might not be popular in the
the speed and independence an Agile modern culture of flexible and remote work, but
process requires. nothing beats in-person daily team huddles. When
face-to-face interaction isn’t possible, modern
conferencing software (like Zoom or WebEx) and
While this principle holds true for any business,
good project management or tracking software can
it’s especially true in an Agile operation, given
be a lifesaver. As with any data warehousing project,
the demands for quick delivery and tight-knit
documentation is critical. Tools like JIRA, VersionOne,
teamwork. To move to an Agile process successfully,
Rally, and LeanKit can be effective—even though they
team members must be dedicated to the project,
were originally designed for software development.
understand the importance of the Agile methodology,
55
CHAMPION GUIDES
like adding a column to a table or a new calculation to Data warehousing is a program, not a project. Once
7. MEASURE PROGRESS a report. A complex transformation in the form of ETL a company embarks on the data warehousing path, it
code should also count as working software. can never truly be “done.” As a company grows and
evolves, its data, data sources, and data requirements
Working software is the primary This shift in mindset can have a positive impact on
and business goals will evolve as well.
measure of progress. the business. As discussed previously, reporting
incremental deliverables to stakeholders keeps the Since data warehousing programs last a long time,
overall product on track, creates a window of time to practice good planning and scope control to avoid
Data warehouse adaptation:
incorporate changing requirements into the plan, and unreasonable deadlines and employee burnout.
Recognize incremental additions as
boosts employee morale by allowing them to celebrate It’s called a “planned sprint” for a reason, so teams
deliverables, rather than waiting for the
success regularly. shouldn’t agree to deliverables that require long hours
finished product.
on an ongoing basis.
To promote sustainable development, define the
Software-focused definitions may not fit business 8. PROMOTE smallest valuable unit of work possible to meet the
business requirement for any given sprint or iteration.
intelligence needs. For example, what constitutes SUSTAINABLE DEVELOPMENT In Agile development, this is the minimal viable
“working software” in business intelligence and data
warehousing? Instead of only referring to a finished product (MVP). It may not be everything the business
product, working software could refer to small changes team has requested, but is it better to have most of
Agile processes promote
the request delivered quickly versus all of it in a longer
sustainable development. The
period of time. After all, the goal is to deliver value
sponsors, developers, and users should be
incrementally, rather than in a “big bang” waterfall
able to maintain a constant pace indefinitely.
approach.
Data warehouse adaptation: To do this, use a standard methodology or discipline,
Sustainable ongoing development is even and create a cadence of work. Track estimates
more necessary in a data warehouse. It is a and compare to actuals. Think of it like a factory
long term journey which is NEVER truly done. production line where people work at a certain pace
and create product outputs predictably. If you set up
your data program right, you can measure deliverables
like a factory does. For example, you can measure how
long it takes to add a new source system, or a new
dimension or report. (Don’t be discouraged: It takes
many repetitions to get to this level of predictability!)
.
6
CHAMPION GUIDES
Likewise, if the report writers attend the ETL code
9. CONDUCT FREQUENT walkthrough, they learn about the logic and business
In work as in life, how do you get something done
faster? It’s simple: Stop doing things you don’t need
DESIGN REVIEWS rules needed to transform the source data to useful to do. Implementing this in practice, though, can
information for business decisions. This results in be difficult.
faster handoffs and higher-quality results across the
Eliminating manual coding is the number one place
Continuous attention to design and development process.
technical excellence and good you can reduce work in data warehouses. This is
design enhances agility. where solutions like code generators are useful.
They will help you avoid syntax errors, make design
Data warehouse adaptation:
10. KEEP IT SIMPLE reviews more seamless, and help facilitate overall
Ensure the whole team is involved in flexibility, because these tools are typically platform
every design review. agnostic. And, if you choose well, they will generate
Simplicity, or the art of all the system documentation you need.
maximizing the amount of work
not done, is essential.
Traditional Agile software development teams talk
about peer review of code. In data warehousing, you Data warehouse adaptation:
need to review the design of the data warehouse— Eliminate manual coding to reduce errors
the conceptual or logical models and the schema and make revisions easier.
designs of the database. If the initial design is wrong,
then the source target mapping is going to be wrong,
which means the ETL is going to be wrong…and so
on until the end reports don’t deliver the right data.
Frequent design reviews are a must, and they should
involve the whole team. The data modeler, the ETL
developer, the business owner, and the project
manager can all learn new vocabulary and skills
from their peers through these reviews, and they
can understand how various rules are applied. If
the ETL developer is part of the data model design
review, then the developer learns about the target
model before writing code to populate that model.
7
CHAMPION GUIDES
There are three questions to review in every
11. ENABLE 12. REFLECT ON retrospective:
SELF-ORGANIZING TEAMS EFFECTIVENESS 1. What went right?
2. What went wrong?
The best architectures, At regular intervals, the team 3. What will we do differently in the next sprint?
requirements, and designs emerge reflects on how to become more Empower your team to lead this process. Keep in
from self-organizing teams. effective, then tunes and adjusts mind, you won’t be able to fix everything all at once.
its behavior accordingly. Prioritize changes to your approach just like you do
Data warehouse adaptation:
your user stories and attack the most important ones,
Challenge your team members to take on Data warehouse adaptation: with the most value, in the next sprint. Have patience
roles based on skill sets and interest, rather Retrospectives are an indispensable
with the retrospective process, as it typically takes
than just what’s stated in their job titles. part of high-performing data and
time for teams to master the idea and be truly open to
business intelligence teams.
changing their ways.
A uniquely Agile approach to teamwork asks team Team reflections in Agile are called retrospectives. .
members to figure out among themselves who is Retrospectives are a must for any business intelligence
best at what task. This requires leaders to avoid team, regardless of the methodology they use. They
micromanaging. Over time, team members will occur at the end of each sprint, iteration, or delivery
naturally gravitate to roles based on skills, interest, release. Done properly, they lead to an ever-improving
and personality. This approach has the added benefit and efficient development process, and thus enable
of eliminating delays by having shared responsibilities the team to deliver even more high quality data and
and no single point of failure. And it supports principle analytics in the same timeframe.
number 5, keeping your team motivated by letting
them do work they enjoy and are good at.
Groups succeed or fail as a team. If you can get a
group to agree to that, it will free them up to be less
afraid of taking risks and trying something different.
8
CHAMPION GUIDES
CONCLUSION
Agile concepts can be applied successfully to data
warehousing and business intelligence programs, but
doing so requires creativity and patience. Although
Agile development champions speed, transitioning
to an Agile process won’t happen overnight. With
patience, persistence, and the right adaptations,
Agile methodologies can hold the secret to delivering
greater business value to customers more quickly.
9
CHAMPION GUIDES
THE 12 PRINCIPLES OF AGILE
ADAPTED FOR DATA WAREHOUSING
1. Our highest priority is to satisfy the customer through 5. Build projects around motivated individuals. Give 9. Continuous attention to technical excellence and
early and continuous delivery of valuable software. them the environment and support they need and good design enhances agility..
trust them to get the job done.
Data warehouse adaptation: Identify a proxy for the Data warehouse adaptation: Ensure the whole team
end customer if needed. That person or proxy must be Data warehouse adaptation: Invest in training your is involved in every design review.
able to define what constitutes success. team to work with the speed and independence an
Agile process requires.
2. Welcome changing requirements, even late in 6. The most efficient and effective method of 10. Simplicity, or the art of maximizing the amount of
development. Agile processes harness change for the conveying information to and within a development work not done, is essential..
customer’s competitive advantage. team is face-to-face conversation.
Data warehouse adaptation: Eliminate manual
Data warehouse adaptation: Establish clear user stories Data warehouse adaptation: Set up in-person coding to reduce errors and make revisions easier.
for every requirement. Leverage code generators, Agile daily team huddles.
data engineering techniques, and a data platform that
can grow and change with you to stay nimble.
3. Deliver working software frequently, from a couple of 7. Working software is the primary 11. The best architectures, requirements, and designs
weeks to a couple of months, with a preference to the measure of progress. emerge from self-organizing teams.
shorter timescale.
Data warehouse adaptation: Recognize incremental Data warehouse adaptation: Challenge your team
Data warehouse adaptation: Focus on shortening additions as deliverables, rather than waiting for members to take on roles based on skill sets and interest,
your delivery iterations. the finished product. rather than just what’s stated in their job titles.
4. Business people and developers must work together 8. Agile processes promote sustainable development. 12. At regular intervals, the team reflects on how to
daily throughout the project. The sponsors, developers, and users should be able to become more effective, then tunes and adjusts its
maintain a constant pace indefinitely. behavior accordingly
Data warehouse adaptation: Ask business owners to
join your daily meetings to ensure continued buy-in. Data warehouse adaptation: Sustainable ongoing Data warehouse adaptation: Retrospectives are an
development is more necessary in a data warehouse. indispensable part of high-performing data and
It is a long term journey which is NEVER truly done. business intelligence teams.
10
ABOUT THE AUTHOR
Kent Graziano is the Chief Technical Evangelist for Snowflake Inc. He is an award-winning author, and recognized
expert in the areas of data modeling, data architecture, and Agile data warehousing. He is an Oracle ACE Director
- Alumni, member of the OakTable Network, a certified Data Vault Master and Data Vault 2.0 Practitioner
(CDVP2), expert data modeler, and solution architect with more than 30 years of experience.
ABOUT SNOWFLAKE
Snowflake is the only data warehouse built for the cloud, enabling the data-driven enterprise with instant
elasticity, secure data sharing, and per-second pricing across multiple clouds. Snowflake combines the
power of data warehousing, the flexibility of big data platforms, and the elasticity of the cloud at a fraction
of the cost of traditional solutions. Snowflake: Your data, no limits. Find out more at snowflake.com.