تیم تولید نرم افزار : 11 فردی که در تولید نرم افزار های کاربردی نقش دارند
شنبه, 21 اردیبهشت 1398 ساعت 20:39:32
برای تولید یک نرم افزار کاربردی 11 نقش و مهارت مورد نیاز است هرچند ممکن است تمامی آنها در یک فرد جمع گردد

تولید نرم افزار کاری گروهی است. لازمه تولید ارزش افزوده در کسب و کار همکاری کامل بین اعضای گروه تولید است. در صورت عدم همکاری به احتمال بسیار زیاد ارزشهای مورد انتظار حاصل نخواهد شد و ناکامی و شکست بسیار محتمل است.
به علاوه اگر مایلیم این پروژه به بهترین شکل اجرا گردد ضروری است که این همکاری فراتر از مرز های گروه تولید شکل گرفته و تمامی نقشه های درگیر در فرآیند مدیریت تولید را در بر بگیرد.
مهمترین نقش های موثر در فرآیند مدیریت تولید نرم افزار (ALM) عبارتند از:
1 - ذینفعان
هر کسی که بابت تولید نرمافزار پول می پردازد یعنی بودجه را تامین می کند یا اخذ تصمیمات در مورد اینکه چه چیزی باید تولید شود و با چه کیفیتی بر عهده اوست را ذینفع می گوییم. کاربران نهایی نیز در این گروه قابل ارزیابی هستند.
2 - مدیر کسب و کار
کسی است که تصمیمگیری در مورد شروع و استمرار فعالیتهای تولید بر عهده اوست. مدیر کسب و کار پس از تحلیل اولیه نیازهای کاری تصمیم میگیرد که پروژه ای برای توسعه یک نرم افزار یا سامانه در پاسخ به آن نیازها برپا کند. به عنوان مثال کسی که یک پروژه پیشنهادی جدید را جهت تعیین بررسی میکند مدیر کسب و کار محسوب میشود به همین دلیل معمولا مدیران آی تی بخشی از این فرایند هستند چرا که کارکنان حوزه فناوری اطلاعات سازمان احتمالاً در توسعه و استقرار پروژه روی زیرساخت های سازمانی مشارکت دارند.
3 - مدیر پروژه ، مالک محصول یا ارشد تیم اسکرام
فردی است که پس از تصمیم سازمان مبنی بر توسعه سامانه نرم افزاری مسئولیت کار روی پروژه را بر عهده میگیرد. به عبارتی هدایت پروژه در تمام مدت و حفظ و استمرار فعالیت ها بر عهده این فرد است.
4 - تصمیم گیرندگان در اداره مدیریت پروژه
افرادی هستند که در برنامه ریزی پروژه مشارکت دارند.
5 - تحلیلگر کسب و کار
پس از طرح نیازهای کاری جمعآوری اولیه نیازمندی ها انجام می شود اما کار اصلی پس از تصمیم گیری در مورد راهکارها آغاز می گردد. تحلیل نیازمندی ها بر عهده تحلیلگر است هدف او شناسایی مسئله و ارائه راهکار است. فعالیت تحلیلگر مستلزم مشارکت حوزه های کاری در سازمان است.
6 - معمار
معمار تصویری ابتدایی از راه حل ارائه می دهد این تصویر توسط مهندسین یا طراحان سیستم به کار گرفته می شود. این سند اولیه شامل سطح آزادی عملی است که در سیستم مورد نیاز است
7 - تیم طراحی تجربه کاربری
طرح تجربه کاربری از محصولات محوری پروژه محسوب می گردد و نباید اداره آن به برنامهنویسان واگذار گردد. ارتباط و همکاری بین تیم ux و برنامه نویسان بسیار اهمیت دارد. بهترین راه حل حضور متخصص ux در گروه برنامه نویسان در تمام طول پروژه می باشد. بهترین طراحی ساختاری و رفتاری بدون تجربه کاربری جذاب و مطلوب ارزشی نخواهد داشت.
8 - مدیران پایگاه داده
کسانی هستند که پایگاه داده را سرپا نگه می دارند و نقش شایستهای در بهینه سازی سامانه دارند. معمولاً برنامه نویسها خود از مهارتهای لازم در این حوزه برخوردارند.
9 - توسعه دهندگان
برنامه نویس ها محصول نهایی را از روی مستندات اولیه ناظر بر معماری و نیازمندی ها محقق می سازند..توسعه و اصلاح کد برنامه بر عهده این گروه است.
10 - آزمونگر ها
هر چند نمی توان این نقش را یک فعالیت مستقل محسوب کرد اما بسیار اهمیت دارد که از همان ابتدای پروژه تمهیدات لازم برای آن پیش بینی گردد. علاوه بر آزمون گرها امروزه در روشهای نوین و پیشرفته تولید نرم افزار برنامه نویسان نیز فعالیت تست را به منظور تضمین کیفیت مورد توجه قرار میدهند.. در روش TDD ( Test Driven Development ) برنامه نویس رویه هایی برای تست می نویسد که به طور خودکار هنگام ترجمه و ایجاد کد خروجی و یا به عنوان بخشی از فرآیند ثبت تغییرات در سامانه کنترل نسخه اجرا می گردد.
11 - کارکنان عملیات و نگهداری
وقتی تولید سامانه خاتمه یافت و مستقر شد عملیات آن آغاز می شود در این مرحله کارکنان عملیاتی وظیفه نگهداری از محصول تا زمان بازنشستگی آن را بر عهده دارند.حضور و مشارکت این افراد از همان مراحل ابتدایی تا انتهای کار پروژه بسیار اهمیت دارد.
فراموش نکنیم که هیچ نقشی به تنهایی قادر به انجام مسئولیت های خود نیست و موفقیت پروژه تنها در صورت همکاری کلیه اعضا امکان پذیر است. در شیوه های چابک مانند اسکرام معمولاً تنها سه نقش تعریف می شود مالک محصول ارشد گروه اسکرام عضو گروه و این بدان معنا نیست که مسئولیت های متنوع یادشده در گروههای چابک نادیده گرفته می شود بلکه بدان معنی است که افراد با مهارت های متمایز برچسب گذاری نشده و همه اعضا به طور اشتراکی روی اهداف پروژه فعالیت می کنند.