Wherescapered Agile Software PDF
Wherescapered Agile Software PDF
Wherescapered Agile Software PDF
By Vince Donovan
WhereScape USA
August 2010
Contents
1. Introduction .............................................................. 3
2. Working with Stories .................................................. 3
Operations vs. End Users .......................................... 4
Data vs. Display ........................................................ 4
Validation and Acceptance Criteria ........................... 5
3. Automated Database Development .............................. 6
Table Naming ........................................................... 7
Column Definition ..................................................... 7
System-Maintained Columns .................................... 8
Automated Indexing and Constraints ....................... 8
4. Automated ETL/ELT Development ................................ 9
5. Database Refactoring ............................................... 14
Table Validation ...................................................... 15
Change Propagation ............................................... 15
6. Automated Documentation and Source Tracking .......... 16
7. Version Control ....................................................... 19
OBJECT VERSIONING ...................................................... 20
PROJECT VERSIONING .................................................... 21
DATA W AREHOUSE VERSIONING ....................................... 21
8. Testing the WhereScape RED Data Warehouse ............ 22
INCREMENTAL TESTING ................................................... 22
VALIDATION TESTING ..................................................... 23
9. Production Framework ............................................. 24
SCHEDULING ................................................................. 24
DEPENDENCIES .............................................................. 24
ERRORS, NOTIFICATION,
AND
RECOVERY ........................... 25
2 | Page
1. Introduction
Working Software. Its at the core of the Agile manifesto. As
a BI developer you know these arent just words; theyre a
serious commitment.
And its a commitment that WhereScape RED helps you honor.
WhereScape RED rapidly delivers production-quality code fast.
It automates the routine aspects of BI development so you can
spend more time working with users and refining the highvalue project deliverables.
Important agile features of WhereScape RED include:
THE
STORY
4 | Page
DIMENSION
Table Naming
Column Definition
7 | Page
System-Maintained Columns
Note that not only have the table column names and data
types been defined for the designer, saving time and reducing
the risk of mapping errors, but new columns that are required
for the dimensional tables have been defined automatically:
Since the primary and foreign keys were identified during the
table definition, WhereScape RED automatically generates the
appropriate indexes and key constraints for these columns.
8 | Page
While these are probably not all of the indexes that will be
required on this table -- additional tuning will probably be
required once the warehouse is in production -- its a useful
head start:
THE
DIMENSION
DATA TRANSFORMATIONS
Transformations are easily defined for any data column at any
point in the load process. WhereScape RED supports all native
SQL and procedural functions. New columns can be defined to
support derivative business logic. Transformations are
inserted into the update logic and are also part of the
documentation produced, so the changes occurring to data as
it flows through the data warehouse are obvious and well
documented.
10 | P a g e
BUSINESS KEYS
The first step is to identify the business key: that is, the
natural key of the source system. For our Product dimension,
this is the product code. As well see, WhereScape RED will
automatically create the logic to map this to the data
warehouse surrogate keys:
11 | P a g e
DE-NORMALIZING
Its common to join multiple tables when loading a data
warehouse table. De-normalization is an important function of
data warehousing. WhereScape RED detects if multiple tables
are required from the source and facilitates creation of the join
logic:
AND
MORE
Weve got our basic load logic in place, but there is more to
delivering the data than that. Simple logic is sufficient for an
initial load of the tables, but real production requires
incremental logic to detect changes and correctly update the
records in the dimension tables.
Not only that, our practice of introducing a surrogate key into
the data warehouse requires that we make available a stored
procedure so that when transaction records are loaded into the
fact tables, it is fast and efficient to look up the new keys.
Fortunately, WhereScape RED does all this for us
automatically. All of the logic created is incremental, so this
code is ready to go into production. A special stored procedure
is generated automatically to support surrogate key lookups.
12 | P a g e
QUICK CHANGES
13 | P a g e
Did we get the business logic slightly (or very) wrong? Did we
forget to include some columns as slowly changing
dimensions? Is there a new source of data to be included? Or
did the user just think up some new requirements?
Agile methods dont ignore these situations, but rather
embrace them as the quickest route to satisfied customers.
WhereScape RED embraces change as well, implementing new
requirements quickly, with high quality and low risk.
For additions or changes to the users business logic, simply
update the transformation in WhereScape RED for the
appropriate column and rerun the code wizard. WhereScape
RED remembers all previous values, so re-generation is quick
and solid. Logic changes may also require database changes,
which are discussed in the Database Refactoring section.
5. Database Refactoring
New user stories or revised business rules may require
database changes as well as code changes. WhereScape RED
makes it easy to incrementally develop database objects.
NEW, EDIT, COPY, A DD
New columns are quickly defined in WhereScape RED. A useful
strategy for calculated columns is to copy an existing column
that will be a source of the calculation.
14 | P a g e
Change Propagation
15 | P a g e
16 | P a g e
17 | P a g e
Like the database schemas, these diagrams are selfmaintaining. As the data warehouse develops, the
documentation develops right along with it.
WEB BASED USER D OCUMENTATION
In an Agile project, great emphasis is placed on verbal
communication between developers. But front-end developers,
who are rolling out the critical reports, dashboards, and data
visualizations, also need detail-level information about the data
warehouse objects. Details about the dozens of columns in a
data warehouse are often most efficiently delivered in a
document or over the web.
WhereScape RED generates a user-level document as a basic
web page that report developers can use as a reference. It
includes the latest schema diagrams, table and column
definitions, a glossary, and catalog of naming conventions.
18 | P a g e
7. Version Control
Agile development means being quick and bold. Agile means
trying new things, and then trying more new things if the first
ones dont work out.
This approach requires easy, flexible version control. And not
just of code files; database objects and their dependencies
must be managed as well.
WhereScape RED allows versioning at several levels. It also
automatically versions most objects at key points during the
development.
LAYERS
OF
VERSION MANAGEMENT
19 | P a g e
OBJECT VERSIONING
Choosing an object to version gives you the option to version a
linked set of database tables and dependant procedures:
20 | P a g e
PROJECT VERSIONING
WhereScape RED allows you to divide the development effort
into projects. As each developer works down the task list, an
entire project can be versioned:
21 | P a g e
Warehouse
22 | P a g e
VALIDATION TESTING
Even after development is complete, testing must continue.
Periodic production loads into the data warehouse must
support validation test to make sure that the incoming data is
of good quality.
WhereScape REDs production framework supports validation
scripts that can be tied to any and all objects as they are
loaded.
23 | P a g e
9. Production Framework
Multiple source systems. Dozens, even hundreds of tables.
Thousands of lines of code. Complex dependencies. How can
we make sure that everything will load at the right time, in the
right order? How can we reduce the impact of the inevitable
errors in the incoming data, or problems with source system
availability, network outages, etc?
There are several possible solutions. Most operating systems
have native schedulers that can trigger procedures or builds.
But only WhereScape REDs scheduler is integrated with the
data warehouse objects themselves. Not only can it manage
dependencies, but it also reports status and makes problem
detection recovery quick and painless.
SCHEDULING
WhereScape REDs scheduler offers a wide range of options for
job execution, including daily, weekly, monthly, yearly, or
completely customized.
DEPENDENCIES
Load dependencies are critical to data warehousing.
WhereScapes job builder provides default dependencies, based
on object type, with full configurability. The Order column
below shows the initial assignment of dependencies for a
typical load job. Load tasks can be grouped to run in parallel,
if required.
24 | P a g e
25 | P a g e
26 | P a g e
10.
11.
28 | P a g e