Transcript Document
Redefining DEFECTS What is Software Defect? • Any flaw or imperfection in a software • Any deviation from specifications Frequently referred to as a FAULT or a BUG 2 Isn’t it our regular experience? ABC Software Development Company developed software for its customer PQR. Customer was glad to have on time delivery, but that happiness soon got converted into disappointment as it was noticed that some of the requirements specified were not met. What went wrong? 3 Continued… • Defect is a deviation from requirements • Remedy is to collect all the requirements, sufficient test coverage and thorough testing 4 Does this also happen sometimes? ABC Software Development Company developed software for its customer PQR. All the specified requirements were met, but still the customer was not happy. The users were not happy with the application as few requirements identified at a later stage were not incorporated in the application as the same was not communicated to the Development Company. 5 Continued… • Defect is anything that makes customer unhappy • Remedy is just collecting requirements is not enough; understand it. Involvement of Development Company’s representative/Test Lead in understanding the actual usage of application would yield better results. 6 Business complexity might lead to this PQR is a well-known organization dealing with consumer goods through internet ordering. ABC Software Development Company gave a proposal on redesigning the ordering module and bagged the order for the same. The task was completed in time as per the specifications. The new site was appreciated by customers and the number of hits per day increased by 20% while sales increased by 12%. 7 Continued… PQR Company was the nearest competitor for XYZ. Both XYZ and PQR were trying to get a competitive age over each other as they were working in a Zero-Sum situation i.e. PQR’s gain was XYZ’s loss. It was surprising to see PQR loosing some of its orders to XYZ due to unavailability of stocks. PQR started ordering higher volumes, but it could not help them much. It was surprising for XYZ too that they were getting advantage without doing anything. 8 Continued… PQR’s cost accountant prepared a report showing – 1. Overall increase in inventory cost – 25% 2. Loss of business due to unavailability of stock (recent error inducted) – 20% 3. Impact on bottom line – 5000 K USD 4. Software redesign charges to ABC Software Development Company 200 K USD XYZ’s cost accountant was happy to report – 1. Sales increase of 3000 K USD 2. No additional costs 9 What went wrong? In-transit stock expected to arrive in next 24 hours was not considered while accepting the customer orders. • This was not specified as a requirement • It was built in the earlier version • It helped(?) our customer to perform BAD 10 Continued… • Defect is something which makes customer suffer or makes customer unsuccessful • Remedy is involvement of Development Company’s representative/Test Lead in requirements development. Understanding specified requirements only is not enough, but helping customer in developing requirements would yield better results. 11 How long will satisfied customer give us more business? So long as he is in business! 12 Continued… Customer’s failure to sustain in competitive world is failure for us not only to get additional business, but also to retain current pie. Successful customer can give more and more business making us successful. This is possible if our software acts as a Business Enabler for the customer helping the customer to bring success. If customer’s success is our success then we must get involved not only in understanding the requirements, but in identifying and developing the requirements i.e. involvement of Testing Team prior to project initiation phase i.e. project conceptualization phase. 13 What have we seen so far? Redefinition of the term – DEFECTS 14 What it means? • Significant changes in entire Testing process • Understand what our customer is eyeing for • Understand how our relationship / assignment / project can contribute towards the customer’s Key Success Areas (KSAs) 15 What it means? 16 Suggested Approach 1. 2. 3. 4. 5. 6. It’s a common practice to link test cases to business requirements. We, now need to link business requirements to Key Success Areas (KSAs) Review of test cases by Key Success Coordinator New testing metrics - % Key Success Areas covered, Test Cases executed, Defects detected, Defects open in Key Success Area Involvement of testing team right from identification of pain areas till the business solution starts delivering. Change in lookout form Test if time permits to test to ensure business enablement Change in psychology from Defect Free delivery to Success Full delivery 17 Shift in approach: Defectives to Detectives It’s quite a common practice to transfer “not good” programmers to Testing and forcing the Test Manager to deliver defect-free software using the defectives in the organization. We need to change this. We have to use the testing experts (detectives) for testing and detecting even a minor problem / defect. Testing should not be considered as an activity to be done if time permits. It must be looked as a value adding activity. 18 In search of approach CEOs Customers Doctors Professors Police are in search of are in search of are in search of are in search of are in search of Excellence Superior Quality Patients Students Criminals And Test Professionals should be in search of ??? 19 Continued… Test Professionals should be in search of DEFECTS! 20 What is this picture about? 21 The most common answers are 1. Young / Beautiful lady 22 And … 2. Old / Tired lady 23 Continued… • Try to be more creative and visualize from various angles • Do not settle on the most obvious alternative • Try to unfold things which otherwise would go unnoticed 24 Not a power game! One Good software tester keeps the entire development team BUSY (fixing the defects) 25 Change in Vision Change your vision to prove “Good” things as “Bad” with an objective to improve. Look from Customer’s eyes Business user’s eyes and End customer’s eyes 26 Change in Focus 1. Testing is needed as customer wants it. Understand expressed as well as implied needs, critical to customer – CTCs 2. Instead of spending time and energy on proving that you have taken into account all the expectations and used experienced resources for testing; spend your time in delivering something which would help customer to be successful and give you repeat business 3. Ensure in delivering a solution which would be business enabler for the customer 27 Change in Attitude • We eat bugs during breakfast • A bug every hour • Defects as a LOVE Letter to Developer… More the number more we enjoy! • Our job is to tell you… your baby is ugly! • YOUR bugs pay for MY kid’s degrees! 28 Conclusion It’s the law of nature that “Time brings changes.” It’s happening to the customer expectations, business challenges and so also to the definition of Defects. We must accept it; It’s time to Redefine DEFECTS; Isn’t it? 29 THANK YOU Tested your patience; NO DEFECT found. 30