is for a developer to ask the analyst a simple question when tasked with writing some functionality. This question is, quot;how will I know I have done that?quot; The answer should provide the developer with a test to see if the function being built is correct. Asking this question before the code is written will make the developer's life both more enjoyable and more productive. Note that asking this question not only gives more information, but changes the nature of the conversation. When the developer is told how he will know, it will help confirm his thinking or show that he is misunderstanding the person making the request.
Optimizing Quality Assurance
How can optimizing Quality Assurance cause problems? Teams often try to optimize QA because it is over-worked. They batch the tests so QA can be more efficient. But this causes delays from the time the developer is through writing their code until it gets tested. This makes it harder for developers to fix any problems that are found which results in more problems. It becomes a vicious cycle.
A core Lean principle is to optimize the whole. In this situation, Lean would have us integrate development and QA. This would lead us to move test definitions to the front. It should lead to having automated acceptance tests or, at a minimum, to incorporate the discipline of asking - and answering - the question, quot;and how will I know that I have done that?quot; as I described in the earlier anti-pattern.
Lean anti-patterns describe violations of Lean principles that are evidenced by bad practices. They serve as reliable guides to more effective process improvement and to better practice. The way to use them involves a three step process. First, identify a bad or ineffective behavior, because it is usually easier to see the negative than it is to identify what to do right. Next, use the anti-pattern to understand root causes by considering the Lean principles that are being violated, as evidenced by the bad behavior. Finally, develop approaches that address the root causes and will create more effective practices.
 Lean Thinking by James P. Womack and Daniel T. Jones
 Lean Software Development: An Agile Toolkit for Software Development Managers by Mary Poppendieck and Tom Poppendieck
 Tom Poppendieck coined this term in a conversation with Mary Poppendieck and Alan Shalloway.
 More information will be available in our upcoming book, Lean Anti-Patterns and What to Do About Them.