I hate that title…but it is the best I could come up with…
At the risk of sounding a little bit redundant, my experience has taken me from the small enterprise with under 250 users to the giga-enterprise with upwards of 30k users. Regardless of size, each strives to implement processes to improve the development lifecycle within all of IT. Inevitably, these processes get trickled down to the business intelligence teams as well with the edict to implement them on both universe and report design. I’d like to challenge that this may not be the best approach for the enterprise.
Let’s first make sure everybody is on the same page. Back in my day, we were taught that the SDLC looked like…
- Analysis
- Design
- Development
- Testing
- Implementation
…or maybe even…
- Planning
- Analysis
- Design
- Implementation
- Maintenance
This really is old school. The SDLC has different flavors now, considering extended lifecycles, waterfall vs. iterative, agile….project management heaven. But I diguress..
Ok, now the project management 101 lesson is over, let’s dig a little deeper. No BI project can be successful without appropriate analysis. This is intimate time spent between you and your business user to fully comprehend their reporting need, their current reporting solution, and what isn’t working about it. This is your chance to be a sympathetic ear and a trusted advisor. But, that’s not what this post is all about.
Moving a step forward to the design phase. When you do design for a data model, you use tools like CA Erwin or TOAD to crank out a conceptual, logical, and physical data model. Where I start to get heartburn is when someone hands me a spreadsheet or a word document and says “go do the detailed design for this universe”.
So, at the risk of hitting a nerve with some, I’ll throw out my argument and take it from there: I feel more and more that universe design should be just that…part of the design itself, not wholeheartedly considered “development”.
Could this be called heresy? Maybe. But before you stone me, read on.
I don’t know about you, but when I do universe design it is really an iterative process, profiling data, understanding its make-up, then implementing something in that layer. Until you have a deeper understanding of the data in front of you, how can an accurate design be set forth? Don’t get me wrong. I truly believe you can’t walk away from the analysis phase without doing SOME data profiling. However, work that a business analyst documenting requirements may be doing is going to be a bit different than what a universe designer may finally need to implement structure wise.
So what is the right thing to do here? I have grown to consider universe design as a part of my detail design, and use cool tools like Sherlock® – Universe Inspector to automagically document my universe from head to toe. The thing you should walk away with is you used a cool WYSIWYG to design a universe and a simple documentation generator.
But but but….what if universe development runs in parallel to report development? SAP Business Objects really lends itself well to iterative development approaches. This creates a mechanism to have shorter lifecycles of universe design to satisfy report requirements and development and making it easy to not end up doing universe design twice.
As my design style evolves, I can’t say I totally have it pinned. Tinker with the idea within your universe and look at the potential to streamline your SDLC to make universe design more effective and the time to market with your BI projets shorter. As I reread this post for the fourth time, I can’t say I’ve necessarily done anything but scrape the surface on this topic. I’d love to hear challenges to this concept if you see it the other way.