✨یک روایت، دو نکته✨
مارتین فاولر در یکی از نوشتههایش روایتی از یک گفتگو با همکارش ارایه میکند که به نظرم بد نیست با هم مرورش کنیم.
میگوید یکی از همکارانش که در رهبری فنی تیم، فردی زبردست و خبره بوده، پروژهای را رهبری میکند و آن را با موفقیت کامل به پایان میرساند. محصول هم از نظر زمان و بودجه، مطابق نظر مشتری بوده و هم از نظر قابلیتها. خب تیمتوسعه، مشتری و سرمایهگذاران از این موفقیت کاملا خوشحال بودند. اما مارتین در گفتگویی که با دوستش داشته از او میشنود که معماری این سیستم آنقدرها هم خوب نیست!
وقتی مارتین از دوستش میپرسد که چطور همچین چیزی اتفاق افتاده؟ تو یکی از بهترین معماران مایی! دوستش پاسخ میدهد: «تصمیماتی که میگرفتیم، همگی درست بودند! اما تازه الان فهمیدیم که باید آن را چطور میساختیم!»
پیشنهاد میکنم نوشتهی کامل را از
اینجا بخوانید. اما این حکایت دو نکته را به من گوشزد کرد:
۱- طراحی تکاملی، سفری در زمان است.
تصمیم امروز ما، فقط بهترین تصمیم برای همین امروز ماست. فردا که دانستههای ما بیشتر و کاملتر شد، تصمیممان احتمالا متفاوت خواهد بود. حال که به تاخیر انداختن تصمیمات مهم در طراحی و معماری مفید است، این سوال مطرح میشود که تا کی میتوانیم تصمیمگیری را به تاخیر بیندازیم؟! کی ضرر ناشی از به تاخیر انداختن تصمیمگیری، از ضرر تصمیمگیری بیشتر میشود؟ پاسخ به این سوال مرتبط است با یکی از ویژگیهای معماری خوب! معماری خوب معماریست که بتواند تصمیمات مهم را تا حداکثر زمان ممکن به تاخیر بیندازد و ما را مجبور نکند تا در اوایل عمر محصول، یعنی در زمانی که دانستههای ما در کمترین حد ممکن است، تصمیماتی بگیریم که انصراف از آنها برای ما سخت شود.
این شیوه فکری با یکی از اصول ناب تولید نرمافزار همسو است. اصلی که بیان میکند:
Decide as late as possible
(در
اینجا بیشتر بخوانید)
۲- «انجام دادن» بهتر است از «عالی انجام دادن»!
بگذارید اول چیزی را بسازیم. آن را عرضه کنیم. از بازخوردها بیاموزیم و بعد برای بهتر شدنش تلاش کنیم. تا چیزی را نساختهایم و به دیگران نشان ندادهایم، چطور میتوانیم بهترش کنیم؟ و یادمان باشد که بین «بهترین» و «خوب» فرق بسیاری وجود دارد. گرفتار شدن در دام «بهترین» و ندیدن گزینههای «خوب» میتواند به از دست رفتن زمان و افزایش هزینهها و غیر اقتصادی شدن محصول، منجر شود. کما اینکه در دنیای پیچیده و پر از عدم قطعیت و ناشناختهها، این نگرش که اولین تصمیم «بهترین» تصمیم است، صحیح نیست.
جمعبندی:
اگر در فضایی هستیم که نادانستههای ما از دانستههایمان بیشتر است، چارهای نداریم جز اینکه از راه تجربه کردن، یاد بگیریم. پس هزینهی تجربه کردن را کم و آن را امن کنیم تا بتوانیم زود به زود تجربه کنیم و زود به زود یاد بگیریم و راه رفته را زود به زود اصلاح کنیم. و یادمان باشد که بیشترین دانستههای ما نه در ابتدای راه، بلکه در انتهای راه نصیب ما خواهد شد.
- روحالله دلپاک
@Break_Point