Part 2 of 4
Bob Blackburn
2015-09-17
In part 2, we will look at modifying agile methods for a BI
project. Read part 1 reviewing of the key differences between Agile and waterfall
here. In later installments we will discuss converting a team to use agile
methods and a brief introduction to some Agile Data Modeling concepts.
How is a BI project different than a typical agile OLTP
project?
First we will take a look at the architecture of each.
Web
Architecture BI Architecture
As you can see, there are more pieces. Multiple sources,
repositories, downstream databases, and applications that increase the
complexity. This can be broken down into the Breadth and Depth of Complexity.
Breadth includes extracting, cleansing, integrating, and transforming. While
depth includes conflicting data definitions, business rules, and high data
volumes.
Agile Adaptations
Creating another layer of requests under user stories
These are developer stories. If the user story is being able
to view sales by product type and region over time. You may need to break this
down behind the scenes and have tasks for product, customer, geography and
sales data loads.
Adding additional team roles (A person may fill more than
one role.)
Project Architect –business model. Balanced tech solution
Data Architect –logical/physical model
Business/System Analyst –Processing patterns, transform
rules, Source to Target Mapping (STTM)
System Tester –Validation
Organizing the team into a pipeline of delivery activities
The architect has to be just ahead of the ETL developer.
And, the ETL developer has to be just ahead of the report developer. Etc.
Conducting two lead-off iterations
This will give the Project Architect and the Data Architect
time to establish the environment.
Splitting user demos into two stages
The first will be static test data that can be used to
testing. The second is production data for full scale testing.
Maintaining many small managed test data sets
Relating to the previous adjustment, the agile team needs
quick turnaround of test cycles. Often consisting of multiple times per day. A
small set of data is to facilitate this.
Visually the Roles for the Sprints look like this:
Sprint
|
Project
Arch
|
Data
Arch
|
Developer
|
Testing
|
-1
|
A+
|
|
|
|
0
|
B
|
A+
|
|
|
1
|
C
|
B
|
A
|
|
2
|
D
|
C
|
B
|
A
|
3
|
|
D
|
C
|
B
|
As you can see, there are a few steps to come up to full
speed; but, you quickly reach full velocity and producing functional BI
applications.
In Part 3, we will look at converting a traditional
development team to using agile methods.
Labels: Agile, AgileBI