Bug free or Free Bugs

I will not charge a client for a bug fix. Not a penny. If I make a mistake, it
is my professional obligation to fix it.

If something doesn’t work with my car, there could be catastrophic
consequences, I would be mad unless the company has a solution and offers to
fix it for free. As a car owner, I expect nothing less.

If a doctor makes a mistake, the patient has the right to sue the doctor for
malpractice. Why is it if I make a mistake, I get off scot free? Or worse, I
get paid to fix my own mistakes.

I know sometimes the devil is in the details. What is a bug? This is not an
easy question to answer, but if there are customer written acceptance tests for
the system, the items that fall through are fewer. These are general rules I go
by when deciding if something is a bug or not:

I made a mistake. These are usually easy to notice, due to the redness in
my face when the bug is reported. It is clear to me, I made a mistake, and it
is clear I need to fix the bug. It shouldn’t cost any money and the
process should be transparent.

There is a mistake that both development and the customer team should have caught.
A scenario the customer should have specified and during development I should have
noticed and brought to their attention. The fault goes on both parties and can be fixed
at some version of half price (i.e. every other or a half price story).

The application doesn’t behave correctly due to a missed specification. a
scenario that the customer missed or a piece of the business logic that wasn’t fully
correct. Almost everyone makes some mistakes. This is not a bug to me, but a feature
enhancement. It can be written up as a story and completed.

I think it is important to build faith with the customer that there is a team of developers
that are accountable. When you create the culture of accountability, it spreads. The
customer team is willing to be accountable when they make a mistake.

When no one is afraid to make or admit to a mistake, the projects quality is
positively affected. Finally, by taking financial ownership of a bug, I build a
trust with my stakeholders of the project.