A couple of weeks ago Giles and I made the journey up to Harrow to check out a new VSTS add-in from one of our Inner Circle & VSIP partners. Gamcom have recently launched Talmia which is an ALM process automation and reporting tool for VSTS and after a quick demo from Chris Turvil at Gamcom it was clear that it offered some very nice extensions to TFS
So what is it?
Talmia is designed to automate the workflow of Work Items stored in Team Foundation Server. Although the tool can be used to generate a TFS Process Template it will work nicely in conjunction with the Process Template Editor available with the Team Foundation Server Power Tools.
Where do I start?
Take your TFS Process Template and using the Talmia Designer you can begin to build an automated workflow for each type of work in your project. The designer is a stand alone application aimed at non-technical users and utilises the Windows Workflow design surface to allow drag and drop design.
The Talmia Designer
Looking at the screen above, we are building a workflow for a Construction Task. The first thing that has to be signed off is the “Understand Requirements” Work Item. When this has been transitioned into the “Approved” state using any TFS client (eg. Visual Studio, Team System Web Access), the “Create Unit Design” & “Create Unit Test Plan” Tasks will be created in TFS. This workflow will continue until the “Unit Ready to Release” Review has been completed.
So, as a result of a Work Item being created in TFS or a field within a Work Item changing, any custom activity can be invoked. For example, creating or altering other work items, starting an automated build, sending notifications or anything else you can think of. This is all generated quickly and easily through the designer
Talmia Control Centre
Once your workflow has been designed it can be deployed using the Talmia Control Centre. The Workflow is then assigned to one or more existing TFS Team Projects. Multiple versions of the same workflow can be stored in the Talmia Server so not all Team Projects must use the latest version. The Control Centre also provides comprehensive reporting for running workflows and it can be accessed within Visual Studio via the Team Explorer or as a standalone web application
The Control Centre available in Team Explorer
Control Centre as Stand Alone Web App.
Talmia Server is the glue that brings your TFS Process Template and your Talmia Workflow together. It ensures that all Team System Work Items needed for a process are created, updated, and validated interactively based on user actions. Work items are created only as and when they are required - meaning that next process actions are always clear.
As well as managing work items automatically, Talmia Server intercepts TFS events to execute the behaviours specified in your Talmia workflow.
The reports coming out of Talmia compliment the existing TFS reports. Typical questions that Talmia reporting can address include:
- How many Talmia workflows are currently active on a project?
- How far is the project through each phase? (design, construction, testing, etc.)
For each individual workflow:
- How is work progressing?
- Which Work Items affect the process and what is their current status?
- Is any work overdue?
- Who completed each process step and when?
- How much rework has occurred and why?
Report on an executing workflow showing re-work and current state
Talmia is definitely worth a closer look if you would like to further automate your development processes using TFS. It looks like a very well architected solution and is being put through it’s paces in a number of demanding projects.
During our demo we thought of a number of project scenarios where we could see Talmia being very useful but it was actually a non-development usage that really impressed us as it demonstrated the power and flexibility of both Talmia & TFS. Chris showed us their “New Starter” workflow which was designed using Talmia with all data stored in TFS. It allowed the firm to easily track all of their new hires, what equipment had been assigned to them, what training they had received and report on what stage of the joining process each employee was at.