On time, with quality - why is this mostly failing?
Everyone in the software industry seems to be talking about the quality mantra lately. Agile, XP and kanban brought this issue to full front, but I see many team leads failing with the quality part.
Many of us keep chasing quality and never achieving it, because we don't know how to make time. We don't have any time to learn/teach the team and practice true quality code (unit testing, tdd, acceptance and automation to start with) because we're in chaos and we are addicted to it.
Our lack of time makes our decision to focus on "getting things out the door" more frequent, and so we have more quality issues and even less time, because we just have more and more fires to put out.
To break this pattern, true leadership from us, the team leaders at the bottom, is needed. It's about taking a risk and breaking the cycle. It's about making time to learn.
Want to ship on time with quality? remove some of the commitments you have, make time to learn, practices, and build quality into the code you're writing. You can't get better at what you do if you don't have time to get better. and You don't have time because you keep chasing your tails.
So you have to break away and make time by removing some existing commitments. That's scary, but it's your job, remember? Here's your manifesto again.