نوشتن مستند یا ترسیم مدل که از این پس آن را مدلسازی مینامیم به دلایل مختلفی انجام میشود اما دو دلیل عمده آن عبارتند از: ارتباطات و یادآوری.
فرض کنید که طرحی از یک پایگاه داده دارید که میخواهید از درستی آن مطمئن شوید، تصمیم میگیرید که از چند نفر بخواهید آن را بررسی کنند. منطقی است که قبل از اجرای طرح (ایجاد جداول و … در پایگاه داده) نظرات دریافت شود. اگر بتوانید بدون حضور افراد در جلسه، این کار را انجام دهید، هزینه و زمان کاهش خواهد یافت. اگر هم جلسهای تشکیل دهید (جداجدا یا یکدفعه)، برای انتقال طراحی و دریافت نظرات، ناچارید بخشهایی از طرح خود را مثلاً روی تخته سفید ترسیم کنید یا بنویسید. این موارد، نمونههایی از “مدلسازی برای ارتباطات” است.
باز فرض کنید به دلایلی ناچارید از بین چند راه ممکن در طراحی بخشی از پایگاه داده، یکی را انتخاب کنید و نیاز دارید یادتان بماند که به چه دلیل گزینه منتخب را برگزیدهاید. انجام این کار در پایگاه داده (محصول نهایی) اگر نگوییم غیرممکن، ولی دشوار است. پایگاه داده فقط نتیجه نهایی را در خود دارد، اما چرایی انتخابها در ذهنهاست و بعد از مدتی به فراموشی سپرده میشود. این مثال نیز نمونهای از «مدلسازی برای یادآوری» است.
ناچاریم این کارها را به یک دلیل ساده انجام دهیم: ناتوانی انسان یا به بیانی دیگر محدودیت توانایی انسان. شاید اگر میتوانستیم تفکر خود را در کسری از ثانیه به دیگری انتقال دهیم یا فکر خود را در کسری از ثانیه روی رسانهای منتقل کرده و برای دیگران بفرستیم یا توانایی به یادآوری گذشته را با جزئیات میداشتیم یا میتوانستیم از لحظات تصمیمگیری نسخه پشتیبان تهیه کرده و هر وقت نیاز بود به ذهن خود یا افراد دیگر برگردانیم، یا امکان ساخت ابزارهایی که ایده را به محصول تبدیل کنند وجود داشت، نیازی به این همه دردسر نبود. شاید اگر روزی آرزوهایمان یا فیلمهای علمی-تخیلی به واقعیت تبدیل شوند، دردسرهای ما در این زمینه نیز کاهش یابد.
نمونه پروژههای زیر را در نظر بگیرید:
-پروژه کوچک و سادهای مانند ثبت نام آموزشگاه رانندگی
-پروژهای که نیاز پشتیبانی درازمدت ندارد مثل سیستمی که امکان تبدیل اطلاعات از سیستم قدیم به سیستم جدید یا ورود کمبودهای اطلاعاتی را میسر میکند که یک بار استقاده و بعد دور ریخته میشود
-محصولی که هر چند سال یک بار از نو طراحی و ساخته میشود مانند سیستم مالی در شرکتهای تولیدکننده نرمافزار.
هر کدام بر اساس این دو خصلت (ارتباطات و یادآوری) نیازهای خاص خود را خواهند داشت و نمیتوان با یک شیوه و نگرش نیازهای آنها را مرتفع نمود.
یکی از سوءتفاهمهای شایع در مورد متدهای چابک و نظمگرا(دیسیپلین)، موضوع نگرش آنها در مورد مدلسازی است. گروهی متدهای چابک را با «مستندسازی نکردن» و متدهای نظمگرا را «مستندسازی حجیم» میشناسند.
در این بین، ایدههای افراطی نیز زیاد به چشم میخورد از «مدلسازی همه چیز» گرفته تا «کد برنامه، بهترین مستند» که جای بحث و بررسی دارد.
گزیده:
مدل نمیکنیم که مدل کرده باشیم.
علی چوبدار
۱۵ آذر ۱۳۹۰ در ۰۰:۰۰سلام و خسته نباشید.
بنده به تازگی با وبلاگ شما آشنا شدم و دیگه جوری شده که هر چند روزی سر می زنم.
اینبار قسمت گزیده واقعا منو گرفت.
ممنون از اینکه تجربیاتتون رو به اشتراک می زارین.
چوبدار
———————————–
جناب آقای چوبدار
سلام، وقت به خیر
موجب خرسندی است که شما مطالب وبلاگ را دنبال میکنید. از لطف شما سپاسگزارم.
علاقهمندم در صورت امکان بدانم که چه برداشتی از گزیده این نوشته داشتید. این جمله یکی از چندین موضوعی است که باعث خندیدن عزیزانم میشود.
به امید دیدار
مهرداد
علی چوبدار
۱۶ آذر ۱۳۹۰ در ۰۰:۰۰ممنون قضیه رو راحت بیان کردید.
چند وقت پیش در متنی از آقای اسکات املر یه جمله خوندم که خیلی روش تاکید داشت که در واقع به بیانی همین جمله شماست. اون عبارت این بود
the value is often in the act of modeling and not in the model itself
ممنون از توضیحاتتون
چوبدار
Iran
۲۶ آذر ۱۳۹۰ در ۰۰:۰۰به نظر بنده
مستند وسیله ای برای برقراری بین ذی نفعان پروژه در زمان حال و آینده است !
و اگر به هر شکلی در زمان حال بتوان ارتباط برقرار کرد یا در آینده به آن نیازی نبود به مستند نیازی نیست.
مستند سازی یک Trade-off بین عوامل زیادی مانند هزینه، زمان و … است.