Agile methodology is gaining importance in all the aspects of Information technology and Business Intelligence cannot be secluded from this trend. While most of the Business Intelligence projects are executed in waterfall, executing a project in Agile was never acclaimed even though it existed. The requirements of modelling, data kept changing as per business’ discretion. Introduction of fresh data in midst of testing phase resulted in developers struggling to complete the new requirement. The issues with data accuracy and inconsistencies haunted the team till the very release of Project. So the big question is what difference will implementation of Agile make to Business Intelligence projects?
Agile should be the way of implementing project right from requirement gathering, prototyping and defining the boundaries of project. Post the initial analysis of available data and business requirements around this data, teams should envision the initial architecture and environment required. The teams and capabilities should be planned around the same. Once the basic requirements are prioritized then framework should be in place with defined standards and initial guidelines.
As the iterations proceed this initial framework will act as a baseline and working model will be available for the businesses to use in short time. Giving more time for any tweaks in the early phase of development instead of waiting till the very end.
The continuous process would involve all the stakeholders. The approach should be Design, Build and Test. Deployment of the product internally and initial documentation for every requirement should be in place. The next iteration should follow the same and additionally taking care of any changes and defects in the previous iterations. The final iterations should involve closing of all requirements, fixing defects, documentation and training the end users for hands on use of software.
The benefits of shifting to Agile will be enormous, wherein the business, developers and testers will be in sync for the requirements in any iteration. Hence complete testing and quality checks will be performed and data will be ready for perusal of users. The fact that users can start using the system after completion of the first iteration is a big advantage in itself. This ensures faster time to market and increases BI adoption within the user community.
Overcoming Challenges to Implement Agile:
Agile too like standard SDLC method faces challenges while implementing for a BI project.
Major challenges like Data inaccuracy, inconsistency, unit testing and data quality checks for each and every iteration. Unit testing for current iteration along with integration testing for all the modules delivered in all previous iterations to ensure all the modules overcome data quality challenges.
Lack of knowledge and willingness to adopt Agile and its principles to apply in projects. Should be tackled by increasing awareness and team orientation.
Understanding complex business requirements within short duration due to frequent iterations. Concentrating on few critical requirements at a time, will help to focus on a specific aspect of software.
Huge team size hampers communication and at times difficult to get everyone on same page. Being well organised and light management is the primary condition of Agile.
Involve support/operations and maintenance teams along with end users team earlier in the iteration to give a hands on idea of project and for see any difficulties at a later stage.