Allgemein Für Administratoren Für Architekten Für Entwickler Für Projektleiter Für Tester News Produkte Publikationen
Boris Wehrle
Boris Wehrle ist Senior Software Consultant und zertifizierter Projektleiter bei der AIT.

Boris Wehrle

Overview of implemented requirements across branches

Dienstag, 09. September 2014

TFS functions enhanced and simplified using the TFS ASAP

One of the main advantage of the TFS is the ability to link multiple artifacts which are related to a project. Source code changes, builds and requirements are joined together to a whole. The main benefit of such a deeply integrated environment is transparency.

That makes it easy to find out which requirements or features have already been become part of a build. Only a small work item query is necessary to achieve that.

Collecting the information in order to write a release summary is done within seconds.

There are of course some prerequisites. The requirements have to be planned and split into smaller tasks. The tasks have to be linked when source code changes were checked in and a build process has to be defined.

If you are working with branches (which is highly recommended) you need a bit of discipline and concentration in addition. If you prefer to have it easy and secure also in this scenario it is time to have a deeper look onto TFS Automated Servicing & Administration Platform.

A small application consisting of two features illustrates the approach. Each feature consists of two requirements. Each is broken down into two tasks. To implement the features independently two feature branches are used. The results are integrated on the main branch. The release will get created on a separate branch. Therefore the release notes have to be collected.

Features, requirements and tasks are at first defined and structured in the backlog or the task board.

Two feature branches are created based on the main branch as well as the release branch.

For each branch a build process will be defined.

During the check-in-process the implemented tasks are linked by the developer.

Thereafter the running build process links everything together.

Now it is possible to create a work item query showing all work items which have already been resolved on that branch.

As soon as the requirements are fulfilled they are merged into the main branch. In order to use the work item query on this branch it is also necessary to link all requirements which have been resolved on the source branch with the check-in.

After testing the integrated requirements they have to be merged into the release branch. Once again it is necessary to link all requirements which are resolved on the main branch.

In the shown example with two features this is an easy task. But in reality you typically have a bunch of requirements to merge. Selecting always the right ones requires a smart work item query and especially a lot of concentration.

Here TFS ASAP comes into play. This error-prone task will be done by this server side extension in the background. All work items which are related to a merge process are linked automatically with the resulting merge change set. Work items which had previously been linked to a check-in into the source branch are taken into consideration

The integrity of the work item query which is used to create the release notes is hereby ensured.

Merge operations are simplified and forgetting requirements gets impossible.

A small extension through the TFS Automated Servicing & Administration Platform with great effect!

The creation of the release notes can even be more simplified by adding a field “Release Note” to the requirement work item definition. These information can get transformed directly into a document using the AIT Build Suite.

Verwandte Artikel:

Benötigen Sie Unterstützung bei der Software-Entwicklung und Architektur von .NET basierten Lösungen oder bei Einführung und Anpassung von Visual Studio / Microsoft Test Manager / Team Foundation Server?

Wir stehen Ihnen unter info(at) gerne zur Verfügung.

Tags: , , , ,

Eine Antwort zu “Overview of implemented requirements across branches”

  1. ronald sagt:

    ihr Kollege war bei uns und wir haben unser Problem „richtige“ Releasenotes mit Ihre Abfrage lösen können. Allerdings mussten wir in dem String (value) des Builds, den Prefix der Builddef. löschen. In Ihrem Bsp. also „Sample. Releases.Release 1.0“ löschen, erst dann werden Daten angezeigt.
    Vielen Dank,
    Ronald Creutz

Hinterlasse eine Antwort