انتخاب پیمانکار نرم‌افزار: چه چیزی را بسنجیم

تیم آرادتیم مهندسی

فرایند متداول انتخاب پیمانکار چیزی شبیه این است: چند شرکت را پیدا می‌کنید، رزومه و نمونه‌کار می‌گیرید، قیمت می‌گیرید، و ارزان‌ترینِ قابل قبول را برمی‌دارید.

این فرایند تقریباً هیچ اطلاعاتی دربارهٔ آنچه واقعاً مهم است نمی‌دهد. نمونه‌کار نشان می‌دهد چه چیزی ساخته شده، نه اینکه چطور و با چه کیفیتی و آیا سال بعد هنوز قابل نگهداری بوده. قیمت هم، همان‌طور که خواهیم دید، بیشتر دربارهٔ میزان فکرکردن پیمانکار می‌گوید تا دربارهٔ هزینهٔ نهایی.

آنچه واقعاً باید بسنجید

آیا مسئلهٔ شما را فهمیده؟

ساده‌ترین آزمون و بهترین آن: در جلسهٔ اول، کدام طرف بیشتر سؤال پرسید؟

پیمانکاری که بعد از بیست دقیقه شنیدن، بلافاصله راه‌حل و قیمت می‌دهد، یا این کار را صد بار کرده — که ممکن است — یا اصلاً به مسئلهٔ شما فکر نکرده. تشخیصش ساده است: بپرسید «چه چیزی در این پروژه ممکن است پیچیده‌تر از آنی باشد که به نظر می‌رسد؟» جوابِ خوب مشخص و مربوط است.

بهترین نشانه‌ای که دیده‌ایم: پیمانکاری که در جلسهٔ اول بخشی از خواستهٔ شما را زیر سؤال می‌برد. کسی که می‌گوید «این قابلیت را واقعاً لازم دارید؟ چون هزینه‌اش زیاد است و کاربران معمولاً استفاده نمی‌کنند» دارد به منافع شما فکر می‌کند، نه به بزرگ‌کردن قرارداد.

چطور کار می‌کند، نه چه ساخته

سؤال‌هایی که پاسخشان بیش از هر نمونه‌کاری می‌گوید:

  • «چطور تخمین می‌زنید؟» جواب «تجربه» کافی نیست. روش می‌خواهید.
  • «فرایند تست شما چیست؟» اگر جواب «خودمان امتحان می‌کنیم» است، بدانید که کیفیت به دقت افراد بستگی دارد نه به سیستم.
  • «چند وقت یک بار چیزی قابل دیدن تحویل می‌دهید؟» اگر جواب «در پایان هر فاز» است و فازها سه‌ماهه‌اند، سه ماه بدون بازخورد پیش رو دارید.
  • «اگر وسط کار بفهمیم چیزی را اشتباه خواسته‌ایم، چه می‌شود؟» جواب این، ماهیت رابطهٔ آیندهٔ شما را نشان می‌دهد.
  • «چه کسی واقعاً روی این پروژه کار می‌کند؟» شایع‌ترین نارضایتی این است که در جلسات، افراد ارشد حاضرند و در پروژه، تازه‌کارها. اسم و سابقهٔ افراد واقعی را بخواهید و در قرارداد بیاورید.

کد را ببینید

سنجه‌ای که تقریباً هیچ کارفرمایی استفاده نمی‌کند و بیشترین اطلاعات را دارد: نمونه‌ای از کد قبلی‌شان را ببینید — با اجازهٔ مشتری قبلی، یا یک پروژهٔ متن‌باز، یا نمونه‌ای که مخصوص همین کار نوشته‌اند.

اگر خودتان توان ارزیابی ندارید، یک مشاور فنی مستقل برای دو ساعت بگیرید. در برابر قراردادی که می‌خواهید ببندید، هزینه‌اش ناچیز است و بیشترین اطلاعات را می‌دهد.

پیمانکاری که از نشان‌دادن کد طفره برود، پاسخ خودش را داده.

با مشتری قبلی حرف بزنید

نه با آنهایی که در معرفی‌نامه آمده‌اند — آنها را برای همین انتخاب کرده‌اند. بپرسید «پروژه‌ای که سخت پیش رفت کدام بود؟ می‌شود با آنها صحبت کنم؟»

پیمانکار خوب چنین پروژه‌ای دارد و دربارهٔ آن صادقانه حرف می‌زند. کسی که ادعا می‌کند همهٔ پروژه‌هایش عالی پیش رفته، یا کم کار کرده یا راستگو نیست.

سؤالی که از مشتری قبلی باید پرسید: «اگر دوباره برگردید، باز هم همین را انتخاب می‌کنید؟» و مهم‌تر: «یک سال بعد از تحویل چطور بود؟» کیفیت واقعی نرم‌افزار در سال دوم معلوم می‌شود، نه در روز تحویل.

قیمت، و چرا کمترین اطلاعات را دارد

سه پیشنهاد با اختلاف سه‌برابری چیز عجیبی نیست. و معمولاً یعنی سه نفر سه چیز متفاوت فهمیده‌اند از آنچه شما خواسته‌اید.

پس پیش از مقایسهٔ قیمت، مطمئن شوید همه یک چیز را قیمت داده‌اند. اگر دامنه‌ها یکی نباشند، مقایسهٔ اعداد بی‌معنی است. راهش این است که خودتان دامنه را روشن بنویسید — که ساختارش در نگارش RFP آمده.

و یک هشدار جدی: ارزان‌ترین پیشنهاد معمولاً نشانهٔ کم‌ترین فکر است. کسی که سریع و پایین قیمت داده، اغلب قلم‌هایی را ندیده — مهاجرت داده، اتصال‌های بیرونی، تست، آموزش — که در اجرا سر بازمی‌کنند و آن‌وقت یا تغییر قیمت است یا افت کیفیت. فهرست همان قلم‌های فراموش‌شده در تخمین پروژه آمده؛ با آن می‌توانید پیشنهادها را غربال کنید.

نشانه‌های هشدار

اینها را در پروژه‌های واقعی دیده‌ایم و هر بار درست از آب درآمده‌اند:

«همه‌کاره‌ایم.» شرکتی که هم اپلیکیشن می‌سازد، هم هوش مصنوعی، هم سئو، هم شبکه، هم تولید محتوا. تخصص در هیچ‌کدام عمیق نیست.

«این یک ماهه آماده است.» برای چیزی که آشکارا بزرگ‌تر است. یا مسئله را نفهمیده یا می‌داند و می‌گوید تا قرارداد ببندد.

مقاومت در برابر دادن دسترسی به کد در حین پروژه.

نداشتن هیچ سؤالی دربارهٔ کسب‌وکار شما. کسی که فقط دربارهٔ فناوری سؤال می‌کند، سامانه‌ای می‌سازد که با فرایند شما نمی‌خواند.

قرارداد مبهم دربارهٔ مالکیت. اگر مالکیت کد و دامنه و حساب‌ها صریح نیست، همان‌جا اصلاحش کنید.

پیشنهادی که در آن دربارهٔ ریسک‌ها چیزی نیست. هر پروژهٔ واقعی ریسک دارد؛ پیشنهادی که فقط وعده دارد، تصویر کاملی نمی‌دهد.

آزمون کوچک، پیش از قرارداد بزرگ

بهترین کاری که می‌توانید بکنید و کمتر انجام می‌شود: یک کار کوچک واقعی به آنها بدهید. دو تا چهار هفته، با پرداخت مستقل.

در همین مدت چیزهایی می‌فهمید که هیچ مصاحبه‌ای نشان نمی‌دهد: چطور ارتباط می‌گیرند، وقتی گیر می‌کنند چه می‌کنند، کیفیت کد واقعی‌شان چیست، آیا به تخمین خودشان می‌رسند.

هزینهٔ این آزمون، کسری از هزینهٔ پروژهٔ اشتباه است. و اگر پیمانکار حاضر نشود با کار کوچک شروع کند، خودش اطلاعات مفیدی است.

چک‌لیست تصمیم

  • در جلسه بیشتر سؤال پرسیدند تا حرف بزنند
  • بخشی از خواستهٔ ما را زیر سؤال بردند
  • فرایند تخمین و تست مشخصی دارند
  • نمونه کدشان را دیده‌ایم یا کسی به‌جای ما دیده
  • با مشتری قبلی — از جمله یک پروژهٔ سخت — صحبت کرده‌ایم
  • اسم افراد واقعی پروژه در قرارداد است
  • مالکیت کد، دامنه و حساب‌ها صریح است
  • دسترسی مستمر به مخزن کد داریم
  • تحویل و پرداخت مرحله‌ای است
  • شرط خروج و انتقال نوشته شده
  • با یک کار کوچک شروع می‌کنیم

اگر بیشتر این بندها تیک خورد، احتمال موفقیت پروژه‌تان از میانگین بازار به‌مراتب بالاتر است — و این بیشتر به فرایند انتخاب برمی‌گردد تا به شانس.

اگر می‌خواهید همین گفت‌وگو را با ما داشته باشید، تماس بگیرید. جلسهٔ اول رایگان است و اگر به این نتیجه برسیم که پروژهٔ شما با ما جور درنمی‌آید، همان را می‌گوییم.

پروژه یا ایده‌ای دارید؟

متخصصین ما آماده برگزاری یک جلسه مشاوره رایگان هستند.

مشاوره رایگان

پروژه‌تان را با هم بررسی کنیم

جلسهٔ اول رایگان است و معمولاً همان یک جلسه روشن می‌کند پروژه چقدر کار دارد.

چطور با شما تماس بگیریم؟

برای هماهنگی سریع‌تر — اگر تماس تلفنی را ترجیح نمی‌دهید، همان شماره را در پیام‌رسان پیام می‌دهیم.

راه دوم برای رساندن پاسخ — اگر تلفن در دسترس نبود، ایمیل می‌زنیم.

در حال ارسال…

درخواست شما ثبت شد.

همکاران ما پیام شما را می‌بینند و با شما تماس می‌گیرند.