Long time no posts about ToDo area re-design, so back on track. In December we completed the dynamic prototype:
It was created in SketchFlow tool by Microsoft. Then we had the first formal usability tests on mere mortals (developers and testers from our company). 7 problems were found during usability testing (check usability test report (PDF, 900K) if you are curious).
Here is the conclusion from the usability test report:
This pilot testing of prototype by 5 people was extremely useful and enough to expose rather evident gaps and problem of implemented concept. After these issues are corrected, we will bravely start testing it with our customers.
However, from my point of view, this particular prototype has some disadvantages:
1. It’s very high level. From time to time during the testing we would say: ‘This is only a prototype, disregard this’, ‘Ooops , this doesn’t work, it’s prototype’. I guess we would have had different test results if we had a little bit more real proto. Our respondents would have been able to use different workarounds. But in this version of prototype they could perform only those actions which we had defined and covered by scripts related to scenarios. Anyway, they couldn’t look for a workaround and missed the new functionality because they had no choice.
2. Several of our respondents complained that actions are not marked out enough and are not easy to find at a glance.
— Nadia Bulynia
In general, we are happy with the results, but should find a better prototyping tool. It took too much effort to create the prototype using SketchFlow. Moreover, it is incomplete and has serious limitations mentioned above.
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
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.
- 30 people development team, single project, 6 testers in the team.
- Scrum process with 2-week iterations.
- Uses laptop at work
- 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
- 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
- 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.
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).
Andy is a serious geek. It was easy, since we have a former game developer on board :)
Everybody agreed that Alan is a true designer. Someone even said that he knows a very similar guy working as a web designer.
And our development team likes the approach.