Zero Defects
When I talk to IT people doing traditional software development about developing software with Zero Defects, I often get blank stares or snickers of disbelief. Do I live in a fantasy land filled with bug zapping faeries and defect free code? Maybe, maybe not. Read on…
Traditional Model
In the traditional software development model, developers build a feature and hand it off to QA to be tested. The QA team tests the feature and discovers a defect. The defect is logged, prioritized, and at some future date, addressed by the development team.
Delays are inherent to this system due to departmental and hand-off/communication issues. Developers have moved on to new features and don’t want to be interrupted. Likewise, QA doesn’t want to interrupt the developers.
At some point after all known “SEV 1” defects are fixed, a decision is made to go into production. The remaining known “low priority” defects may or may not ever get addressed.
Agile Model
In the agile software development model, developers and QA staff work closely together to define acceptance criteria before development begins. They communicate at least daily and whenever questions or issues arise. If QA discovers a problem, it is immediately fixed by the developers before the story is accepted. There is no need to log or prioritize the defect.
At some point, a decision is made to go into production. There are no known defects.
In either model, defects will inevitably be discovered in production. In the agile model, new stories will be created for them, which will be immediately prioritized and fixed rather than being placed on a defect list.
I am with you with Agile….but it is still a defect. Just caught inthe most optimal timeframe to be corrected. You do live in a fantasy land if you think code can be written with zero defects. And remember. …..I have seen your code. 😉
so when you’re doing TDD, and your test doesn’t pass, you call it a defect?
also, glad you finally understand how to use the Like system.
I only “Liked” it because it was you. 🙂 To a certain extent, yeah….it is a defect. Maybe not a “DEFECT”, or even a “Defect”, but yes….it is a flaw/defect. I suppose it is all in the definition. Your definition of Defect is if it made it to Prod……I have a looser interpretation. LOL.
i agree that you have a loser interpretation. 😀
LMAO
This conversation should be held in a bar. I would imagine that it would be an incredible aphrodisiac for coeds! 🙂
new blog post: Zero Defects – http://t.co/mPDpwVdZXp
@nhajratw For some reason, this week Twitter is not blocked on my work pc…but your blog is! 🙂 #dangerousminds
Yes you live in a fairyland, yes it is a defect even if it found during a dev cycle, but no it is not a Defect that should be logged or counted in any type of release metric.