The core function of each issue tracking system is to effectively manage tasks in projects. Unfortunately, defining issues in such a system can be a painful process. One task may hinder others making the whole work plan more prone to all kinds of changes. If your team is working on more than one project, a proper tasks assignment without having the overview of all other projects is simply impossible. Due to that fact we have created our own schedule plugin, which is not just another calendar tool. We have combined it with an already existing tickets management system, and added a few improvements to make tasks creation and assignment easier than ever. Check this out!
Our planning horror
After each sprint planning meeting we have tasks for around two weeks. In a four person team this means eight weeks of a man work. Multiplying it by five days and eight hours (each day has eight working hours) this gives us 320 hours. Assuming that during such sprint planning we have tasks that take approximately 10 hours each which gives us 32 tasks to be added into our project management environment. Currently this means around 12 clicks and some typing to write task subjects. Let’s say that creating one task takes 3 minutes. If you multiple this by 32 issues in sprint it means that you have to spent around 100 minutes on creating issues… Seriously? I’ve noticed, that this is the worst task that a project manager is responsible for. They hate it. But the real horror starts when your team is working on two or more projects simultaneously. Then, each ticket has to be created taking into consideration the tasks related to other projects that a team member is assigned to. That was really painful when you already planned something to be done before the end of the week but suddenly you are informed by other manager that he already “booked” this person for one day… and the whole plan collapses and requires thorough change.Our solution is to have a clear view on resources per project
Having faced such issues we (me, Jakub Zalas and Marek – our Ruby on Rails developer) came to a conclusion that we need something similar to Schedules Plugin created by Gossamer Threads Inc. (developed by Brad Beattie). Unfortunately this plugin enabled us to specify hours without the ability to reference the planed hours to tasks in particular sprints. Without this connection we could plan but we were unable to track our progress inside the project. So we used the Schedule approach and added a functionality to reference tickets to planed hours for a specific day and a developer.
Referencing issues to planned hours allows us to precisely define what should be done and when
As you can see in the picture below, you are able to specify how many hours a particular person should work on a certain day but also you can define what exactly should be done. Our plugin also checks if the planned hours are not exceeding the available/remaining hours for the day.
Adding issues directly into the schedule without jumping between pages
To speed up our planning process, we didn’t want to leave schedules view. This way we could keep an eye on all projects where our team is involved and plan hours for each day. We added a quick issue feature to our schedule pop-up window. This is like a New Issue panel in a pill. As you can see in the picture below, it contains the most needed fields to create a new task. One of the fields -”assigned to” is automatically selected to mark the person by whom the schedule is being edited, but it allows selecting any other project member. This new possibility combined with projects schedule view extends the feature of creating quick issues for many projects, form one place.
Spreading issues over a few days is easier
Sometimes you have to create bigger task. For instance, for 30 hours. Of course you can say that a specific person should work on it eight hours per day till he/she finishes it. Sometimes this is not the smartest way because there are circumstances that may delay the tasks’ completion. Of course, you can divide one big task into smaller ones but I think that it is smarter ito agree with a developer that, for instance, he/she works one day for eight hours on a given task, the second day 4 hours and then we have to wait for someone to finish. This kind of division is possible in our plugin! You can precisely define how many hours each day person should spend on a specific task.