I enjoyed Mary Branscombe's piece on Adobe development practices (here).
However, one point that occurred to me (after a misspent past life in software QA) is how do you stop coders marking bugs as closed (or reclassifying them as "features" or "enhancement requests") in order to get back to the fun stuff? How much power does QE (Quality Engineering) have in this Adobe development environment?
So, Mary asked Russell Williams of Adobe just these questions.
QE has quite a lot of power it seems (as I'd expect): "[Coders] don't get an unqualified decision on that – 'as designed' has to be accepted by both the development engineer and QE, though only the QE can mark a bug closed," he says.
However, in practice, it's not quite as simple as that: "One accounting trick that was used was to temporarily distribute some of the bugs from somebody who was over their limit to somebody with a lower bug count," Russell says. "Another thing we did was more of a workload management thing. As a milestone approached where more stringent bug criteria were going to be applied, developers started shifting workload to QE by being more eager to bounce bugs back with 'needs more info'. This moved more of the bug isolation work onto the QEs and let the developers focus on bugs they could easily reproduce; those are much easier to fix."
Mary rather likes the idea of "tricks that actually work", and so do I, but (as usual) I only see them working in a reasonably mature organisation, with well-informed and sophisticated project management.
I note that Russell is well aware of when workload shifts from coders to QA, which is probably a good sign of organisational maturity. After all, if QE is trying to reproduce low-level coding bugs (as might happen in a less mature organisation), it's not getting on with its most important role (in my opinion), of checking the "fitness for purpose" of the whole system, in business terms. ®