Thursday, April 15, 2010

Human Centered ALM with Telerik TeamPulse and Team Foundation Server

Most of software applications are built to be used by humans, this is why Rich UX is a very important factor in the success or failure of software projects. Rich UX often discussed from the technology perspective, although in my opinion UX requires a process and mentality where the human is at the center, not the technology.

Lightweight processes under the Agile umbrella are a great candidate for managing human centric applications with their assertion on feedback and change as a core value. Also valuing individuals and interactions in Agile processes puts the human as programmer, designer, project manager, customer or even the end user over the technology or the tool adds to the human centricity of the Agile processes.

I have been using Microsoft Team Foundation Server for a while for managing the software development lifecycle. The product provides very good integration with Visual Studio IDE, a very good infrastructure especially with TFS 2010 for managing the complete application development workflow, but because the product is covering a wide range of processes including formal processes like CMMI and lightweight empirical processes like Scrum, it lacks the focus of opinionated products that embraces a specific philosophy, which leaves a good space for extension and innovation to fill these gaps, that is where a product like Telerik TeamPulse shines, and can provide very good additions to Microsoft TFS for managing Human Centered Rich Applications following an Agile process. Please note that this post is not intended as a full review of the product, but just a listing of some of the cool features that I like in the product.

Defining the Who!
The first thing I love about TeamPulse is the centricity of the humans in the tool represented by Personas. Personas in TeamPulse are both simple yet comprehensive. The Persona Management view lets you define the Persona position and name beside adding a descriptive picture, but what is really useful is the objectives window. In the objective window you can press control + space and create/link to stories/personas from within the windows. The following screenshot shows a persona that I defined with two stories and one related persona created without leaving the editor.

Then I can simply click on the hyperlink of a story and define its details using the same neat rich editor in the persona view, and can link to other stories/personas which made me really productive in defining the product backlog. The following screenshot shows the story editor in TeamPulse



Prioritization is key to delivering rich UX because mostly the features that you start with are the features that will get the most attention and as you go deeper in the project, deadlines come, important customers request demos, budgets are cut which is why a good ALM tool have prioritization as a first class citizen and this is what you feel in TeamPulse.
In Storyboard view, priority is not only represented by a number, but also with a progress bar that shows you the relative weight of the story related to other stories, which simplifies selecting stories with highest priority. With the story grid view you can sort/filter/group by priority to efficiently select stories with proper priority enabled by the powerful RadGrid from Telerik. This comes really handy in the planning view while manipulating the iteration backlog as shown in the following shot


Embracing Uncertainty

Another feature I love about TeamPulse is the way it manages certainty and maturity which is very useful in the backlog planning and stories management in Storyboard view. The story is represented by a different color according to its maturity level which makes it super easy to pick which stories to start working on.

Work in Progress Visibility

TeamPulse has a great Storyboard view that makes work in progress visible to the team, which encourages limiting work in progress and pushing current stories to the done state. According to TeamPulse roadmap Work In Progress limits will be added which will simplify using TeamPulse with Kan-Ban.

What is next?

Download TeamPulse Beta from Telerik’s website 
One final note, is that TeamPulse can be used as a stand-alone product, but it can be more useful by connecting it to a TFS server for an end to end Application Lifecycle Management.

1 comment:

bono said...

great post Yasser, i think you spent a lot of effort on this tool , it's really gr8 and i liked it, specially it usability and wonderful short cuts. :)

Abu El Nour