Donyar Web
صفحه اصلی / وبلاگ /

خدمات شرکت توسعه نرم افزار سفارشی

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

در اینجا ما چالش ها، راه حل های ممکن، مزایای برون سپاری و اطلاعات اضافی در مورد توسعه نرم افزار سفارشی را مورد بحث قرار می دهیم.
مقدمه: چالش ها

هنگام ساخت راه حل های IT، چالش های زیادی وجود دارد. هنگامی که یک فروشنده شخص ثالث را درگیر می کند، حتی پیچیده تر می شود.

برخی از آن چالش ها عبارتند از:

مسائل شفافیت : اطمینان از اینکه فروشنده شخص ثالث در مورد نحوه توسعه نرم افزار اطلاعاتی ارائه می دهد و هیچ “صفحه دودی” مانند مدیران پروژه و افراد فروش وجود ندارد که مانع از بررسی دقیق فرآیندهای داخلی شود.
چه کسی روی پروژه کار می کند : در برخی موارد شریکی که کار را برون سپاری می کند نمی داند چه کسی واقعاً روی پروژه فناوری اطلاعات کار می کند. سوالاتی مانند “کدام نوع برنامه نویسان درگیر هستند؟”، “آیا همه آنها متخصصان IT با تجربه هستند؟”، “آیا آنها کسانی هستند که روی نمونه پروژه هایی که در مرحله فروش ذکر شد کار کرده اند؟”، “آیا تست کننده ها/کیفیت وجود دارد؟” تحلیلگران و معماران برنامه درگیر هستند؟»، «یا فقط برنامه نویسان جوان در تیم هستند؟» در برخی موارد بی پاسخ می ماند.
مسائل مربوط به اعتماد : ارائه دهنده خدمات فناوری اطلاعات چقدر صادق است؟ آیا آنها با یکپارچگی بالا کار می کنند؟ اگر اتفاق منفی بیفتد، آیا آنها کاملاً باز هستند؟ یا آیا آنها مسائل احتمالی را که ممکن است در آینده ایجاد شود پنهان می کنند؟ مانند قابلیت نگهداری یا مقیاس پذیری سیستم که فقط در آینده و نه بلافاصله پس از واگذاری پروژه قابل کشف است.
شفافیت مربوط به صورتحساب : آیا آنها بیش از ساعت مورد نیاز صورتحساب می گیرند؟ آیا آنها حاشیه زیادی روی هزینه های خود می گذارند؟

معمولاً شفافیت در مورد اینکه چه کسی روی پروژه کار می کند و همچنین سؤالات مربوط به صورتحساب، رابطه بین فروشنده و شریکی را که کار را برون سپاری کرده است، از بین می برد.

دلایل این مسائل را باید در سمت شرکت های برون سپاری و همچنین در سمت شرکا جستجو کرد.

مشکلات فروشنده (ارائه دهنده IT):

رفتار پرداخت مشتری را نمی داند : آیا مشتری تمام قبوض خود را به موقع پرداخت می کند؟ آیا آنها پرداخت ها را در یک دوره زمانی طولانی به تعویق می اندازند؟ آیا آنها قبوض خود را پرداخت نمی کنند و می گویند که پروژه با کیفیت یا زمان مناسب تحویل داده نشده است؟ همه این‌ها باعث می‌شود که ارائه‌دهنده خدمات در آوردن تیم «A» خود به پروژه تردید کند و از صرف زمان زیاد در ابتدا، قبل از پاسخ به آن سؤالات، اجتناب کند.
تخصص لازم را ندارد، اما به دلیل ساختار هزینه داخلی به پروژه نیاز دارد : گاهی اوقات ارائه دهندگان خدمات برنامه های کاربردی سفارشی به دلیل حقوق و هزینه های زیرساختی (اجاره، کامپیوتر، اینترنت، سربار و غیره) هزینه های ماهانه بالایی دارند. این باعث می شود برخی از فروشندگان پروژه هایی را انجام دهند که نمی توانند با کیفیت بالا و با بهترین قیمت ممکن انجام دهند. به هر حال برای تامین هزینه های خود پروژه را می گیرند.
می خواهد از شکار غیرقانونی کارکنان جلوگیری کند : با پنهان کردن برنامه نویسان در پشت مدیران پروژه و افراد فروش، فروشنده فناوری اطلاعات اطمینان حاصل می کند که از شکار غیرقانونی استعدادها جلوگیری می شود. زیرا اگر فروشنده رفتار شریک را نداند، ممکن است شروع به استخدام آنها کند. این “صفحه دود” باعث ایجاد مشکلاتی در ارتباط می شود، زیرا همه پیام ها باید از طریق افراد مختلف ارسال شوند، که ارزش زیادی به بحث اضافه نمی کنند.
می‌خواهد مطمئن شود که صورت‌حساب و تلاش‌ها در تعادل هستند : فروشنده ممکن است عمیقاً درگیر فرآیند باشد، تا مطمئن شود که صورت‌حساب و تلاش‌ها در تعادل هستند. اما این به این پروژه کمکی نمی کند و در عوض فقط برای فروشنده مفید است.

مسائل شریک (مشتری):

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

راه حل های ممکن

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

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

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

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

برای این کار موارد زیر از طرف شریک مورد نیاز است:

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

برای صرفه جویی در نیروی انسانی، مدیر پروژه نیز می تواند شخصی باشد که کارشناس کدنویسی است.

موارد زیر از طرف فروشنده مورد نیاز است:

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

در اینجا یک ویدیوی توضیحی در مورد اینکه چگونه چنین فرآیندی می تواند شبیه باشد:

نتیجه

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

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

تجربه شما از برون سپاری نرم افزار چیست؟ ما می خواهیم از شما بشنویم.

لینک کوتاه :
https://donyarweb.ir/?p=2203

مطالب آموزشی روزهای گذشته