Joinutility seperatorLogin utility separator Infobright.com

Infobright Blog

01
Jan

Agile for Data Warehouse Projects?

Victoria Eastwood's photo
by Victoria Eastwood     Thu, Jan 01, 2009

I’m a bit of an old war horse when it comes to project management. Having managed many projects over the years and as my boss would be happy to point out, having plenty of grey hair to show for it.

When I first started my career, projects were managed using the waterfall life cycle management. Of course some more successfully then others. I got quite good at it to tell you the truth. As the practice software engineering improved, iterative development approaches where introduced which I quickly applied to my projects. Following the Microsoft mantra of “get to a shippable state and keep there”; adding function and feature iteratively once a skeleton framework was established.

We apply Agile methods to our development process at Infobright. Applying Agile to the development of a database system is a bit of a struggle since the problems tend to be fairly large and rarely fit in one iteration so defining appropriate test points at the end of an iterations becomes a bit of a challenge. However, the benefits of Agile outweigh many of these struggles and we have been quite successful with its application.

Then I got to thinking about the various data warehouse projects I have worked on. Most of these were pretty mammoth scale projects both in the objective and the number of people involved. All followed some sort of waterfall approach to project management and all had issues around changing requirements, unknowns in source system data, etc. All projects suffered from date slippages and failed features that had to be re-implemented. Just for the record, I wasn’t managing the projects but working on requirements gathering and data warehouse architecture and design.

If you look at Agile and think carefully about what development problems it solves, it seems to me it’s a perfect fit for data warehousing applications. Each iteration can bring one more bit of data/subject area into the warehouse. Business can prioritize data/analysis needs and they can change them every month! The team can apply what it learns about the data over time rather than waiting until its completely implemented before figuring out the data quality is insufficient to meet the business requirement.

So what’s different about Agile relative to other iterative development approaches? Well, several seemingly minor things but they add up. Here’s a few of the more obvious.

  • Create a list of business functionality to be delivered by the data warehouse project and have the business prioritize it.
  • At the beginning of an iteration, select from a backlog of business functionality the items that deliver the most value to the business and can be completed in a month (if items are too big for a month, break them down into several smaller functional items.)
  • Time box the iteration to about a month (we follow calendar months).
  • Leave the development team alone during the iteration (i.e. don’t change the task list). If something disastrous happens, scrap the iteration and start over.
  • The development team should be cross functional, including developers (ETL and BI), QA, business analysis etc. Keep the team small, around 7 or so. Have the team members sign up to the tasks from the task list. Watch magic happen as the team solves their problems to meet the iteration goals.
  • At the end of the iteration, demonstrate the delivered functionality. The software should be shippable, so the business can choose if they would like to implement it into production.
  • Repeat the process, starting by re-prioritizing the backlog of business items and selecting the tasks for the next iteration


 Of course there are much more to Agile than I can put into a few bullet points. There are many resources on the web that can help you get started with Agile if you are interested (see http://agilemanifesto.org/ and http://www.agilealliance.org). I just find it curious that data warehouse projects don’t seem to follow the best practices in software engineering. Perhaps people don’t think of data warehousing as software development, since you generally implement using tools (but this is really just another type of programming isn’t it?)

Very interesting and fun article for me to read. I really have enjoyed this great information so much.You should keep an eye out for more on this exciting program that will bridge the gap to your highest potential and utmost satisfaction la classifieds.

Author: smith_farnandas
Date: 04/26/12

Business can prioritize data/analysis needs and they can change them every month! The team can apply what it learns about the data Plummer over time rather than waiting until its completely implemented before figuring out the data quality is insufficient to meet the business requirement.

Author: smith_farnandas
Date: 04/22/12

Victoria Eastwood :

I understand you are looking for the next Community Manager.  I will pass this message on.  Good luck in your future adventures cpr.

Author: zackmiller091
Date: 04/22/12

Excellent! I saw many articles do you read but a good thing. That is a boy. Thank you so much for sharing a good post. Expect your next article.

Regards,
Data Recovery

Author: zackmiller091
Date: 04/21/12

Excellent! I saw many articles do you read but a good thing. That is a boy. Thank you so much for sharing a good post this site . Expect your next article.

Author: zackmiller091
Date: 04/19/12

You have a very decent writing skill. I have gone through your article. The post seems great. The matter is just awesome and very informative for the title thanks foe sharing this with Buy Ritalin

Author: worthmeds
Date: 04/17/12

i think you are doing excellent work on data warehouse projects.these projects are on top position.i appreciate your work.thanks for this post.
craigslist Houston

Author: craigslistz22
Date: 11/24/11

no doubt your work is outstanding and you are doing on several data warehouse projects.you provides a good idea in this post.thanks for sharing such a nice post.
Craigslist San Francisco

Author: kijijiie49
Date: 10/24/11

At my last position we used Agile Development to great success in building a Data Warehouse built on JasperSoft and Liferay technology.

We were able to quickly get to a state where we were providing a few great reports to our clients and were able to add more features, OLAP and Ad-hoc reporting to be specific, in every iteration.

Our clients felt very involved in the process because their (good) suggestions were implemented quickly and they got to see changes to our platform.

This put us in a great position, in that they trusted our ability to deliver the reports and data they needed. Agile worked quite well for us.

Date: 01/03/09

Please login or register to post a comment.