Thursday, August 20, 2009

Agile Methodology

I would like to share my understanding of Agile methodology.
In the traditional waterfall model, the development process is step-by-step. Meaning, we do not go to the next step of development, until the previous step is approved and signed off. This can sometimes be problematic, especially when, during QA/testing phase, if a defect is found, that turns out to be a design flaw. It is too expensive to go back and change the software design and rewrite it.

In contrast, Agile development is a continuous cycle of Design-Code-Test. The development cycles are shorter. In ordinary terms, instead of having a huge laundry list of deliverables, to be delivered in 18 months, Agile method will have 3 shorter lists of deliverables, delivered every 6 months.

The process to implement the Agile methodology is called 'Scrum'.
The development cycle is broken into sprints. Each sprint is typically 2 weeks (it's a general norm. It can be longer than that. Sprint shorter that 2 weeks does not make much sense). Each project team member is given a specific task and deadline. Based on that, he/she has to break it down into subtasks. At the beginning of each sprint, each team member has to come up with a list of (sub)tasks that he/she is planning to perform in that sprint, and send it to the scrum master (a person, generally a senior team member, or someone from PMO).
Every day, a scrum meeting is arranged, typically early morning. The scrum master asks each person about the progress of his task(s), any issues that stop him/her from completing it. That way, the overall progress of the project is tracked on a daily basis, and problems, if any, are detected immediately.

Wednesday, August 19, 2009

QA in a Data Warehouse Environment

QA in a DW environment can be a really exciting experience.

One has to remember that the testing in a DW project is going to be White Box testing. QA person has to know the internals of the ETL, how data is extracted and filtered, and how reports are generated.

'Business Objects' is one such tool, that provides for the entire DW project. You can use its data integrator as an ETL tool. Other ETL tools include Integration Service (SSIS), Informatica etc.

Reports can generated using either BO's WEBi or Crystal Reports.

I have included project-specific information on my DW Blog.