Oscar Göthberg

Applying Business Intelligence to Software Engineering

Abstract

A major problem with software development is a lack of insight into how well the project is going. Every year, a vast majority of finished software projects in the US are either scrapped, or completed without meeting cost and time constraints. At the same time, analysis of performance metrics is an area that is often underutilized in software engineering because of a lack of expertise and tools.

However, this is not so in the business world, where data is modeled and analyzed along different dimensions to help make critical business decisions that can determine profits or loss. These techniques fall under the umbrella of "business intelligence". In my thesis, I have evaluated using these techniques for the gathering of metrics related to the progress of a software project.

With a list of metrics to provide as the project aim, I used the business intelligence platform developed by LucidEra to develop four analytics applications, each corresponding to a different engineering support system (a bug database, a testing framework, a continous integration system and a revision control system) as the data source.

Through this approach, I was able to provide a majority, although not all, of the metrics from my list in an automated and relatively source-independent fashion. Based on my results, I conclude that using a business intelligence platform is a viable approach to the problem of providing better analytics related to software engineering.

Att tillämpa Business Intelligence på mjukvaruutveckling

Sammanfattning

Ett stort problem inom mjukvaruutveckling är brist på insikt i hur väl projektet fortskrider. Varje år är en stor majoritet av de mjukvaruprojekt som avslutas i USA antingen nedlagda, eller avslutade utan att möta tids- och kostnadsramar. Samtidigt är analys av prestationsindikatorer ett område som ofta är underutnyttjat i mjukvaruutveckling på grund av en brist på expertis och verktyg.

Så är dock inte fallet i affärsvärlden, där data modelleras och analyseras längs olika dimensioner för att underlätta kritiska affärsbeslut som avgör vinst eller förlust. Dessa tekniker faller under begreppet "business intelligence". I mitt examensarbete har jag utvärderat möjligheterna att använda dessa tekniker för att underlätta insamlingen av mätetal relaterade till progressionen hos ett mjukvaruprojekt.

Med en lista av mätetal att tillhandahålla som målsättning för projektet, har jag använt den business intelligence-plattform som utvecklas av LucidEra för att utveckla fyra analysapplikationer, var och en baserad på ett av utvecklingslagets stödsystem (en buggdatabas, ett testramverk, ett system integrationsautomatisering och ett versionshanteringssystem) som datakälla.

Genom detta tillvägagångssätt kunde jag tillhandahålla de flesta, om än inte alla, av mätetalen från min lista på ett automatiserat och relativt källoberoende sätt. Med mina resultat som bas kan jag konstatera att användandet av en business intelligence-plattform är ett gångbart sätt att tillhandahålla bättre mätetal för mjukvaruutveckling.