When building a data warehouse, we often draw traditional, stacked-tier pictures of the data architecture: data warehouse tables, semantic layer, data marts, etc. If we start our design discussions with an assumption that anything we "build on top of" has to be "solid" then we quickly drive the overall solution away from agility. "Solid" conjures an image of a concrete foundation that has to be built to withstand floods and earthquakes. If we find a crack in our foundation, it has to be patched so the things on top don't come crumbling down.
webecoist). The trees are being shaped and molded into a purpose built structure. If, part-way through the growth process, the structure needed to change to be another 6 inches higher or hold a second story of some kind, the necessary changes could be interwoven into the growth already complete. If we were constructing a new art museum and decided, half way through, that we wanted a library instead, we'd have to make some major changes or compromised to account for the fact that the foundation was only designed to hold the weight of portraits, not stacks of books.
This conceptual discussion about growing something organically rather than building it from the ground up is directly related to the sashimi discussion from yesterday. A legacy build approach says data model, build ETL, build semantic layer, build reports. There aren't any opportunities in that model to create meaningful yet consumable vertical slices.
I hear some agile BI conversations only go halfway toward the mind shift that I think is necessary. These "think big, act small" solutions sound like a model where the only change is that you poor some of the concrete foundation at a time. Building a house using this semi-agile approach:
- Pour foundation for the kitchen only.
- Build kitchen walls.
- Wire up kitchen outlets.
- Install kitchen plumbing.
- Pour foundation for the family room only.
- Build family room walls.
- Realize you need to tear out a kitchen wall to open to family room.
- Reroute electricity in that wall.
- Rerun wiring to kitchen
- Run new wiring to family room
An organic build approach says plant a seed, watch it grow. First, a sprout appears, with roots a stem and leaves. The stem gets thicker, the roots grow deeper, and more leaves sprout. Branches grow. Flowers bud and fruit appears. When requirements change some pruning and grafting is required, but you don't have to tear down the tree and plan a new one from scratch or start a new tree on the side. The tree will grow around power lines and rocks and other trees as needed.
There's the mindset. I don't think it's easy to shift from a constructionist perspective to an organic one. Success in agile BI requires this change in thinking, though. If you're still laying foundations and screwing sheetrock onto studs, your attempt at agile BI will not be optimal.
Good luck with that.