بررسی هزینه توسعه پلتفرم از منظر نیروی انسانی

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

هر شرکت نرم افزاری ساختار مشخصی برای منابع انسانی خود دارد. استخدام این نیروها و تشکیل تیم فنی لازمه‌ی اولیه توسعه هر پروژه نرم افزاری است اما خب استخدام نیروهای متخصص هزینه دارد. این هزینه بر هزینه‌های توسعه پلتفرم تاثیر می‌گذارد.

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

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

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

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

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

مدیر محصول Product Manager

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

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

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

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

در نهایت او باید دقت بالایی داشته باشد. لازم است اسناد را بررسی كند و از اجرای آن مطابق مشخصات اطمینان حاصل كند.

مدیر محصول در انجام همزمان چند کار خوب است، زیرا ویژگی اصلی کار او است.

مدیر پروژه Project Manager

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

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

مدیر فنی سیستم CTO

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

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

تحلیلگر سیستم

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

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

تیم طراحی رابط کاربری و تجربه کاربری

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

طراحان باید ابتدا تجزیه و تحلیل و تهیه مستندات را برای ایجاد ویندوز ایجاد کنند. سپس، اگر همه چیز خوب پیش برود، بسته به پروژه، به آزمایش UI و UX برای سیستم عامل های iOS یا Android ادامه دهند. وظیفه طراحان نه تنها ایجاد یک طراحی مناسب بلکه ایجاد جذابیت با استفاده از تمام فن آوری‌های مدرن مرتبط با طراحی است. طراحی هویت بصری به عهده این تیم است. آن‌ها با توجه به هویت برند تمام طراحی‌ها را انجام می‌دهند.

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

تیم توسعه

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

توسعه دهندگان Android

توسعه دهندگان Android برای ایجاد اپلیکیشن از Java ، Kotlin و C ++ استفاده می کنند.

توسعه دهندگان iOS

توسعه دهندگان برنامه iOS برای ساخت برنامه های بومی از Objective-C و Swift استفاده می‌کنند.

 Frontend  developer

زمانی که در مورد فرانت اند “Frontend” وب صحبت می کنیم، منظور آن بخشی است که قابل دیدن است و با آن تعامل می کنیم.

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

Backend Developer

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

مهندسین تست نرم افزار AUTOMATION TEST

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

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

تیم پشتیبانی

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

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

بنابراین حداقل نفرات درگیر برای توسعه پلتفرم حدود 10 نفر است. اگر میانگین حقوق این افراد را 8 میلیون تومان در نظر بگیریم و زمان تحویل یک پلتفرم را 5 ماه حساب کنیم، حدود 400 میلیون تومان هزینه برای یک شرکت نرم افزاری دارد. تمام صحبت ما حول توسعه یک پلتفرم اختصاصی میچرخد. (پلتفرم‌های قالب آماده را در مقاله‌های بعدی بررسی می‌کنیم)

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

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

 

 

 

 

 

 

دیدگاهتان را بنویسید

سیزده + 16 =