📜 ⬆️ ⬇️

The life cycle of tasks in Redmine for a small development team. Our experience and useful tips



I think this article should help people who first decided to automate the process of tracking tasks based on Redmine in the software development team. In the article I will talk about how this process is organized in our country, what new fields for the task we have brought and what problems these fields solve. I think the article will be useful to a wide range of people, in my opinion, setting up the life cycle of tasks is the work under the slogan "The obvious is not obvious."

Still! We work in a large corporate environment, mainly for internal customers (and there are several of them), and this situation is reflected in our life cycle.
')
Let's start.

It all starts with the fact that at one point a task appears and after its appearance, the task logically should fall on the author. Why?! Because a task should always have an employee who is responsible for its further execution, the one who is currently slowing down the task, the one on whose side the “ball” is, and he should “pass the ball to another”, do something like a football pass . Sometimes this person should not be. For example, when it is no longer necessary to perform actions on a task when it is closed.

What information do we ask to fill in the user creating the task?

Well, of course, this is the type of task, title and description, but also:




For example, the goal might be:
"Implement the possibility of calculating the basic part of the RFP on the basis of an arbitrary mathematical formula."

And in the description will be more detailed key steps and requirements for achieving the goal. For example, “connecting the MathML library, the ability to associate a formula with a calculation period,” etc.

In general, the description may generally depend on the performer’s qualifications and in some cases may be just a couple of lines (if you have good communication with the performer, you have worked together and you understand each other well).

Where can the new task go?

Most often, it is sent to the plan, because we often have priority tasks (well, this is such a client orientation and unwillingness of customers to think about the future).

But it so happens that the task is not a priority and then it can go to the queue (or Backlog, as you like).

If the task is sent to the plan, then we will ask you to fill in the following fields from it:




At the time of putting into a plan, the value in the field “On whom” is always copied in the field “Executor”. The task will sooner or later leave the employee responsible for the execution, but the responsibility for the execution should not be gone, therefore, each performed task always maintains a performer.

And if in a queue, then the fields are less:

And of course, the task from the queue can always get into the plan, and it can close and get the status “Closed”. The status “Closed” is fundamentally different from “Completed” in that the task was not carried out.

What can a performer do with a task?

Two controversial, but having the right to life functions: “start” and “suspend”, which respectively change the status of the task from “Assigned” to “In Work” and vice versa. In small groups, this function has not really taken root, and in some large groups it has taken root. If there are a lot of programmers and they mark the tasks that they are performing at the moment, then you can build a slice on the tasks that are currently in the work of the performers (a kind of “Work in Progress”).

In almost any status, an employee who is currently in a task can request information from the author, manager, customer, etc. Of course, the performer is no exception.

Of course, the main function for the contractor is the ability to send the task for review and the button “For verification” of the same name. The button sends the task to the tester that the programmer must complete:




After submitting the task for verification, its status is logically changed to “Under Review”. Now the tester is responsible for the further execution of the task.

What can a tester do with a task?

Well, of course: send the puzzle for revision (the “Return back” button) or skip further to the production server (the “Verified” button).

He can also change the verifier (and the button of the same name), and in our group it is administratively fixed that the tasks must pass a second check through the manager (in other groups there is not).

What is a manager's check for?

In any case, the transition of the task from the status “On checks” to the next status “In operation” is accompanied by filling in a handful of fields.




There are also a bunch of ticks to check before sending the task to the work environment. I will list them, suddenly it will be useful for someone:

This is such a simple verification procedure.

What can the Redmine administrator do with the task?

He can put it on a working server, thereby transferring the task from “To check” status to “In use” status. The task is assigned to the customer.

What can the customer do with the task?

The customer may accept the work or not accept. If he didn’t accept, then he sends the task to check the tester by writing a comment. If accepted, then presses the button "Done" and puts down the assessment of the implementation and an explanation of the assessment. These estimates affect the salary of the contractor and the manager.


Taken together, this is the scheme of the life cycle of the task.



There are much more transitions between statuses than described in the article. For the most part, these are preferred transitions for the manager, when he administratively needs to transfer the task to the next state without waiting for the tester or programmer.

Of course, this is not all that we have in the life cycle of tasks, but if I wrote about everything, then probably a little book would have turned out.

I would be glad if you share information about what life cycle is used for you? What fields do you ask the staff to fill out when you track the task and why?

Thanks to everyone who read to the end.

Source: https://habr.com/ru/post/227507/


All Articles