Today we’ve had the first design session of the new ToDo area. We’ve put together the list of items and actions and discussed potential ToDo layouts. It was boring initially, but the closer we moved to wireframes,  the hotter discussions :)

actions

plain

time

time2

Today we spent several hours writing scenarios for Mary (she is a Tester). There are two types of scenarios. The first describes a typical working day. The other set of scenarios describes concrete goals that Mary wants to accomplish with the help of TargetProcess.

Sorry for a lengthy post, but we want to provide all the important details and show how we are trying to re-design TargetProcess. If you think that this persona is artificial, let us know. If you think you know similar girl, let us know. If you have any questions, just ask. Here we go.

Mary, 26 yo, Functional Tester

laptop_mary
Has 3 years of experience in testing web applications. Knows how to write test cases, works  with several bug tracking systems. Hates bad UI and constantly tries to convince developers to fix ugly areas.

Environment

  • 30 people development team, single project, 6 testers in the team.
  • Scrum process with 2-week iterations.
  • Uses laptop at work

Activities

  • Find and submit bugs, capture screenshots
  • Create test cases
  • Verify user stories (execute test cases)
  • Verify fixed bugs
  • Communicate with developers about stories and bugs
  • Participate in daily meetings, iteration planning, release planning meetings

Behavior

  • Smokes and drinks coffee
  • Likes to communicate with people around
  • Listens to music at work
  • Argues with developers about found bugs
  • Uses IMs quite often to chat with friends
  • Likes bright colors

Goals

  • Have fun at work
  • Good communication and social environment at work, money not so important

Typical Day Scenario

Mary’s working day (Tuesday).

Mary comes to the office at 9 am. She has daily meeting at 10 am, so she makes herself some coffee and checks email (20 mins). She looks at what she worked on yesterday, what’s new came today and what are her assignments (10 min). She forgot to add time yesterday, so she adds time right now for all the yesterday’s activities. She loads Skype and says “Hi” to friends.

Then daily meeting begins (20 min).
- I verified the UI improvement bug, then verified user story “As a admin I want to un-delete projects” and added 3 bugs on this user story (one is critical and 2 UI improvements). Today I am going to discuss a new user story with Pete, check specs and start writing Test Cases. Also I can’t setup Ubuntu to check several UI bugs on FireFox for Linux, so I need help.
- (Larry) Mary, we have one blocking bug to reproduce. It is very important.
- OK, I’ll take a look at it.
- (Ted) I can help you with Linux
- Oh, cool! Let’s do it this afternoon.

Meeting is over. After the meeting Mary has the following priorities: the blocking bug, Linux setup and bugs check, discussing the new user story.

Mary has coffee, smokes with friends, thinks about the blocking bug and discusses possible reasons with developers. (15 min).

Pete comes to ask about a meeting on the new user story.
- Hey, let’s discuss the  new story I have.
- I have a blocking bug, so I can’t attend right now, maybe you’ll help me to reproduce it?
- OK, let’s take a look.

They investigate the bug for 30 mins and reproduce it successfully. Mary submits steps to reproduce into the system and as a small reward takes a little break. Then they  discuss the new user story with Pete (30 min). They discuss specs, some unclear areas, etc.

After the meeting, she writes checklist for the user story (1 hr). Then goes for lunch.

After the lunch she comes back and checks if there are any new tasks. No new tasks, so she calls Ted to help her with Linux. She spends 1 hour with Ted setting everything up. Then Mary verifies several UI bugs on Linux. Suddenly during exploratory testing she finds a new nasty bug – null reference exception when clicking on Delete User button. She captures the screenshot and adds bug into the system. This bug blocks verification process and Mary notifies team lead about the problem. And goes to smoke one more cigarette.

It is 5 pm already, so for the rest of the day she chats with friends and reads some interesting blog posts and articles. Suddenly she remembers that Katy returned from vacation today, so she calls for her and talks about Florida and Miami. Then Mary checks email and goes home at 6:30 pm.

Goal-oriented Scenarios

Mary has her own goals.

What did I do yesterday?

Mary comes to the office  in the morning, logs in into the system and wants to see all her yesterday’s work before the daily meeting. She sees:

  • daily meeting attended (10:00 – 10:20)
  • for story “As an admin I want to un-delete projects”
    • Test Cases ran
    • Bug “Crash when click Un-delete in FireFox” added
    • Bug “Main label has strange color on Un-delete screen” added
    • Bug “Buttons overlap in Safari on Un-delete screen” added
  • comment added for the bug “Ugly button formatting in Add User page”
  • Read article “Kanban and Functional Testing” (done)
  • Personal task “Install new version of Skype” added

System reminds Mary that she forgot to add time for all yesterday’s tasks, so she adds time quickly without any redirects.

I want to plan my day

After yesterday’s work review, Mary wants to see today’s meetings, all tasks and focus on high priority tasks (bugs, stories, tasks) with estimates, new tasks. She sees:

  • daily meeting (10:00 – 10:20)
  • 3 UI bugs to verify
  • for user story “As a developer I want to find all usages of the method quickly”
    • meeting with developer (deadline today, highlighted)
    • create test cases
    • run test cases
  • create test cases for user story “As an admin I want to delete comments”
  • Smoke testing of new build on Thursday
  • Retrospective meeting on Friday (undefined time)
  • Demo meeting on Friday (15:00-16:00)
  • Read “Why FitNesse rocks” article

Mary wants to plan her day, so she marks tasks for today, and as a result she has 2 groups of tasks (Today, Later). Suddenly she remembers that she forgot to report a bug yesterday, so she adds this task for today quickly.

What’s new  today?

Mary comes back from diner and opens her dashboard. She wants to know which comments have been added to her items, which new meetings scheduled, new bugs added or bug states updated.  A blocking bug “Crash on user add” was added  and already fixed by Tom.  She sees that nobody is assigned as a verifier for this bug and she assigns this bug to herself to verify the fix asap. Also she sees that a new comment has been added for a bug in her todo list. She reads the comment and replies quickly. Also she notes that someone has added the UI bug that she forgot to add yesterday. So she closes the related task.

The next step is to gather scenarios for the other personas, combine them, analyze them and create wireframes for the new ToDo list. Something tells me it will be powerful. And we should keep it as simple as required, but not simpler ;)

We are incorporating UX practices into our development process. It is not so easy, the first attempt was with Eclipse plugin. Second one is ToDo list re-design. I don’t know what will be the end result. Maybe we will merge several screens into one (for example, Time Sheet and ToDo list), maybe something else, but we are starting from scratch and focusing on the needs of real users. We are going to write scenarios for all personas, create flows and wireframes, create prototypes and test them on real customers. Let’s see how it goes.

Recently we’ve had a series of meetings dedicated to Personas. There were several testers, several developers and product owner on the meeting. We’ve spent about 5 hours in total and here are some results.

Personas important for ToDo list are marked with a green circle. Manual Tester is selected as a key persona (double circled).

personas1

junior

Andy is a serious geek. It was easy, since we have a former game developer on board :)

senior

Everybody agreed that Alan is a true designer. Someone even said that he knows a very similar guy working as a web designer.

designer

And our development team likes the approach.

like

After personas creation and scenarios writing, we’ve started UI and flows development.

Here are the screens that allow developers to connect to TargetProcess and query ToDo lists:

Query Selection

And this is a Bug View screen

View Bug

Integration team at TargetProcess is starting Eclipse/MyLyn plugin development. Today we  had the first creative meeting. We created personas, defined their goals and also wrote several scenarios. Here are some photos of the personas:

All personas

We defined four main personas: Developer, Senior Developer, Team Lead, Automated QA. Each persona has behavioral patterns, motivation, etc. Green percentage is  population. For example, we think that about 45% of Eclipse plugin users will be Developers.

developer

Senior developer is mature and experienced. He follows best agile development patterns :)

Senior Java Developer

Team Lead has many interruptions (helping people around).

Team Lead

Automated QA is not very experienced in Java.

QA

We are going to use Ext in the next release of TargetProcess. So we created a new theme and want to share it with Ext users for free.

You may download new theme from:

http://www.targetprocess.com/Files/TargetProcessSkin_ext_3.zip

Installation is simple:

  1. Put css file and images into your Ext folder
  2. Include css:

    <link rel="stylesheet" type="text/css" href="[path]/resources/css/ext-all-notheme.css" />
    <link rel="stylesheet" type="text/css" href="[path]/resources/css/xtheme-tp.css" />

Comments, suggestions and bugs are welcome.

Grid Grouping

Grid Grouping


Window with Tabs

Window with Tabs

First thing we are going to change in v.3.0 is navigation. First discussion was quite general and first solution most likely is not ideal. We rightly identified two major different areas: inside and outside of a project. Initially we wanted to separate navigation outside of a project and inside of a project, thus having two completely different menus. But what if we can unite these areas?

Indeed, there are lot of similarities. We may just create global filter by project. If you select a specific project, you will be inside the project and, for example, Help Desk will show requests from this project. But if you select All Projects value then Help Desk will contain all requests from all your projects. This approach has several nice advantages:

  1. Main menu does not change, only sub-menu is different inside and outside of a project. It gives better perception and better learning curve.
  2. Global project filter is an easy-to-adopt concept. You always know where you are.
  3. When you switch project, you will remain in the same area. For example, now you are in the backlog of project Alpha. You change project and appeared in the backlog of project Beta.

It may look like this:

Option 1. Tabs

We’ve received several requests to add left panel with a tree navigation. I never thought it was a good idea, but you never know till try.

Option 2. Tree

The question is do you like tabs or tree? It seems both approaches has own advantages and it is really hard to select the best one. We are looking for your opinion!

Let’s finalize new Help Desk Portal concept. We are starting development next week, so you have a little time to provide valuable feedback :)

Issues List

Contains all issues with filtering option. State of the each issue is highly visible. It shows whether bug created from the issue and when it will be fixed. Also if someone knows solution, he may attach solution to the issue right away.

Help Desk Portal Issues List

Post Issue

When someone post an issue, Help Desk Portal checks on the fly whether similar issues already exist and display the list on the right. Moreover, it displays possible solutions (nothing special, just keyword search with results ranking). It will help to avoid issues duplication and in some cases will save people time.

Help Desk Portal Add Issue Form

Continue posting mock-ups of the upcoming Help Desk Portal. Definitely there should be a place where people may see all posted ideas, issues and questions. In this list user should focus on what is going on and get quick answers to the questions like:

  • “Should I reply to something to help with problem resolution?”
  • “When will the bug for the request XXX be fixed?”
  • “Are there any interesting discussions around my ideas?”

The My Requests list has nice right column that shows exact state of the each idea and issue. Think support forgot about you and your problem? Just click nudge link :)

Help Desk Portal my requests screen

We are thinking about Issues and Ideas separation. They are quite different and needs separate lists, views, etc. based on our analysis. People have different goals when working with ideas and issues, and this should be reflected in the dHelp Desk Portal design.

What is important for person who looks at idea? And what is important for person who looks at issue?

Idea Issue
  • Discuss idea
  • Add attachments
  • When it will be implemented?
  • Is this idea important?
  • How can I vote for it?
  • Tag the idea
  • Discuss issue
  • Add attachments to the issue
  • When it will be resolved?
  • Do I need to provide more info?
  • Are there any ready solutions to my issue?

Here is what we have so far.

Issue View

help desk portal view issue

Idea View

© 2012 TargetProcess Product Blog Suffusion theme by Sayontan Sinha