پنج دلیل برای این که استارتاپ‌ها نباید توسعه نرم‌افزار خود را برون‌سپاری کنند

فهرست مطالب

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

امروز مصادف با 256 امین روز سال میلادی (13 سپتامبر)، روز بزرگداشت برنامه‌ نویسان نام گرفته است. دلیل انتخاب عدد 256 این است که هر بایت می‌تواند 256 مقدار منحصربه‌فرد تولید کند.

به‌ مناسبت چنین روزی در این مقاله به اهمیت وجود برنامه نویسان در شروع کار استارتاپ ها می پردازیم.

چرا بهتر است صاحبان ایده برنامه‌نویسی بلد باشند؟

شاید برای شما هم جالب باشد که مارک زاکربرگ، موسس فیسبوک برنامه‌نویسی بلد بود!

همچنین طراحی و برنامه نویسی اولین نسخه فیس بوک توسط او انجام شد.

همینطور بیل‌گیتس، جک دورسی و ‌بنیان‌گذار شرکت اپل، هر سه از ابتدای کار ایده خود را تبدیل به کد کردند و برای این کار دست‌به‌دامن توسعه‌دهندگان نشدند. در استارت‌آپ‌های موفق ایرانی نیز همین امر صدق می کند. به‌طورمثال حمید محمدی، ‌بنیان‌گذار دیجی‌کالا، حسام آرماندهی، ‌بنیان‌گذار کافه بازار و دیوار و .. نیز ابتدا خود برنامه‌نویسی اولیه کسب و کار خود را انجام داده‌اند.

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

در ادامه دلایل نادرست بودن برون‌سپاری توسعه نرم‌افزار برای استارت‌آپ‌ها را بررسی می‌کنیم.

دلایل نادرست بودن برون‌سپاری پروژه‌های استارت‌آپی

ادغام فریلنسرها با تیم داخلی کار آسانی نیست، اما اهمیت زیادی دارد. کارآفرینان همیشه به دنبال ترفندهایی هستند تا کارها را به شیوه‌ای ارزان‌تر، سریع‌تر و کارآمدتر انجام دهند؛ اما گاهی اوقات، این صرفه‌جویی ارزش هزینه نهایی را ندارد.

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

“همیشه در تلاش برای برون‌ سپاری توسعه نرم‌افزار بوده‌ام، می‌خواستم آن‌ها بخش‌هایی از کار برنامه نویسی را انجام دهند تا تیم‌ها بتوانند به ضرب‌الاجل‌ها برسند. چون ما در مرحله بوت‌استرپ بودیم و این یک ایده منطقی به نظر می آمد.

بعدها به دلایل زیر فهمیدیم که این کار یک فاجعه بوده:

1- طرز فکرهای مختلف منجر به اهداف ناهماهنگ می‌شود.

برای یک توسعه‌دهنده نرم‌افزار، ما فقط یک مشتری کوچک بودیم؛ اما وقتی بزرگ‌تر شدیم، پروژه‌های در دست برنامه‌نویس بیشتر و بیشتر شد و لاجرم پروژه ما با تأخیر مواجه شد. از طرف دیگر، کارشناسان نرم‌افزار (برنامه‌ نویسان فریلنسر) می‌خواستند که ما ویژگی‌های بیشتری را به نرم‌افزار اضافه کنیم و همین استارت‌آپ ما را از رویکرد حداقل محصول پذیرفتی (MVP) دور می‌کرد. در واقع، ما و شرکت‌های برنامه‌ نویسی انگیزه‌های متفاوتی داشتیم که منجر به کار در راستای اهداف متقابل می‌شد.

2- مذاکرات قرارداد می‌تواند پیچیده و زمان‌بر باشد.

علی‌رغم اینکه استارت‌آپ من انتظار این‌همه اتلاف وقت را نداشت، من مجبور شدم تا زمان زیادی را صرف نهایی کردن قرارداد با شرکت نرم‌افزاری بکنم. درواقع، تعریف، مذاکره و اجرای قرارداد بین سه تا چهار هفته طول می‌کشید. البته، اگر بخواهم منصف باشم، برای طولانی شدن این مدت دلایل منطقی وجود داشت، چون هیچ راه آسانی برای تعریف محدوده کار، شناسایی مسئولیت‌های هر یک از طرفین و تنظیم یک توافق‌نامه در سطح خدمات (SLA) وجود ندارد و اگر قرارداد در این مرحله با دقت نوشته نشود، در ادامه راه با مشکلات بزرگ‌تری مواجه می‌شویم.

3- احتمال پایین آمدن کیفیتِ کار وجود دارد.

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

4- افراد درون‌ سازمانی در مدیریت پروژه‌های برون‌ سپاری شده مهارت ندارند.

بسیاری از استارت‌آپ‌ها این واقعیت را نادیده می‌گیرند که مدیریت تیم‌های برون‌سپاری نیازمند تخصص و مجموعه‌ای از مهارت‌های خاص است. برون‌سپاری فرآیندی اساساً متفاوت از توسعه داخلی است. تعداد استارت‌آپ‌هایی که نیروهایی با این تجربه دارند بسیار کم است و همین موضوع احتمال شکست را افزایش می‌دهد. از آن طرف شرکت‌های برون‌سپاری ممکن است از بی‌ تجربگی شما سوءاستفاده کنند و با بی‌وجدانی، زمان و هزینه را بیشتر از واقعیت برآورد کنند.

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

  • الزامات و خواسته‌های خود را به‌ وضوح تعریف کنید.
  • دقیقا مشخص کنید کدام پروژه‌ها در داخل توسعه خواهند یافت و کدام یک برون‌ سپاری خواهند شد.
  • برنامه‌ریزی خوبی برای یکپارچه‌ سازی کدها در پایگاه کد اصلی (Master codebase) داشته باشید.
  • اقدامات و رویه‌های مشخصی برای تضمین و کنترل کیفیت داشته باشید و برای اجرای آن‌ها برنامه‌ریزی کنید.
  • جدول زمانی پروژه‌ها را رصد کنید.
  • بازخورد منظم ارائه دهید.

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

” اکیداً توصیه می‌کنم از برون‌سپاری توسعه نرم‌افزار خودداری کنید، مگر اینکه نیرویی متخصص در این حوزه، درون تیم خود داشته باشید.”

5- مسائل بیرونی بر سازمان شما اثر دومینویی دارد.

اگر پروژه برون‌سپاری شما به‌ خوبی پیش نرود، استرس ناشی از آن بر بخش‌های دیگر کسب‌ و کار شما تأثیر منفی می‌گذارد. تأخیر و مشکلات کیفیت در پروژه‌های برون‌سپاری طبیعی و مورد انتظار است. با این‌ حال، استارت‌آپ‌ها اغلب از این واقعیت آگاه نیستند و برای کاهش پیامدهای آن برنامه‌ریزی نمی‌کنند.

مدیر ارشد فناوری ((CTO ما مستقیماً با پروژه برون‌سپاری شده درگیر بود و مقدار نا متناسبی از زمان خود را صرف مدیریت آن پروژه کرد. در نتیجه، وقت کمی برای کارمندان داخلی داشت و همین باعث از دست‌ دادن ضرب‌الاجل‌ها شد و کارمندان دچار افت روحیه شدند. تأخیرهای تیم فناوری به نوبه خود باعث شکست در بخش محصولات و فروش شد که متعاقباً باعث ناامیدی مشتریان شد، زیرا ما قول‌هایی به مشتریان خود داده بودیم که در صورت عملی‌نشدن، آن‌ها را از دست می‌دادیم. بودجه پروژه برون‌سپاری بیشتر از مقدار پیش‌بینی‌شده بود – چیزی که بعداً متوجه شدیم یک اتفاق بسیار تکرار شونده است. در کنار همه این‌ها نگرانی‌های تأمین مالی به‌عنوان یک استارت‌آپ در مراحل اولیه، فشار بیشتری بر ما وارد می‌کرد.

نکته اصلی اینجاست: ما زمان، پول و تلاش بسیار بیشتری از آنچه انتظار داشتیم صرف کردیم و در نهایت یا از اکثر کدهای ایجاد شده توسط شرکت برون‌ سپاری استفاده نکردیم یا مجبور به باز نویسی آن‌ها شدیم.

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

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

تهیه و نگارش محتوا: مهتا مقدری

منبع:

https://www.entrepreneur.com/science-technology/5-reasons-why-its-a-bad-idea-for-startups-to-outsource/285316