Adding personas to work items in VSTS

During the week I finished adding the requirements I started in my previous post.  I found I needed a few more features - one about Security and one covering setting up the development projects and builds.  I also discovered an extension for VSTS that will help me keep focused on the users while I work.
VSTS has a marketplace where you can see all the extensions and install those you think are useful. The one I will install is Personas, by Agile Extensions.

They make a few VSTS extensions all aimed at making agile development more fun.  Personas is especially helpful for my project, as I don't have a source of real requirements or users, and using personas will help me turn user roles into real personalities. To get started select the Extensions button and Browse the Marketplace:

The Marketplace has a large number of plugins and extensions, covering all sorts of functionality.  It's always interesting to look through and see what might be useful for your projects:

I will be using a few of these on this project, but for now search for Personas and install it:

Installing extensions requires admin permissions, but if you don't have this for your account, you get the option to request the extension.  This sends an email to your administrators, passing on your request and linking to the extension so they can easily set it up for you.  Once you have Personas installed you'll see an extra tab on your Work page.  This is where you'll set up the extension.
There are many discussions of Personas in Agile Development, but I found Roman Pichler's 10 Tips which cover exactly what I am trying to do.
I'm going to use the roles I identified in the previous blog to build some personas - since I don't have real users I need to base my personas off something.  I'll start with my Primary Persona, who is the main user of the system.  This is a Travel Agent for me.

I am using the role of the user as their last name, to make it easier to remember who is what.  This is easier but I have to care - I'm not writing a role definition but imagining a real person who fills this role.  This helps flesh out the user and lets me consider how they would want the system to work, or the UI to behave.
The Personas extension allowed me to choose a representative image, and provided space for Tanya's goal.  I filled out a brief description of Tanya's role and what she wants from the system - I kept this very concise and avoided any demographic information.  Tanya is a system user, not a buyer so I kept more to her skills and goals rather than age or lifestyle.  Later on I'll add a couple of Buyer personas - customers that have different wants and needs from the system.

Pamela is the first Buyer Persona - she's a young, Internet-native journalist who loves traveling and is always on the lookout for adventure.  She is also a return customer, so later on we would expect the system to recognise her and suggest travel or offer discounts.
The other roles have also been filled out.  I have added a Developer persona which certainly isn't traditional, but I want to use Dave Developer when considering how internal features are delivered - builds, project setups and security, etc.  Charlie is the other Buyer persona, and represents a very different user from Pamela.

Now it's time to add the personas to the Features and User Stories.  Select one of your Features and open it up.  You'll see a "Personas Affected" section which is blank.  To add a persona, you simply need to add a tag to the Work Item with the name of the persona you want associated.

I added Anna Admin and Amelia Airline to this Feature using tags.  Now you can see who will participate in this Feature, and it prompts you to think about what functionality or special cases you might have to consider.  I have done this for all my Features and Stories, and it gets easier as you progress because VSTS remembers the tags you have written earlier, letting you choose from a drop-down.
One of the benefits of using tags to set up personas is that you can easily filter your stories to find out which requirements affect which user types.  For example, I can find all features that an Admin user would be interested in by clicking the Filter button, then choosing the Anna Admin tag:

This is really handy later on as you want to find out which features have been delivered for different user groups, or compare the Developer features against User features to work out how much overhead there is in delivering your requirements.
Alright, hope this was useful, next time will be more on setup of VSTS, and hopefully soon some development!


Popular posts from this blog

Feature Toggles on a .Net Core API

Setup a Kubernetes Cluster on Azure

Renaming files with Find on Unix