Doing BI the iterative way
By: Carl Hochfelden, senior consultant, Synergy BI.

While silver bullets and big bangs may hold the promise of rapid and instant results, where complex software projects are concerned, such approaches also carry the risk of delivering serious disappointment rather than the anticipated value. That’s why an iterative approach to business intelligence deployments is often the more sensible one: begin with the basics then steadily build on a solid foundation.

Iterative development is a cyclic process which starts with an initial planning and ends with deployment with the cyclic interaction in between, as indicated in the diagram below.


Such an approach is evolutionary by nature; it is particularly relevant when defining requirements upfront in a BI environment is not straightforward without a better idea of what is available in the enterprise data store. The more that is uncovered as the BI project advances, the clearer the requirements become.
Due to the fact that not all requirements are known upfront and hence the scope is not always strictly defined, iterative development lends itself to a release-managed approach. Each iteration can be viewed as a release with specifically scoped delivery items that are taken through a complete development cycle, including back-end and front-end processes. As new requirements are uncovered, items/functionality can be grouped into manageable ‘releases’ of the BI application, with each new release being taken through the BI development lifecycle.

It is important that each new release does not attempt to exceed the delivery specifications; this could result in that iteration taking too long to deliver value to the organisation.

What results from iterative development? Business people will be interested in the promise of a rapid return on investment. The main aim of the approach, specifically for any BI initiative, is to deliver as much value to the organisation in as short space of time as possible. By having short iterations where a focused business requirement is taken through the entire development lifecycle, including planning, analysis, design, development as well as testing and QA, the business benefits from a ‘productionised’ component of what will, in time, become a bigger enterprise-wide BI application.

Moreover, an iterative development approach is more likely to result in adaptability. Changes in the scope of any project are inevitable and need to be carefully managed, regardless of methodology. An iterative approach, by its very nature, encourages scope adjustments throughout the process and aims to deliver a product that is as close to the user requirements as possible.

Iterative development also supports one of the most critical aspects of IT-powered business projects – that of better communication between the IT and the business people. Constant review and feedback within each iteration ensures that business users and the development team are constantly connected. Within this process, the Business Analyst plays an important role in communicating the business user’s vision to the developers to ensure that they know exactly what the users’ expectation is for a particular iteration 

*Note: It is worth noting that Iterative as well as Agile approaches to system development have spurned a number of formal variations to manage this type of development, SCRUM being one of the notable ones currently being adopted by Synergy BI. For further details on this methodology, go to http://scrummethodology.com/