در حال خواندن کتاب Code Simplicity هستم. بخشی از کتاب راجع به معادله طراحی نرم افزار است که به این شکل تعریف می شود که مطلوبیت نرم افزار برابر است با نسبت ارزشی که نرم افزار ایجاد می کند به هزینه ای که برای تولید آن صرف می شود. فرمول با اضافه کردن ارزش آتی نرم افزار و هزینه نگهداری گسترش پیدا می کند و تبدیل می شود به نسبت ارزشی که نرم افزار در آینده ایجاد می کند به هزینه ای که برای نگهداری آن صرف می شود. و نهایتاً پس از شرح و بسط موضوع، این قاعده نتیجه گیری می شود که:
کاهش هزینه های نگهداری نرم افزار از کاهش هزینه های توسعه اولیه نرم افزار مهم تر است.
حین خواندن جزییات فرمول و نتیجه گیری ذکر شده به این فکر می کردم که خوب است ما هم در طراحی نرم افزار و بودجه بندی پروژه کمی از این تحلیل ها استفاده کرده و مقداری از این اعداد کمک بگیریم. به این امید که به ادبیات مشترکی در تیم پروژه و اعضای شرکت برسیم. و البته که بتوانیم پرزنت بهتری در برابر مشتری داشته باشیم.
محاسبه این اعداد کار سختی نیست. در قدم اول باید مشخص شود که هزینه توسعه نرم افزار چقدر است. این هزینه می تواند به شکل ریالی دیده شود یا به شکل نفر-ماه. بعدش باید ببینیم این نرم افزار قرار است تا چند سال مورد استفاده قرار بگیرد و هزینه نگهداری به ازای هر سال آن چقدر است. هزینه نگهداری شامل بخش های مختلفی است از جمله:
با نشان دادن هزینه های تصاعدی نگهداری نرم افزار می توان نیروی تصمیم گیری را متقاعد کرد که منابع بیشتری را در فاز طراحی و پیاده سازی اولیه اختصاص دهد.
دقت در مجموع هزینه اولیه و هزینه نگهداری که در طول دوره عمر نرم افزار اتفاق می افتد کمک می کند که بفهمیم اصلاً آیا استارت این پروژه با توجه به عایدی اولیه و عایدی طول عمر نرم افزار کار عاقلانه ای است یا نه.
اصل این نوشته در اینجا منتشر شده است.