Each Issue has a default estimation of
60 minutes, while each Pull Request has a default estimation of
30 minutes. That’s exactly how much the assignee will be paid upon completion.
Naturally, not any Issue can be resolved in 60 minutes. This is where microtasking comes into play. If the task is too big to be resolved within the estimation, the assignee should break it down into multiple tasks.
To achieve this, the assignee must solve the task partially and leave TODO comments in the code, which will be converted into new Issues automatically by the PM. Later, when a TODO is removed from the code, the PM will close its Issue.
The newly created Issues will also have a default estimation of 60 minutes and the cycle should be repeated until finally the last Issue can be solved completely within the hour.
Consequently, any Pull Request should be small enough to be reviewable within 30 minutes.
Here is an example. The assignee was required to implement Gitlab’s Issues within Self XDSD (by using Gitlab’s RESTful API). It’s obviously a big task, requiring at least several hours to complete. The assignee made a small Pull Request with the initial interfaces and classes and left 7 TODOs in the code, which were transformed into new Issues.
Since TODOs are an important tool in microtasking, they have a certain grammar. Here is how a TODO looks like:
@todo #123:60min This is a puzzle written while solving issue 123. We need to continue implementation with this and that. Do not forget to write unit tests and integration tests where applicable.
@todois the starting marker.
#123is the originating ticket (the assignee was working on ticket
123when they wrote it).
60minis the estimation of the new task.
2..nmust start with a space (must be alligned with the
t, not the
TODOs may be written as code comments or JavaDocs in the code. Here is an example:
The default estimation can be overriden in two ways:
- TODO estimation
You can label an Issue or PR with, for example,
120 min and the PM will add this estimation. Pay attention: the estimation cannot be changed after the ticket has been taken into scope. So you have to add the label right when you open the Issue or PR.
When writing a TODO, the assignee can specify different estimations, for example
@todo #123:45min This is another todo written while solving issue 123. It's a smaller task, so the estimation is only 45 minutes.
The minimum allowed estimation is
15 minutes, while the maximum is
360 minutes (6 hours).