چگونه یک مشارکت موفق در زمینه توسعه نرم‌افزار داشته باشیم؟

ترجمه و تالیف : علیرضا معمارزاده
تاریخ انتشار : 08 اسفند 98
خواندن در 7 دقیقه
دسته بندی ها : برنامه نویسی

مشارکت و برون‌سپاری IT اغلب فرصتی برای کاهش هزینه‌ها دیده می‌شود که باعث ایجاد تمرکز روی پروژه‌های اصلی، حل مسائل و افزایش کیفیت می‌شود. این مقاله از راکت تکمیل‌کننده مقاله «12 کلید موفقیت برون‌سپاری و مشارکت IT در سال 2019» است که اخیراً در وبلاگ ما منتشر شده است و به مسئله برون‌سپاری و مشارکت IT می‌پردازد: «تقریباً هر پنج سازمانی که تصمیم به برون‌سپاری IT می‌گیرد، در ایجاد روابط موفق با شریکان شکست می‌خورند و میلیون‌ها دلار به هدر می‌رود و قراردادها با شکست مواجه می‌شوند.»

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

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

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

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

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

نکات بیشتری درمورد این سه موضوع اساسی یاد بگیرید؛ زیرا به تقویت روابط تجاری موفق برای دست‌یابی به اهداف مشترک، اشتراک دیدگاه‌ها و روابط شفاف کمک می‌کنند.

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

چگونه یک مشارکت موفق در زمینه توسعه نرم‌افزار داشته باشیم؟ 

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

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

نکات بخش بعدی براساس تجربه 5 ساله ما در همکاری با تعداد زیادی دانشجو، بیان شده است. تمرکز اصلی ما روی تجارت و ارتباط یک مشارکت مناسب است و این بار به مسائل مربوط به فناوری نمی‌پردازیم.

در ادامه بیشتر درمورد سه حوزه کلیدی یک همکاری موفق صحبت می‌کنیم.

۱. ارتباط

«هرگز آن‌قدر مشغول و درگیر نیستید که نتوانید خواسته‌تان را بیان کنید؛ هیچ بهانه‌ای برای یک ارتباط ضعیف وجود ندارد.»

به لطف توسعه مشارکتی نرم‌افزار، تیم مشتری می‌تواند از روش‌های بسیاری به‌وسیله ایجاد یک دیدگاه جدید درمورد پروژه و یا کشف دیدگاه‌های دیگر و استانداردهای ارتباطی، بهره‌مند شود. 

بااین‌وجود، چنین مزایایی تنها یک اِلِمان هستند که در مواقعی که شرکا آن‌گونه که از هم انتظار دارند رفتار نمی‌کنند، مؤثر نمی‌باشند. ارتباط باز و شفاف برای شراکت بین مشتری و شرکت توسعه نرم‌افزار ضروری است.

چه چیزهایی باید شفاف شوند؟

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

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

نکات مهم برای به یادآوردن ارتباط در توسعه مشارکتی نرم‌افزار

  • معرفی یک عنصر کلیدی: با چه کسی صحبت می‌کنم؟

تیم توسعه شما باید سهام‌داران اصلی را بشناسند. این به حل بسیاری از مسائل پیچیده حین همکاری و انتخاب لحن صحیح برای صحبت با شرکا کمک می‌کند. لحن متفاوت و نیازهای مخاطبین شما باید در هر ارتباط همراه با احترام باشد. ممکن است بعضی از شرکا یک گزارش یا مستند درمورد یک مسئله بخواهند درحالی‌که بعضی دیگر تنها به یک گزارش کوتاه رضایت می‌دهند.

توصیه می‌شود که در ابتدای هر پروژه‌ای، شرکا و نمایندگان آن‌ها ترجیحاً به‌صورت حضوری با یکدیگر ملاقات و صحبت کنند.

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

از طرف دیگر، برای مشتریان راحت‌تر است که با اعضای تیم توسعه که به دنبال پیشنهاد، نظر و اظهار نگرانی هستند، از راه دور صحبت کنند.

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

اغلب اوقات بازخوردهای کوتاه کفایت می‌کند. به‌عنوان‌مثال: «از پیغام شما متشکرم. سؤال شما را متوجه شدم اما درحال حاضر کار ما به پایان رسیده است. صبح که به دفتر کار برگردم پاسخ کاملی به شما می‌دهم.» این‌گونه پاسخ به حفظ یک جریان نرم اطلاعات علی‌رغم تفاوت‌های زمانی کمک می‌کند.

  • تعیین سیاست‌های ارتباطی: قبل از شروع ارتباط هر دو تیم، بهتر است که سیاست‌های ارتباطی تعیین کنید. مسائل باید به‌صورت صحیح، دارای قابلیت اعتمادپذیری، در زمان مناسب و به‌صورت متعادل مشخص شوند. 

سیاست‌ها به این صورت است که مشخص می‌کنند چه مسائلی و چگونه باید در هر بخش معرفی به بحث گذاشته شوند و چه موضوعاتی قابل‌قبول نیستند.

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

۲. اعتماد

 چگونه یک مشارکت موفق در زمینه توسعه نرم‌افزار داشته باشیم؟

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

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

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

اگر این روش مناسب بود، می‌توانید از سرمایه‌گذاران خارجی خود برای مشارکت در تصمیم‌گیری‌های کاری دعوت کنید. برای ایجاد اعتماد، فضای کاری بدون وجود نظارت‌های بیش‌ازحد اعضای تیم‌تان، برای آن‌ها فراهم کنید. 

بپذیرید که ممکن است سرمایه‌گذاران شما یک مشکل را با راه‌حل موردنظر شما حل نکند؛ به‌هرحال ممکن است آن‌ها راه‌حلی را ارائه دهند که فراتر از انتظار شما باشد. اعتماد به هردو طرف مشارکت اجازه می‌دهد که آزادانه و همکارانه به‌عنوان شرکا و نه‌فقط مشتری باهم کار کنند.

در مورد اعتماد در توسعه مشارکتی نرم‌افزار، این موارد مهم هستند:

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

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

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

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

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

۳. هدف مشترک، دیدگاه و موفقیت

چگونه یک مشارکت موفق در زمینه توسعه نرم‌افزار داشته باشیم؟ 

نسبت به اهداف مشترک شفاف باشید تا بتوانید بهترین استراتژی را اتخاذ کنید و با همکاری به موفقیت دست پیدا کنید.

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

سمت دیگر شراکت نباید مانند غریبه‌ها رفتار کند بلکه باید مانند همکار (مشتری و تأمین‌کننده) برای رسیدن به یک هدف مشترک رفتار کند. این امر با برگزاری جلسات منظم، برنامه‌ریزی، بازگشت به عقب و همچنین زمانی برای اختصاص دادن به وظایف روزانه و تمام این موارد، میسر می‌شود.

اهداف بلندمدت

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

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

دید مشترک برای موفقیت هر دو طرف

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

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

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

نتیجهگیری 

می‌خواهیم نقل‌قولی را به اشتراک بگذاریم که خلاصه‌ای از مطالب گفته‌شده در قسمت‌های قبل است:

"Dave Walker" مدیر فناوری در شرکت Lovespace کاملاً درزمینهٔ برون‌سپاری پروژه‌ها باتجربه است. او اغلب درمورد مزایا و معایب همکاری اظهارنظر می‌کند و ویژگی‌های غیرمنتظره پروژه‌هایی را بیان می‌کند که شما می‌توانید هم‌زمان ریسک و موفقیت آن‌ها را مشاهده کنید.

Walker یک تعریف عالی از شراکت برون‌سپاری بیان می‌کند:

«این، رابطه‌ای است که به ارتباط مداوم و باز برای اطمینان یافتن از اینکه هردو طرف به دنبال منافع هم هستند، نیاز دارد.»

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

منبع

گردآوری و تالیف علیرضا معمارزاده

Student of Software Engineering, python Developer, i love programming and game