Extending TFS for Development Process Management

OData support
Dr. Szikora Béla
Department of Electronics Technology

One of the main issues in the lifecycle of software development companies, is to ensure high quality software within the minimal time range, with least possible bugs and maximum performance. In order to be able to track work and keep members focused on the development, firms use Issue Tracking Systems (ITS). These are capable of managing duties in multi-layer hierarchies, handle bugs and generate different kind of reports to measure the proficiency of the team. By taking advantage of these features, companies can fulfill the requirements above by being aware of the progress, being transparent and therefore being able to make key decisions based on updated, thorough, and valid information.

The most useful feature of the ISTs is the availability of customization. As every company has their own workflows and artifacts, it is necessary to be able to alter the system as needed.

The main purpose of this work is to analyze the currently used processes of a software development team, find its weak points and eliminate them by introducing a mixed methodology, alongside with a customized Issue Tracking System. Team Foundation Server is in use as the main handler of the source code and the builds now, and as we would not want to lose this integration, nor introduce another application, the ITS supporting the methodology will be this system.

The application and methodology introduction was divided into multiple pieces in order to make it easier for the team members to conform to the system. The first step included the process design and basic customization of the program, so that it supports the workflows as much as possible. During the next state, the extending the visual appearance and the handling of the bug reporting were on the table. Besides these, I altered some default reports and created a final one to fill the hole in our needs.

One of my main purposes is to keep the administration overhead of both the process and the tool at minimum, so that it would not mean too many additional efforts from the team members to keep the information in the system up to date. It is also very important, that anybody could find the appropriate data within the least possible time-range, so I paid attention to the principle of integrating all the information into one place.

The customized system is capable of keeping track of the work of the team in a multi-level hierarchy, supports the company's development workflow and the methodology principles, and provide convenient and quick ways to interact with the boards, that shows the elements of work in different states based on the layer. It produces valuable information for the upper management to base decision on and a source for the team's planning duties. I performed some analytical measurements with the use of the reports, that revealed some problems (minor ones with simple solutions), and it showed the the team is functioning in a great way using the methodology.


Please sign in to download the files of this thesis.