As I mentioned in my previous blog post: “Questhub, quests and CPAN”, sense of accomplishment is a very fulfilling feeling. Gamification is a technique, which can be used to obtain that particularly feeling, but often play on other psychological aspects of the human mind.
I am often very satisfied, with the sense of connecting the dots or clearing the table. Therefor I mostly identify everything as tasks and organize tasks into releases or work packages, so when everything is ticked off I am one happy camper.
Tasks are like the key component. The key concept is that tasks should be viewed as either closed or open, not half-done or similar. Clusters of tasks as releases or work packages can of course be half-done, but every task should be easily identifiable, break down to sub-tasks if this is not possible.
Tools like Best Practicals Request Tracker and Atlassians Jira are very interesting to me, because they often support the process and workflow I use and not only for professional work, but also for hobby projects were picking up work can sometimes be with somewhat extended intervals and these tools, which are sort of advanced TODO files let me organize and manipulate tasks easily and I can easily identify where I am and where I want to go, even though projects have laid dormant for some time.
Since some issues I need to address are spread across several CPAN distributions, Meaning they will influence several different software packages and therefor require inclusion in several road maps and release plans. Here I use a very nifty feature in Jira and Confluence, the two products from Atlassian.
By tagging the issues with a special tag I can create a worksheet with all of the tasks cross, releases and distributions, so I then can create sort of a work package.
First time I did this was for an issue with the best practice of Makefile generation for Module::Build. I had to change a lot of distribution build files for a lot of projects. So I simply created all the tasks in the different projects with the same tag to let a Confluence report provide me with an overview.
This technique could again be used when I could see that almost all of my Changes files where either missing or malformed according to the proposed standard.
Questhub and it’s quests are also a magnificent combination of gamification and task organization.
The report visualized a problem with my quest. I have planned to do 20 releases, but the overview visualized that I have 18 distributions under version control in Jira and one on SourceForge.
The problem is simply because one of the issues is for a distribution, which is no longer being maintained. It changed name and implementation from: Bundle::JONASBN to Task::BeLike::JONASBN, so I might have to make a rogue release using a branch from an old release under the early name or alternatively via GitPAN.
It seems that to every issue there is a solution, so now I just need to get on with the tasks at hand.