قیمت قرارداد، کل هزینهٔ نرمافزار شما نیست

بیشتر مقایسههایی که بین پیشنهاد چند شرکت نرمافزاری انجام میشود، روی یک عدد متمرکز است: مبلغ قرارداد.
این عدد مهم است. اما اگر تنها عددی باشد که نگاه میکنید، احتمالاً گرانترین گزینه را انتخاب میکنید و سه سال بعد متوجهش میشوید.
هزینهٔ واقعی کجا پرداخت میشود
نرمافزاری که امروز تحویل میگیرید، فردا شروع میکند به خرج تراشیدن — و این اتفاق بدی نیست، طبیعت کار است:
- قانون عوض میشود و باید سامانه را با آن تطبیق دهید.
- کسبوکارتان رشد میکند و قابلیت جدید میخواهید.
- یک باگ در جایی پیدا میشود که هیچکس انتظارش را نداشت.
- نسخهٔ فریمورک از پشتیبانی خارج میشود.
- توسعهدهندهای که آن بخش را نوشته بود، از شرکت میرود.
هرکدام از اینها یک صورتحساب است. مجموعشان در طول عمر سامانه، معمولاً از مبلغ ساخت اولیه بیشتر میشود.
کنسرسیوم CISQ در گزارش ۲۰۲۲ خود هزینهٔ کیفیت پایین نرمافزار در آمریکا را حدود ۲٫۴۱ تریلیون دلار برآورد کرد که حدود ۱٫۵۲ تریلیون دلارش «بدهی فنی» است — یعنی هزینهٔ دوبارهکاری روی نرمافزاری که یک بار ساخته شده. (گزارش CISQ)
این عدد برای اقتصاد یک کشور است، اما نسبتش برای پروژهٔ شما هم برقرار است: پول جایی خرج میشود که کمتر دیده میشود.
گرانترین کار در نگهداشت، «فهمیدن» است
اینجا نکتهای هست که معمولاً در برآوردها دیده نمیشود.
وقتی مهندسی باید یک باگ را در سامانهای رفع کند، بیشتر وقتش صرف نوشتن کد نمیشود. صرف این میشود که بفهمد این سامانه چطور کار میکند، آن بخش چرا اینطور نوشته شده، و تغییرش چه چیز دیگری را خراب میکند.
یک مطالعهٔ میدانی روی ۷۸ برنامهنویس حرفهای در هفت پروژهٔ واقعی — مجموعاً بیش از ۳۱۰۰ ساعت کاری ثبتشده — نشان داد بهطور میانگین حدود ۵۸٪ وقت برنامهنویس صرف فهمیدن کد میشود، نه نوشتن آن. (IEEE TSE)
حالا این را کنار هم بگذارید: بزرگترین قلم هزینهٔ نگهداشت، «فهمیدن» است — و فهمیدن دقیقاً همان کاری است که هوش مصنوعی در آن از همه بهتر عمل میکند.
چهار جایی که این روی صورتحساب شما اثر میگذارد
۱. تحویل اولیه سریعتر تمام میشود. کارهای تکراری — کد قالبی، اتصال به سرویسهای بیرونی، تولید آزمون برای بخشهای ساده — دیگر وقت مهندس را نمیگیرند. پروژهای که زودتر تمام شود، هم ارزانتر است و هم زودتر برایتان درآمد میسازد.
۲. باگ کمتری به مرحلهٔ انتشار میرسد. هر تغییر یک گذر خودکار و یک بازبینی انسانی را رد میکند. خطایی که در بازبینی پیدا شود چند دقیقه وقت میگیرد؛ همان خطا بعد از انتشار، یک تماس اضطراری است و چند برابر هزینه دارد.
۳. رفع مشکل از «چند روز» به «چند ساعت» میآید. وقتی سامانهای خراب میشود، بررسی حجم لاگ و کد بهجای چند ساعت جستوجوی دستی، چند دقیقه طول میکشد و مهندس از روی سرنخها ادامه میدهد.
۴. مستندات کهنه نمیشوند. بخش زیادی از هزینهٔ نگهداشت از این میآید که هیچکس دیگر نمیداند این سامانه چه میکند. مستنداتی که بهصورت دورهای با خود کد مقایسه و بهروز میشود، این هزینه را از ریشه کم میکند.
سؤالی که موقع مقایسهٔ پیشنهادها بپرسید
بهجای «چقدر میشود؟»، این را بپرسید:
«سال دوم و سوم این سامانه چقدر برای من خرج برمیدارد، و شما چه کاری میکنید که این عدد کمتر شود؟»
جوابی که میگیرید، بیشتر از مبلغ قرارداد به شما میگوید با چه کسی طرف هستید.
اگر خواستید همین را برای پروژهٔ خودتان حساب کنیم، در جلسهٔ اول مینشینیم و مراحل کار را با هم مرور میکنیم — کدام گامها برای شما لازم است، و هرکدام چه اثری روی این عدد دارد.