Inside Data 54

 By Graham Keitch

Graham Keitch explains how business intelligence can benefit development projects.

HardCopy Issue: 54 | Found In: Database | Published: 01/11/2011 | Last Revision: 14/12/2011

Application Lifecycle Management (ALM) is the process of managing an application or project over time. The lifecycle phases typically include requirements definition, development, testing, deployment and maintenance. There are a number of tools that assist with general project management and some that handle the more specialist demands of IT workers who need to collaborate and deal with issues specific to a development project. Dedicated ALM technologies such as Microsoft Visual Studio Team Foundation Server 2010 are tightly integrated with the tools that developers use. They are equipped with specific features to assist with things like version control and change management. The data they capture can also provide intelligence on how a project is going. Let’s take a closer look at how Microsoft uses business intelligence (BI) to tackle this. Microsoft Team Foundation Server (TFS) provides access to specific functionality for controlling work items and managing collaboration between project members. It has an API that exposes the functionality as Web Services that can be consumed by applications like Visual Studio 2010. TFS employs a SQL Server data warehouse to store information about key project components such as tasks, bugs and test results. The repository is used by BI technologies to reveal trends and provide traceability, while dashboards and reports display real-time metrics that can give early warning of potential problems and allows informed decisions to be taken to keep things on track. OLAP technology is deployed within the data warehouse for rich reporting using Microsoft Excel and SQL Server Reporting Services. The OLAP cube is refreshed every two hours by default, and the rate is configurable. The dashboards are delivered through SharePoint Server.

Microsoft Team Foundation Server screenshot
Using Microsoft Team Foundation Server technologies to monitor how quickly bugs get fixed.

TFS monitors and automatically logs information regarding the access and use of work items and source code. There is a warehouse adapter in the data tier which caches data from the underlying database in tabular form suitable for consumption by SQL Server Analysis Services. The reports are compiled using SQL Server Reporting Services and can be exported in various formats including Excel, XML, PDF and TIFF. More than 30 reports are provided out of the box and there is provision for further report creation and customisation. The data can also be exposed to other analytical applications via a Web Services interface which broadens the scope for tailoring reports to your needs. The analysis services are able to identify trends that span multiple work items including code error, churn and build events. Version control changesets store information about check-in events and this data can be combined with information relating to Team Build, Test Agents and other components to provide a variety of reports. These might include the rate of code change, untested bugs and regressions involving previously passed tests. The TFS project and its data can be synchronised with Microsoft Project Server as well as other systems which might include finance or human resources applications. In the context of ALM, you should not think of BI as a reporting and analytical tool that is only concerned with immediate project logistics. The capturing and analysis of data relating to IT systems and the business they support is important throughout the lifecycle. TFS provides full traceability that enables you to track progress and quality against business goals and customer requirements. You can specify and report on relationships between requirements, work items, test cases and builds. Long development timelines are more likely to be affected by shifting goal posts and BI can feed valuable information about the current state of the business into the project team. In an Agile environment, this will enable the project to be realigned and respond to changes in business requirements or conditions. TFS supports Agile and other development methodologies such as SCRUM through the use of different project templates. Team Explorer Everywhere also provides support for Eclipse, and extends the collaboration and reporting benefits to heterogeneous environments. Post-deployment, BI can take on a capacity planning role, highlighting trends that signal a need for system changes involving code or infrastructure. It is often helpful to put things in place that ensure the application continues to deliver end user satisfaction and efficiencies while still meeting the current and projected needs of the business. The data can come from numerous disparate and perhaps less obvious sources including help desk systems and other feedback mechanisms such as forums, user groups and online facilities like Microsoft Connect. For the IT department, this is useful intelligence which can inform the whole application lifecycle.

Share and Bookmark  

Comments

Be the first to comment about this article...

Leave a comment

You must login to place comments.