هزینهٔ نگهداری اپلیکیشن پس از ساخت

سؤالی که در پایان هر پروژهٔ اپلیکیشن پرسیده میشود: «حالا که تحویل شد، دیگر هزینهای ندارد؟»
پاسخ کوتاه: اپلیکیشن موبایل تنها نوع نرمافزاری است که اگر دست نزنید، از کار میافتد.
سایتی که رها شود، سالها به کار خود ادامه میدهد. اپلیکیشنی که رها شود، در دو سال یا از بازار حذف میشود یا روی گوشیهای جدید اجرا نمیشود.
چرا اپلیکیشن خودبهخود خراب میشود
سه نیروی بیرونی که هیچکدام در کنترل شما نیستند:
نسخهٔ جدید سیستمعامل، سالانه. رفتارها عوض میشوند، مجوزها سختگیرانهتر میشوند، و قابلیتهایی حذف میشوند. اپی که برای نسخهٔ دو سال پیش نوشته شده، روی نسخهٔ جدید ممکن است رفتار عجیبی داشته باشد.
بازارها حداقل نسخهٔ هدف را بالا میبرند. این مهمترین بند است: اگر اپ شما این حداقل را رعایت نکند، بهروزرسانی جدید پذیرفته نمیشود — و در مواردی، اپهای قدیمی از فهرست حذف میشوند. یعنی حتی اگر هیچ قابلیت جدیدی نمیخواهید، مجبورید سالی یک بار نسخهٔ جدید بدهید.
دستگاههای جدید، اندازههای جدید. بریدگی صفحه، نسبتهای تازه، تاشوها.
و یک نیروی چهارم که خاص بازار ماست: کتابخانههای قدیمی. بهروزرسانی وابستگیها وقتی دسترسی به مخازن پایدار نیست سختتر است، و فاصله هر سال بیشتر میشود. بدهیای که خودش رشد میکند، همانطور که در بدهی فنی گفتیم.
قلمهای هزینه
۱. نگهداری اجباری. سازگاری با نسخهٔ جدید سیستمعامل، بهروزرسانی کتابخانهها، رعایت حداقل نسخهٔ بازارها. این قلم قابل حذف نیست.
۲. رفع باگ. هر اپلیکیشنی پس از انتشار باگ نشان میدهد، چون ترکیب دستگاهها در تست پوشش داده نمیشود.
۳. زیرساخت سمت سرور. اپ بدون سرویس پشتیبان معنا ندارد: سرور، پایگاه داده، پشتیبانگیری، پهنای باند.
۴. سرویسهای جانبی. پیامک، اعلان، نقشه، درگاه پرداخت، تحلیل. بعضی از اینها با تعداد کاربر رشد میکنند — که یعنی موفقیت شما هزینهتان را بالا میبرد. مدلش را از قبل حساب کنید.
۵. حساب توسعهدهنده و گواهیها. سالانه، و تمدیدنشدنشان یعنی اپ از دسترس خارج میشود.
۶. پشتیبانی کاربر. پاسخ به نظرات بازار و تیکتها.
۷. تغییر و قابلیت جدید. تنها قلم اختیاری این فهرست.
عدد سرانگشتی
بین ۱۵ تا ۲۵ درصد هزینهٔ ساخت، سالانه — برای نگهداری، بدون قابلیت جدید.
اگر اپلیکیشن دو پلتفرم دارد، این عدد برای هر دو با هم است؛ ولی توجه کنید که نگهداری دو نسخهٔ نیتیو تقریباً دو برابر یک نسخهٔ چندپلتفرمی هزینه دارد. این یکی از عوامل واقعی در تصمیمی است که در ریاکت نیتیو در برابر فلاتر بررسی کردهایم.
و برای پروژهای که تازه شروع میکنید: نگهداری سه سال را در برآورد اولیه بیاورید، نه فقط ساخت. چارچوب کاملش در هزینهٔ مالکیت نرمافزار.
آنچه هزینه را بالا میبرد
سفارشیسازی عمیق رابط کاربری. هرچه از اجزای استاندارد فاصله بگیرید، هر تغییر سیستمعامل بیشتر شما را میشکند.
وابستگی به کتابخانههای کمنگهداری. کتابخانهای که نویسندهاش رهایش کرده، بدهی است.
نبود تست خودکار. هر بهروزرسانی سیستمعامل یعنی تست دستی کامل.
نبود مستندات. اگر تیم عوض شود و هیچ چیز نوشته نشده باشد، هر تغییر کوچک گران است.
پشتیبانی از نسخههای خیلی قدیمی. هر نسخهٔ اضافه، هزینهٔ تست دارد.
آنچه هزینه را پایین میآورد
نزدیک ماندن به اجزای استاندارد پلتفرم.
پرچم قابلیت. روی موبایل ارزش دوچندان دارد، چون بازگشت نسخه ممکن نیست. تنها راه خاموش کردن قابلیت معیوب بدون انتشار جدید، همین است.
پیکربندی از سمت سرور. هر چیزی که ممکن است عوض شود — متنها، آستانهها، لینکها — از سرور بیاید نه از داخل اپ. هر تغییری که نیاز به انتشار نسخه نداشته باشد، چند روز و چند برابر هزینه صرفهجویی میکند.
سازگاری عقبرو در سرویس. سرویسی که نسخهبندی درست دارد، اپهای قدیمی را نمیشکند.
تست خودکار برای مسیرهای حیاتی.
گزارش خرابی خودکار، تا مشکل را زودتر از کاربران بفهمید.
قرارداد نگهداری، بندهایی که باید باشند
اگر برونسپاری میکنید:
- سازگاری با نسخههای جدید سیستمعامل صریحاً جزو نگهداری باشد، نه «توسعهٔ جدید».
- زمان پاسخ به تفکیک شدت — الگویش در SLA.
- تفکیک روشن رفع باگ از قابلیت جدید.
- تعداد انتشار در سال که شامل میشود.
- مالکیت کلید امضا و حسابهای بازار. این بند حیاتی است: از دست دادن کلید امضا یعنی هرگز نمیتوانید بهروزرسانی منتشر کنید و باید اپ جدیدی بسازید و کاربران را از صفر جمع کنید.
آن بند آخر را در انتشار اپلیکیشن هم گفتیم و اینجا تکرارش میکنیم چون برگشتناپذیرترین اشتباه این حوزه است.
و یک تصمیم که باید آگاهانه باشد
اگر بودجهٔ نگهداری ندارید، شاید اصلاً نباید اپلیکیشن بسازید.
اپی که یک سال بعد بهروزرسانی نگیرد، امتیازش در بازار افت میکند، نظرات منفی میگیرد، و در نهایت حذف میشود. یعنی سرمایهگذاری اولیه هم از بین میرود.
در آن حالت، وب واکنشگرا یا PWA تصمیم درستتری است: هزینهٔ نگهداری بهمراتب کمتر، بدون وابستگی به بازارها، و بدون اجبار سالانه به انتشار نسخه. مقایسهاش در اول اپ بسازیم یا سایت.