Today’s post is an instructive story about mixing various good patterns and ideas. They are very useful separately, but when one uses them together, they may lead to problems which nobody wants to deal with at all.
We found several different defects in a certain feature, and in order to reduce handover costs I collapsed them together to make an “umbrella defect” (defect1+defect2+…defectN) and put it into our Queue. When my colleague started to work on it, I was quite happy with the result: less handover costs less context switching and more focus on a faulty feature. It was really nice until our deployment day came. Or Kanban board and version tree looked like this:
The mentioned umbrella defect appears as ‘UD‘ on the Kanban board, and it covers ‘UD1.1‘ and ‘UD1.2‘. Based on our Kanban board, there is no impediment to the deployment, but right before the deployment we realized that not everything we wanted to deploy had been tested since we were using one-track. One-track means that we don’t have branches, labels or tags, we just have the trunk where we have our latest version. One-track is an excellent thing, but it seems that it doesn’t work well with collapsing.

