I’ve moved my notes from this page to their own page - see technical debt notes.
From Wikipedia: A software bug is an error, flaw, failure, or fault in a computer program or system that causes it to produce an incorrect or unexpected result, or to behave in unintended ways.
Defect Cost Increase (DCI)
The following is from Extreme Programming Explained by Kent Beck (The original XP bible, and a must read for all software developers!) Defect Cost Increase (DCI) is the second principle applied in XP to increase the cost-effectiveness of testing. DCI is one of the few empirically verified truths about software development: the sooner you find a defect, the cheaper it is to fix. If you find a defect after a decade of deployment you’ll have to reconstruct a lot of history and context to figure out what the code was supposed to do in the first place, which of those assumptions are in error, and what should be fixed so the rest of the (presumably correct) program remains undisturbed. Catch the same defect the minute it is created and the cost to fix it will be minimal.
From Wikipedia: Failure demand is a systems concept used in service organisations first discovered and articulated by Professor John Seddon as ‘demand caused by a failure to do something or do something right for the customer’. Seddon makes the distinction between ‘failure demand’ and ‘value demand’, which is what the service exists to provide. Failure demand represents a common type of waste found in service organizations. see wiki
From Wikipedia: Gold plating in software engineering or Project Management (or time management in general) refers to continuing to work on a project or task well past the point where the extra effort is worth the value it adds (if any). After having met the requirements, the developer works on further enhancing the product, thinking the customer would be delighted to see additional or more polished features, rather than what was asked for or expected. see wiki gold plating