عادة ما يتم جمع احتياجات العميل، ثم تحويل هذه الاحتياجات الى برنامج، ويلي ذلك مراحل الاختبارات للتأكد من ملائمة الخرج للاحتياجات.
هذا النمط المعتاد من البرمجة يجعل هناك مسافة بين احتياجات المستخدم والبرنامج المطلوب، حيث يتم الاختبار بعد كتابة البرنامج.
فماذا لو قمنا بكتابة المتطلبات على شكل اختبارات بصيغة يفهمها العميل، ويوافق عليها، ثم كتابة البرنامج الذي يحقق هذه الاختبارات.
ليس ذلك فحسب، بل يكون الكمبيوتر هو الفيصل، حيث انه هو من سينفذ هذه الاختبارات، ويؤكد ان البرنامج يسير حسب احتياجات العميل.
اذا كنت تريد برنامجا بجودة عالية، يوافق احتياجات العميل، ويقلل من تكلفة اصلاح الاخطاء، فهذا المنهج لك.