نرمافزاری که فقط کار میکند، هنوز لزوماً خوب نیست
تیم با سرعت خوبی پیش میرفت. هر هفته چند قابلیت تازه به محصول اضافه میشد، مدیر محصول از روند تحویل راضی بود، مشتریها تغییرها را میدیدند، و از بیرون همهچیز نشانهی یک نرمافزار موفق را داشت. نخستین نسخهی پرداخت، گزارشهای مدیریتی، اعلانها و چند قانون تخفیف، یکی پس از دیگری آماده شده بودند. هر بار هم که کسی میپرسید «وضعیت فنی چطور است؟»، پاسخ کوتاه و مطمئن بود: «کار میکند.»
اما چند ماه بعد، همین جمله دیگر آرامشبخش نبود. یک تغییر کوچک در قانون تخفیف، چند بخش نامرتبط را درگیر میکرد. افزودن یک نوع تازه از اعلان، نیازمند تغییر در چند فایل و چند مسیر اجرایی بود. آزمونها یا بیش از حد میشکستند، یا چیزی را که باید، نمیسنجیدند. نرمافزار از بیرون روشن بود، اما درون آن چرخدندههایی فشرده و سختدسترس قرار داشت.

