تولید و توسعه پورتال سازمانی

مقدمه و اهمیت تیم تولید

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

اهمیت تیم تولید و توسعه پورتال سازمانی

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

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

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

حتما بخوانید: پورتال (پرتال) چیست؟ تفاوت پورتال و cms

تیم تولید و توسعه پورتال

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

مدیر تولید نرم افزار

مدیر تولید و توسعه پورتال

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

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

برنامه نویس سمت سرور – Backend developer

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

حتما بخوانید: طراحی قالب در پورتال سازمانی

برنامه نویس سمت سرور - Backend developer

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

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

برنامه نویس رابط کاربری – Frontend developer

برنامه نویسان رابط کاربری یا همان Frontend developer ها نیز مانند برنامه نویسان سمت سرور، مشغول تولید و توسعه نرم افزار هستند اما شاید بپرسید که پس این دو گروه چه تفاوتی باهم دارند؟ برنامه نویسان رابط کاربری صرفا تولید و توسعه رابط کاربری نرم افزار را به عهده می گیرند. برای مثال همان آمار بازدید سایت که در بالا مثال زدیم ممکن است نیاز به یک فریمورک برای نمایش چارت های آماری داشته باشد. ممکن است برای نمایش آمار در سایت نیز به رابط کاربری خاصی نیاز داشته باشد که وظیفه طراحی آن را برنامه نویسان رابط کاربری به عهده می گیرند.

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

برنامه نویس رابط کاربری - Frontend developer

عمده ابزارهایی که برنامه نویسان رابط کاربری استفاده می کنند زبان javascript می باشد. همچنین فریمورک های تحت جاوااسکریپت نیز مورد استفاده قرار می گیرد. برای مثال می توان به Angular، React و jQuery اشاره کرد. علی رغم اینکه وظیفه این کارشناسان صرفا محدود به برنامه نویسی رابط کاربری می باشد، بازهم می بایست با برنامه نویسی سمت سرور یا همان Backend نیز آشنایی داشته باشند. خصوصا زبانی که در آن پروژه مورد استفاده قرار می گیرد. برنامه نویسان Backend نیز می بایست با زبان javascript و حتی فریمورک های آن، آشنایی داشته باشند، هرچند که وظایف آنها برنامه نویسی رابط کاربری نیست.

حتما بخوانید: استراتژی محتوا در پورتال سازمانی

متخصص پایگاه داده

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

طراح وب – UI Designer

طراح وب یا همان UI Designer طرحی را پیاده سازی می کند که از کارشناس تجربه کاربری گرفته است. این طرح می تواند یک وب سایت، رابط گرافیکی یک ماژول، یک صفحه فرود (Landing page) و یا اصلا یک بخشی از نمایش یک ماژول باشد. طراح وب با طرحی که از طراح تجربه کاربری گرفته است، آنها به وب تبدیل می کند. ابزارهای طراح وب زبان های html، css، javascript و نهایتا فریمورک jQuery می باشد. شاید بپرسید فرق آن با برنامه نویس رابط کاربری چیست؟ برنامه نویسان رابط کاربری اغلب با فریمورک ها مشغول برنامه نویسی هستند اما طراحان وب اغلب از html و css استفاده می کنند.

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

طراح تجربه کاربری – UX Designer

همانطور که در مقاله تجربه کاربری در پورتال سازمانی بیان شد، تجربه کاربری یا همان User experience سه مرحله کلی دارد. تحقیق، طراحی، تست. اگر یک یا چند UX Specialist یا همان متخصص UX استخدام کرده باشیم، قادر به انجام هر سه مرحله کلی UX خواهند بود. اما در برخی از پروژه ها به تناسب نیاز، ممکن است صرفا یکی از مراحل بپردازند. آن هم مرحله طراحی است. یک کارشناس UX برای طراحی از ابزارها و نرم افزارهای متفاوتی استفاده می کند. نرم افزارهایی مانند Axure برای طراحی وایرفریم، نرم افزارهایی مانند Sketch و Adobe Xd برای طراحی پروتوتایپ و ... ابزارهایی هستند که کارشناسان تجربه کاربری در پورتال سازمانی از آن استفاده می کنند.

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

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

کارشناس سئو تکنیکال

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

بهینه سازی و سئو در پورتال سازمانی

بنابراین یک تیم قدرتمند تولید و توسعه پورتال سازمانی نیازمند یک کارشناس حرفه‌ای سئو که آشنایی با برنامه نویسی داشته باشد، نیاز خواهد داشت. این کارشناس در قدم اول می بایست به مقوله سئو تکنیکال بپردازد و برنامه نویسان را در راستای تولید بهینه نرم افزار هدایت کند. استفاده از ساختار جدید HTML5 مانند Semantic tags، استفاده از متاتگ های مناسب و اعمال Setting برای آنها، درج Schema و ابزار کنترل کننده آن، بهینه سازی تصاویر، آموزش سایر پرسنل تیم تولید، امکان تعیین rel برای لینک ها، هماهنگی و تعامل با تیم بازاریابی دیجیتال شرکت و ... مواردی هستند که یک کارشناس سئو تکنیکال می تواند در دستور کار خود قرار دهد.

کارشناس تست نرم افزار

یک نرم افزار در ورژن های مختلفی ارائه می شود. هر ورژن در یک بازه زمانی (Sprint) قرار دارد. هر ورژن از نرم افزار اهداف خاصی را دنبال می کند. به طور معمول در تولید یک نرم افزار، یا بخش جدیدی تولید و به نرم افزار اضافه می شود. یا بخشی که قبلا تولید شده توسعه پیدا می کند و یا صرفا باگ ها و مشکلاتی که گزارش شده، برطرف می شود. به جهت اینکه کمتر مجبور به ارائه ورژن های فرعی یک نرم افزار شویم (Patch)، از یک یا چند کارشناش تست استفاده می کنیم. این کارشناسان نرم افزار را پس از انجام موارد توسط تیم تولید، مورد بررسی و تست قرار می دهند تا مطمئن شوند مواردی که در اهداف این ورژن قرار داشت به خوبی انجام پذیرفته است.

ابزارهای فنی مورد استفاده تیم تولید

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

اسکرام - Scrum

اسکرام یک چارچوب تولید نرم‌افزار از سری روشهای تفکر چابک یا همان Agile می باشد. این روش در سال ۱۹۸۶ توسط هیروتاکا تاکوچی و ایکوجیرو نوناکا به عنوان یک خط مشی جدید برای تولید نرم‌افزارهای تجاری که باید قابلیت سرعت در تولید و انعطاف‌پذیری را داشته باشند، عرضه گردید. اسم اسکرام از یک نوع بازی در فوتبال راگبی آمده است. اسکرام یک متدولوژی افزایشیincremental  برای مدیریت پروژه‌های نرم‌افزاری است و از رده متدولوژی‌های Agile محسوب می‌شود. این متدولوژی اولین بار در ژاپن اختراع شد و بعدها در سال ۱۹۹۱ توسط Stahl و Degrace توسعه داده شد. در سال ۱۹۹۵ این متدولوژی توسط Ken Schwober و Jeff Stherland به عنوان یک متدولوژی رسمی برای تولید نرم‌افزار بکار گرفته شد. برگرفته از ویکی پدیا

ابزارهای کنترل ورژن نرم افزار – Subversion controls

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

Git logo

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

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

ابزار TFS: توسط شرکت ماکروسافت ارائه شده و یکی از قدرتمندترین ابزارها در زمینه کنترل ورژن می باشد. البته TFS صرفا برای کنترل ورژن نیست و استفاده های دیگری نیز از آن می شود.

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

جیرا - JIRA

یک نرم‌افزار اختصاصی برای موارد کارکرد حرفه‌ای است که توسط شرکت اطلسین atlassian ارائه شده است. این نرم افزار به منظور رفع اشکال و پیگیری درخواست‌ها برای توسعه نرم افزارهای بزرگ استفاده می شود. جیرا از سال ۲۰۰۴ توسعه پیدا کرده‌است. نام جیرا مترادف کوتاه شده‌ای از نام گودزیلا می‌باشد. استفاده از جیرا به منظور مدیریت و کنترل پروژه می‌باشد. این نرم افزار توسط شرکت های ایرانی به زبان پارسی نیز ترجمه شده و در کشور ایران نیز از آن در پروژه های بزرگ استفاده می شود. ذکر این نکته ضروری است که جیرا یک نرم افزار تحت وب می باشد که این موضوع هم به نوعی مزیت به حساب می آید.

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

ترلو - Trello

نرم افزار تحت وب Trello یک نرم‌افزار تحت وب و هوشمند برای مدیریت پروژه می باشد. این نرم افزار هم مشابه نرم افزار جیرا توسط شرکت اطلسین atlassian ارائه شده است. ترلو تحت وب بوده و ما می توانیم به رایگان از آن استفاده کنیم. البته کمتر رخ می دهد که شرکتی همزمان از هر 2 استفاده کند اما این موضوع نشدنی نیست و همزمان هم می توان از هر دو نرم افزار استفاده کرد. معمولا جیرا در سطح گسترده تری به نسبت ترلو استفاده می شود.

لوگو Trello

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

تولید پورتال سازمانی

جمع بندی و نتیجه گیری

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

نیاز به مشاوره دارید؟ با ما تماس بگیرید.

تلفن تماس: 43585-021 واحد فروش پورتال سازمانی

امتیاز :  ۳.۷۰ |  مجموع :  ۱۰

برچسب ها
    ايجاد شده توسط  hamdollahi  در تاريخ  1398/01/27
    مقالات

    Douran Portal
    لطفا صبر کنید ...

    محصولات و خدمات
    6.1.7.0
    V6.1.7.0