Project

General

Profile

Working with tickets in Taskman (Flow) » History » Version 11

Antonio De Marinis, 2015-05-20 18:02

1 1 Michael Noren
h1. Working with tickets in Taskman
2
3 10 Antonio De Marinis
{{>toc}}
4
5 2 Antonio De Marinis
h2. Workflow overview
6 1 Michael Noren
7
!taskman_ticket_workflow.png!
8
9
Things that we want to have done are added to the backlog as tickets by the product owner, the EEA/ETC stakeholders, or by our contracted developers. These tickets have no target version and no assignee, clearly indicating they have not been analysed, prioritised and planned yet. It is the responsibility of the product owner to review the tickets in the backlog, and when a ticket is reviewed it is either invalidated or placed in the queue with a prioritisation set and the requirements properly explained.
10
11
When a ticket is placed in the queue it means that we want the developers to start working on the ticket. There will be one queue per team of developers that work for us (a delivery team), making it possible to prioritise among tickets to do among our different products. To avoid that the queue will become another large backlog, it will have a limit of tickets that is set to match the resources in the delivery team, and the focus should only be tickets relevant for the next 1-4 weeks. From the queue, the developers pull the ticket with the highest priority matching their own skills to work on when having capacity available, the ticket will then be moved from the queue to work in progress (WIP). Developers can only pull, or be assigned tickets up to a set limit in order to maximise the flow of work completed.
12
13
While developers are working on tickets, they often need clarifications and here the product owner is responsible for quickly clarifying any questions from the developers. We generally want to reduce the length of feedback loops to keep the momentum. Each developer will do a local testing of the work done, this include also checking against continuous integration tests. Bug fixes and simple work may not require extra testing. After the testing is completed the ticket is passed into feedback (aka user acceptance) where the product owner will give feedback and/or accept the work done. In order to facilitate good feedback, the developer must include instructions on where and how to review the implemented functionality. Likewise, the product owner should give feedback as soon as possible before the developer start working on the next task. To avoid a large number of feedback tickets, there is also a set limit on that. When this limit is reached the developer need to contact the product owner to be able to proceed. The product owner is responsible for determining when the work is complete, preferably by stating a definition of done in the ticket. This includes making sure that the delivered functionality is tested before deciding to close the ticket.
14
15 2 Antonio De Marinis
h2. Workflow policy
16 1 Michael Noren
17 11 Antonio De Marinis
* WIP-limit: A ticket started must be finished before a new ticket is set in progress, reducing costly task-switching. To optimise throughput and lead times, we use max 2 tickets with status "in progress" for each developer. 
18 1 Michael Noren
* The project member who creates the ticket sets both the target version and assignee to <blank>, and the category to the correct product. This means the ticket will be placed in the backlog. 
19 8 Antonio De Marinis
* The product owner reviews the ticket, and after clarifying any questions, sets the priority, the target version to the queue for the delivery team, only if the Queue has space for it (each Queue has a limit depending on the resources allocated).
20
* When a developer from the delivery team has capacity to take on a new ticket (below WIP-limits = has finished one of the previous assigned ticket), the developer assigns the ticket to herself/himself, sets state to "In progress", and the "target version" to be the "work in progress" for the delivery team.
21 3 Antonio De Marinis
* When working on the ticket, the developer updates the indication of percent done and time reporting on appropriate intervals.
22 8 Antonio De Marinis
* If clarifications are needed, the developer assigns the ticket to the product owner or stakeholder and sets the state of the ticket to "Needs clarifications". After inputting the required feedback, the product owner or stakeholder re-assigns the ticket back to the developer. As soon as the developer takes up the work on the ticket, she/he sets the status to "In progress". It is important to give feedback as soon as possible, otherwise many tickets accumulate into an "un-finished state" and become a bottleneck for working on future tickets.
23 1 Michael Noren
* When the developer has completed the ticket, he/she updates the ticket with instructions how to verify the work done, sets the status to "Acceptance/Demo" and assigns it to the product owner.
24
* If the product owner is satisfied the ticket she/he sets the status to "Closed", the queue to the respective projects "Done"-queue, and the assignee back to the developer (to indicate who has done the work on the ticket). If the product owner is not satisfied with the implementation of the ticket, she/he comments on the ticket and re-assigns it to the developer again, just like the clarification feedback chain described above.
25
26 4 Antonio De Marinis
h2. Ticket workflow detailed
27 1 Michael Noren
28 4 Antonio De Marinis
!Ticket-workflow.png!
29
30
Backlog: 
31 1 Michael Noren
* target version = none
32 6 Antonio De Marinis
* status = new/needs clarifications
33 1 Michael Noren
34 6 Antonio De Marinis
35 1 Michael Noren
Queue: 
36 4 Antonio De Marinis
* target version = Queue
37 6 Antonio De Marinis
* status = new (accepted/triage)/needs clarifications
38 4 Antonio De Marinis
39
Work in progress: 
40
* target version = Work In Progress
41 6 Antonio De Marinis
* status = in progress/acceptance/needs clarifications
42 4 Antonio De Marinis
43
Done: 
44
* status= closed
45 6 Antonio De Marinis
* target version = Release # / Done Q1,Q2,Q3,Q4 ...
46 4 Antonio De Marinis
47 2 Antonio De Marinis
h2. Roles
48 1 Michael Noren
49 9 Antonio De Marinis
* *Product Owner* (aka Delivery Team Manager): Represents the stakeholders (internal EEA product owners) towards the developers and make sure the WIP-limits and workflow policies are respected.
50
* *Manager*: This is a senior developer, that supports the Product Owner and further co-ordinate the queue and work in progress, also known as Scrum Master.
51
* *Developer*: This role is given to the resources that are implementing the tickets, it is mostly consultants and EEA IT-staff. 
52
* *Reporter*: This is given to all stakeholders and EEA internal product owners that are allowed to suggest new tickets.
Go to top