نوشتن مستند یا ترسیم مدل که از این پس آن را مدلسازی مینامیم به دلایل مختلفی انجام میشود اما دو دلیل عمده آن عبارتند از: ارتباطات و یادآوری.
فرض کنید که طرحی از یک پایگاه داده دارید که میخواهید از درستی آن مطمئن شوید، تصمیم میگیرید که از چند نفر بخواهید آن را بررسی کنند. منطقی است که قبل از اجرای طرح (ایجاد جداول و ... در پایگاه داده) نظرات دریافت شود. اگر بتوانید بدون حضور افراد در جلسه، این کار را انجام دهید، هزینه و زمان کاهش خواهد یافت. اگر هم جلسهای تشکیل دهید (جداجدا یا یکدفعه)، برای انتقال طراحی و دریافت نظرات، ناچارید بخشهایی از طرح خود را مثلاً روی تخته سفید ترسیم کنید یا بنویسید. این موارد، نمونههایی از "مدلسازی برای ارتباطات" است.
باز فرض کنید به دلایلی ناچارید از بین چند راه ممکن در طراحی بخشی از پایگاه داده، یکی را انتخاب کنید و نیاز دارید یادتان بماند که به چه دلیل گزینه منتخب را برگزیدهاید. انجام این کار در پایگاه داده (محصول نهایی) اگر نگوییم غیرممکن، ولی دشوار است. پایگاه داده فقط نتیجه نهایی را در خود دارد، اما چرایی انتخابها در ذهنهاست و بعد از مدتی به فراموشی سپرده میشود. این مثال نیز نمونهای از «مدلسازی برای یادآوری» است.
ناچاریم این کارها را به یک دلیل ساده انجام دهیم: ناتوانی انسان یا به بیانی دیگر محدودیت توانایی انسان. شاید اگر میتوانستیم تفکر خود را در کسری از ثانیه به دیگری انتقال دهیم یا فکر خود را در کسری از ثانیه روی رسانهای منتقل کرده و برای دیگران بفرستیم یا توانایی به یادآوری گذشته را با جزئیات میداشتیم یا میتوانستیم از لحظات تصمیمگیری نسخه پشتیبان تهیه کرده و هر وقت نیاز بود به ذهن خود یا افراد دیگر برگردانیم، یا امکان ساخت ابزارهایی که ایده را به محصول تبدیل کنند وجود داشت، نیازی به این همه دردسر نبود. شاید اگر روزی آرزوهایمان یا فیلمهای علمی-تخیلی به واقعیت تبدیل شوند، دردسرهای ما در این زمینه نیز کاهش یابد.
نمونه پروژههای زیر را در نظر بگیرید:
-پروژه کوچک و سادهای مانند ثبت نام آموزشگاه رانندگی
-پروژهای که نیاز پشتیبانی درازمدت ندارد مثل سیستمی که امکان تبدیل اطلاعات از سیستم قدیم به سیستم جدید یا ورود کمبودهای اطلاعاتی را میسر میکند که یک بار استقاده و بعد دور ریخته میشود
-محصولی که هر چند سال یک بار از نو طراحی و ساخته میشود مانند سیستم مالی در شرکتهای تولیدکننده نرمافزار.
هر کدام بر اساس این دو خصلت (ارتباطات و یادآوری) نیازهای خاص خود را خواهند داشت و نمیتوان با یک شیوه و نگرش نیازهای آنها را مرتفع نمود.
یکی از سوءتفاهمهای شایع در مورد متدهای چابک و نظمگرا(دیسیپلین)، موضوع نگرش آنها در مورد مدلسازی است. گروهی متدهای چابک را با «مستندسازی نکردن» و متدهای نظمگرا را «مستندسازی حجیم» میشناسند.
در این بین، ایدههای افراطی نیز زیاد به چشم میخورد از «مدلسازی همه چیز» گرفته تا «کد برنامه، بهترین مستند» که جای بحث و بررسی دارد.
گزیده:
مدل نمیکنیم که مدل کرده باشیم.