"Task Bashing Day" - how we dealt with lots of low priority tasks in one day
What would bring software developers satisfaction if there were no big challenges to take or significant goals to achieve? Imagine such coders who will take pleasure in performing only trivial and irrelevant tasks - ridiculous, right? As we all know, software developers are like superheroes with coding superpowers eager to challenge themselves with doing great things that can save the world - or at least make it a better place. But what about minor issues that are not so "epic"? Well, superheroes also take care of trivial missions like saving cats stuck in a tree, but does it make them great? In reference to all their significant achievements they may sound bleak, but still they matter a lot.
In the reality of IT world, there is an urge for making software progressively better and full of useful features. That's why tasks are usually prioritized by product owners according to their significance in achieving previously set goals. This may lead to the situation when the focus is mainly set on big, challenging tasks, which are pretty time consuming. As an aftermath, less important, yet necessary tasks may land at the bottom of priority list, likely to stack up high after a while. Of course, such phenomena varies on the backlog, arrangements with clients and project management itself, but they tend to be a relatively popular side effect of tasks prioritization, whether done right or not.
We can say it's much easier to scale features down than postpone the deadline, but in order to win client's favor, why not finding a solution to such cases before they appear?
Our solution to get things done
With the inevitable approach of deadline in one of our biggest projects, we were to face a similar challenge. Since we were dealing with a release of major upgrade, thoroughly planned, prioritized and organized beforehand, we wanted to focus on maximizing the quality of the solution without neglecting any details. A few weeks before the release, we had come up with the idea to arrange one day to focus on all low priority tasks remaining in the backlog. We wanted to organize an event similar to Bug Bash, but with a goal to complete already specified tasks rather than look for new bugs or software flaws. The idea was immediately embraced by the client, so we had a green light to continue preparations and set a suitable date for the big day.
Prior to starting the Task Bashing Day, all assignments related to the coming release had been estimated and re-verified in terms of their complexity. Those, identified as relatively quick to implement, were selected for the event and then given to appropriate project members who would accomplish them ASAP.
Summing up, the scope was defined as:
- 1 day,
- 6 developers,
- 35 tasks,
- 40 estimated hours
The work was organized to be as easy and efficient as picking low hanging fruits from a tree - yet someone had to make an effort. And by someone I mean our project-dedicated team of developers, backed up by testers and the rest of Synergy Codes crew. Being determined to accomplish the challenge, we couldn't wait to start off.
The Task Bashing Day began with a briefing and a group photo. Then at 10:00 AM we rolled up our sleeves and kicked off. After three hours and eleven eaten pizzas, 20 assignments were done and deployed to Quality Assurance, whereas 14 still remained in TO DO list. We followed our regular development flow, so all changes were initially deployed to test environment and checked by our software testing team before being pushed to production environment.
The event lasted nine hours and the final result was: 32 tasks done in 42 manhours. Only three tasks were marked as incomplete and rescheduled to another day, since they proved to be harder nuts to crack than we previously had expected. After delivering last tasks to production environment and summing everything up, the time was ripe for some chill out. We couldn't wait to test our brand new 4K TV screen and try some Playstation 4 games :-).
The Task Bashing Day proved to be a valuable experience for the team as it tested our skills and cooperation under time pressure. Furthermore, our Client was well-satisfied with the results, so we are ready to organize similar events in the future.