Iterative Business Intelligence
Traditional software development process relied on waterfall based model. Progress flows from phases passing through requirements, design, implementation, and verification and maintenance. Next phase cannot start when the current phase is incomplete. Clients didn’t have a working prototype and they were out of the picture for what actually was being developed till the final delivery.
Modern development techniques tend to be more interactive with the client, have a daily morning short scrum internal meeting, relies on customer collaboration over contract negotiation, working software over comprehensive documentation, individual and interactions over process and tools, responding to change over following a plan (change management).
Most of the software development these days has stopped following the traditional methods of waterfall based software development. But most of the business intelligence projects are still done using waterfall based models. Business Intelligence projects have a high failure ratio. More than 50% projects normally fail. Few reasons for why business intelligence projects still use waterfall and traditional processes are due to the nature of projects of this domain. Business Intelligence projects are normally big (in terms of man hours), having lots of data, prototype is available very late, server installations take weeks if not months and actual deliverables are not available early on in the development cycle.
Allied consulting is using a mix of different techniques due to the un-impressive track record of business intelligence projects. We use approaches that help us to reduce initial investments in launching the business intelligence projects so as to deliver the KPIs incrementally and much more quickly at a lower cost. Allied consulting values its costumers and their business priorities. The incremental and iterative approaches we follow keeps our clients business priorities in mind while delving deep into the project and better define their expectations. We use layer based approach where we build entire data warehouse in iterations for business intelligence.
The time spent in documenting whole lot of big reports for business intelligence projects to be started is reduced by actually taking user stories and prioritizing them with close interaction of clients. The prioritized user stories are the actual KPI’s which the customer is really looking for. The most important KPI’s are then taken and a backward approach is used where we try to build the business intelligence system based on this KPI alone. All relevant data is injected into the system focusing the most prioritized KPI. As we move further we merge the relevant data of different business intelligence KPI’s. In our approach the intent in business intelligence projects actually is not to divide the system into different phases where data is first extracted from source and then move to a centralized system but rather into layers where a single indicator is used and developed from source and integrated into the system.
Our approach can be summarized as follows:
- Divide the whole project into 3-4 week iterations, delivering a particular KPI at the end of each iteration
- Repeat the above process throughout the project and continue adding components to this goal
- Prioritize your KPI’s based on user stories and deliver the most valued KPI’s first
- Develop each KPI from end-to-end rather than phase based development
- Avoid continuous rework in any KPI development by interacting closely with the user from start
- Learning from iterations and adapting the process
Our approach is a win-win situation for everyone. It encourages frequent inspection, adaption and set of practices that encourage rapid iterative software development and delivery for business intelligence domain. The approach is in synchronization with developing the system that aligns with customer requirements and company goals thus achieving the best results for everyone.