1. My boss asked me today if I knew a good test manager who might be looking for work in Scotland.
I thought for a bit then – rather uncharitably – responded that I didn’t know anyone who would want to be a test manager.
Don’t get me wrong – I actually have a couple of friends who are good test managers – but what a horrible job: cleaning up everyone else's mistakes, then being the messenger who gets shot with the news that the project is going to (almost inevitably) run late.
The Testing phase is wrongly named. It should be more correctly called the “Rework” phase because that’s what is actually happening – the project is fixing what it’s just built. Quality in software development (and everywhere else too) should be about building quality in, not inspecting defects out. If you have anything other than a very brief “proving” phase then you’re not building quality in. That’s why I’m so damned obsessed / evangelical about incremental / iterative / agile software development - because it builds quality in.
Of course, that didn’t answer my bosses question, but it felt good :)
2. Coincidently, I got home tonight to find permission from Mary Poppendieck to quote the following passage from a recent email discussion. It’s nicely written and apt.
> Quick has always been associated with dirty for a good reason.
… Lean organizations routinely break the link between fast and sloppy. In fact, organizations that are consistently fast have to be highly disciplined and have extremely low defect rates. Examples include Toyota, Dell, FedEx, PatientKeeper (Medical software) and many others.
In software development, the key is to have a “Stop the Line” culture; one that does not believe that defects should be added to a queue and refuses to build any inventory of code with lurking defects. The trick is to operate so as to find every defect the minute it occurs and stop and fix it immediately. Impossible? Okay, then how about doing everything possible to approach the goal.
Companies dealing with regulated software find that the best place to start is by writing the spec (SRS) as executable tests, and then running these tests against the (integrated) code AS IT IS BEING WRITTEN, so that defects are flagged (and fixed) immediately. This process provides automatic traceability of code to spec and a daily log of the state of the code. Regulators love it.
Back-end verification is done also, but when a verification process routinely finds defects, then testing is being done too late.
3. If you know a good test manager or a good process/business analyst looking for an extraordinary job in Scotland then send me a note to cching at vision.com.