Wed 7 Jun 2006
Building a successful Data Warehouse as part of a BI roll out is going to test both your tolerance for ambiguity and the resilience of your development methodology. Traditional water-fall model tends to fail as BI requirements change frequently. So if the traditional big-bang waterfall is not likely to work, what does?
Agile development is an approach that “cycles” through the development phases, from gathering requirements to delivering functionality into a working release. Two widely used agile development frameworks are the Microsoft Solutions Framework (MSF) and Extreme Programming (XP).
Agile development methodologies begin with ‘user stories’ which are brief 2-3 sentence problem statement. They tend to describe just enough of user requirements to get a rough idea of effort and scope. These are then used to develop multi-release plans that establish the roadmap for the team and establish the longer term vision for the team.
The actual development is done in frequent cycles of small releases (both fresh development releases as well stabilization releases). Stories are assigned to individual development cycles depending upon resources, time and requirements. This Resource-Time-Requirement triangle is actively managed through triage to make sure that release schedules are met.
Click here to read about applying Agile development methodologies to Data Warehousing projects.
June 13th, 2006 at 3:12 am
The type of development you are describing sounds very similar to the open source model of release early and release often. It often a great way to get users to buy in to the end product since they have been actively helping to drive development.
June 17th, 2006 at 12:28 pm
Yes, some open source projects have been early adopters of “non-cathedral” development models that recognize problems with the traditional waterfall model. Customers love it because they see early prototypes and drive the development.
November 1st, 2007 at 4:28 pm
Hai.have done informatica course.would like to can have the sample datamart of any domain…banking or insurance…can you send it plz
May 1st, 2008 at 5:20 am
I have a group of about 20 DWH developers and we recently took the plunge into an Agile development approach at the beginning of this year. We did 4 x 3 week sprints with the plan of elevating at the end of the 4th sprint. The first 3 sprints were building code (Datastage in our case) and the 4th sprint was to be an test/elevation sprint. Unfortunately we found that we had grossly under-estimated the 4th sprint. It took us much longer than planned to integrate all of our code into a working cycle, test it, and elevate and load the database. We have been pondering if we should have run an integration cycle every sprint but that carries quite a bit of work/overhead too. Thoughts?