بعضی از تصمیمهای اشتباه در مهندسی نرمافزار، در لحظه کاملاً منطقی به نظر میرسند.همه اطلاعات موجود از آن تصمیم حمایت میکنند.
فشار زمان وجود دارد.
نیاز کسبوکار مشخص است.
راهحل هم جواب میدهد.
پس تصمیم گرفته میشود.
مشکل از جایی شروع میشود که چند ماه بعد، نتیجه آن تصمیم را میبینیم.اینجاست که معمولاً جملههای آشنایی شنیده میشود:
«از اول معلوم بود اشتباه است.»
«نباید این کار را انجام میدادیم.»
«همان موقع هم مشخص بود به مشکل میخوریم.»
اما واقعیت این است که بسیاری از تصمیمهای امروز، با دانشی که امروز داریم قضاوت میشوند.نه با دانشی که آن روز در اختیار داشتیم.
به همین دلیل است که تیمهای حرفهای کمتر به دنبال پیدا کردن مقصر هستند.و بیشتر تلاش میکنند فرآیند تصمیمگیری را بهبود دهند.
چون در پروژههای واقعی، همیشه نمیتوان بهترین تصمیم را گرفت.گاهی فقط میتوان بهترین تصمیم ممکن را با اطلاعات موجود گرفت.
بلوغ مهندسی زمانی اتفاق میافتد که به جای قضاوت گذشته،از آن برای ساختن تصمیمهای بهتر در آینده استفاده کنیم.
در نهایت، کیفیت یک تیم را تعداد اشتباهاتش مشخص نمیکند.توانایی یاد گرفتن از آنها مشخص میکند.
Post #655
378