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