در خدمات مشاوره نرم افزاری از نظر فنی و اجرایی، چه مواردی ارائه میشود؟
مشاوره نرم افزاری تخصصی اطمینان خاطری در مسیر پیادهسازی پروژههای نرم افزاری موفق است.
یک بیزینس زمانی که تصمیم به توسعه یک سامانه نرمافزاری، چه سایت باشد یا اپ یا یک پلتفرم کسب و کار، میگیرد در دوراهی تصمیم بین توسعه درون سازمانی (In-House) یا واگذاری کار به صورت یک پروژه نرم افزاری به صورت برون سپاری (Out- Source) به یک شرکت نرم افزاری قرار میگیرد.
انتخاب بین این دومورد، شاید یک تصمیم پر چالش باشد ولی با مطالعه دقیق منابع سازمان و بررسی امکانات حاضر در مقابل نیازمندیهای لازم برای توسعه یک سامانه نرم افزاری میتواند به تصمیمی مناسب برسد. اگر در مورد برون سپاری اطلاعات کافی ندارید پیشنهاد میکنیم این مقاله را مطالعه کنید.
برون سپاری در واقع نوعی قرارداد پیمانکاری است که در آن افرادی مستقل یا سازمانی پروژههای شما را انجام میدهند و مسئولیت انجام و ریسک عملکرد ارائه خدمات یا تولید و عرضه کالا بر عهده شخص یا اشخاص طرف قرارداد میباشد.
زمانی که کسب و کار به یقین میدانست در کدام مسیر میخواهد حرکت کند ۲ سوال اساسی پیش روی خود میبیند:
- پروژه به چه صورتی باید توسعه پیدا کند؟ ( یا نیازمندی های پروژه چیست؟)
- انتخاب شرکت نرم افزاری در حالت برون سپاری یا تخصیص هوشمندانه تیم و منابع در حالت توسعه درون سازمانی
فاصله بین موفقیت تا شکست یک پروژه به عملکرد کسب و کار در پاسخ به دو سوال بالا بر میگردد. این که بدانید پروژه نرم افزاری چه ابعادی دارد، چه فیچرهایی نیاز دارد، مسیر توسعه به چه صورت باید باشد، استک تکنولوژی چطور باید انتخاب شود، آینده سامانه طراحی شده چیست و معماری آنرا چگونه باید طراحی کرد همانقدر مهم است که بدانید چگونه یک تیم را ایجاد کنید، چه تخصصهایی را در کنار یکدیگر قرار دهید و چگونه آنها را مدیریت کنید. در مقابل زمانی که قصد برون سپاری دارید، شناخت ابعاد کامل پروژه و توانایی انتقال نیازمندیهایتان به شرکت نرم افزاری همانقدر مهماست که انتخاب یک شرکت نرم افزاری متخصص و متعهد که پروژه شما را از زمان تولد تا بلوغ به خوبی راهبری کند.
نقشی که در هر دو سناریو پررنگ و ضروری است، یک مشاور نرم افزاری تخصصی است. این فرد یا تیم، با آگاهی کامل از پروژه و نیازهای کسب و کار میتواند ریسکهای آینده مسیر توسعه را هموار کند.
در ادامه این نوشته کوتاه از خدمات مشاوره نرم افزاری میگوییم و ابعادی که این خدمت به کسب و کار ارائه میدهد را بررسی میکنیم.
- معرفی خدمات مشاوره نرم افزاری
- گام اول در مشاوره تخصصی : آنالیز کسب و کار
- گام دوم در مشاوره تخصصی : بررسی موارد فنی
- گام سوم در مشاوره تخصصی : همراهی تا عقد قرارداد
- جمع بندی و پیشنهاد نهایی ما
یک تعریف ساده از خدمات مشاوره نرم افزاری
لغت نامه دهخدا و فرهنگ عمید، مشاور را کنکاش کننده، طرف شور یا رایزن تعریف میکنند. دو تعریف از فرهنگستان ادب فارسی در زیر گروه های تخصصی برای مشاوره را ببینیم.
در زیر مجموعه مدیریت پروژه مشاور شخص یا سازمانی است که دانش تخصصی خود را برای انجام کاری به شخص یا سازمانی دیگر ارائه میدهد
در زیرمجموعه رایانه و فناوری اطلاعات مشاور فردی است که در حوزۀ ساماندهی اطلاعات و تحقیق و فعالیتهای مرتبط با آن بهصورت انتفاعی مشاوره میدهد.
در هر دوحالت، مشاور فرد یا سازمانی است که در مقام تامین کننده دانش در کنار کسب و کار قرار میگیرد. مشاور در تعریف ما، از ابتدای فرایند یعنی زمانی که کسب و کار در تکاپوی تنظیم مستندان و نیازسنجی است تا زمانی که به دنبال تیم نرم افزاری برای پیادهسازی سامانه و نیازمند به فردی در کنار خود برای مذاکرات و رایزنی ها است، در کنار کسب و کار نقشی تسهیلگر دارد.
در ادامه به هر یک از گام های خدمات مشاوره تخصصی نرم افزاری نوژن میپردازیم:
گام اول: آنالیز کسب و کار
پیش از هر کاری، توسعه سامانه آنلاین نیازمند یک آنالیز عمیق در مورد کسب و کار، تاریخچه و آینده پیش روی آن است.
نیاز به سامانه آنلاین در مرحله اول به چشم یک ایده برای بهبود فرایندها دیده میشود، این ایده از درخواستها، نیازهای کارمندان یا کسب و کار، دغدغهها و یا شرایط بازار نشات گرفته است. نقش مشاور در این فاز، تحلیل گری است. ما به عنوان مشاور نرم افزاری، پیش نیازهای پروژه را شناسایی کرده، نیازها را تحلیل میکنیم و با بررسی بیزینس مدل کسب و کار به دنبال کمبودها و خللهای احتمالی میگردیم. سپس راه حلها را شناسایی و تعریف میکنیم و در کنار کسب و کار جهت خلق ارزشی متمایز به یک استراتژی منسجم برای پیشبرد فرایندها میگردیم.
شرکت ارائه کننده خدمات مشاوره نرم افزاری در ابتدا به بررسی دغدغههایی که این ایده میتواند برطرف کند و هدف اصلی که در بردارد میپردازد. با یک بررسی اولیه آنها را لیست میکند. در صورتی که رفع دغدغهها مشابهات و در واقع رقبایی داشته باشند، آنها را شناسایی و ویژگیهایشان را جمعآوری میکند. در ادامه مزیت رقابتی که ایده دارد را با صاحب ایده همراه با به تحلیل رقبا و ویژگیهایشان در میان میگذارد و در نهایت لیستی از ویژگیها و درخواستها و مزیتها را ایجاد میکند.
سپس تیم مشاور نرم افزاری بر اساس تجربه و تخصصی که در حیطه کسب و کار دارد، نیازها را کلاسه بندی میکند. به این معنا که نیازها بر اساس اولویتهایشان در دستههای must-have، should-have و Could-have قرار میگیرند. فیچرهای مورد نیاز برای برطرف کردن این نیازها شناسایی و تعریف میشوند و در نهایت یک مستند نیازمندی یا RFP اصولی به عنوان مبنایی برای توسعه سامانه تدوین میشود.
در صورتی که به اطلاعاتی بیشتر در مورد RFP نیاز دارید، پیشنهاد میکنیم اینجا را مطالعه کنید.
ولی چرا بررسی بیزینس مدل الزامی است؟
شاید در نگاه اول تصور کنید که بررسی بیزینس مدل یک کار اضافه است و حتی منجر به دخالت مشاور در حریم خصوصی کسب و کار شود. ولی تقاضا میکنیم دوباره به این مسئله فکر کنید.
بیزینس مدل نمای کلی کسب و کار شما است. اگر کسب و کار یا سازمان بیزینس مدلی تدوین شده و یا استاندارد ندارد، فرایندها، اهداف و مسیر سازمان شما به درستی بنا نشده است. مطالعه بیزینس مدل و یا باز-تدوین آن در صورت نیاز پایهای برای تعریف استراتژی کسب و کار در جهت خلق ارزش توسط یک سامانه آنلاین است.
به عنوان مثال، بررسی شرکای کلیدی شما و همچنین کانالهای ارتباطی کسب و کار میتواند در شناسایی یک ارزش جدید که می تواند به عنوان فعالیت کلیدی در کسب و کار تعریف شده و توسط یک فیچر در سامانه آنلاین ارائه شود، کمک کننده باشد.
در اینجا بیشتر از بیزینس مدل گفته ایم و پیشنهاد میکنیم پس از مطالعه کامل مقاله فعلی نگاهی به اصول و اهمیت بیزینس مدل در فرایندهای کسب و کار نیز داشته باشید.
در انتهای این آنالیز مشخص میشود که آیا شما نیاز به برونسپاری Outsourcing دارید یا اینکه به صورت درون سازمانی In-House میتوانید پروژه خود را توسعه دهید.
یک مقایسه کوچک بین توسعه درون سازمانی In-house و برون سپاری Outsource
در مدل In-house، کسب وکار افرادی را به طور مستقیم برای توسعه سامانه آنلاین استخدام کرده و یا از سایر بخشهای سازمان این افراد را جهت امر توسعه در تیمی جدید جذب میکند.
در مدل برون سپاری، کسب و کار با بررسی شرکتهای مجری یا افراد فریلنسر به دنبال یک پیمانکار یا مجری نرم افزاری برای انجام امر توسعه سامانه میگردد.
هر دو حالت مزایای بسیاری دارند و هردو حالت در صورت مدیریت نادرست میتوانند منجر به هزینه مضاعف برای کسب و کار شوند. انتخاب این که کسب و کار با کدام رویکرد باید پیش برود بستگی به منابع موجود، نیاز سامانه، سیاستهای مدیریتی سازمان و همچنین امکان پذیری آن از نظر زمان و هزینه دارد. مشاور در این مرحله به بررسی منابع کسب وکار و گزینههای پیش رو میپردازد و با تدوین یک استراتژی منسجم کارفرما را در این انتخاب همراهی میکند. در نهایت این انتخاب بر عهده کارفرما است و مشاور پیشنهادات، مزایا و معایب را در هر دو صورت پیش روی او میگذارد.
اگر تصمیم شما مبنی بر برونسپاری پروژه بود، ما تا عقد قرارداد در کنار شما هستیم تا در مسیر درست گام بردارید و اگر نیازهای پروژه شما بدین صورت بود که با توسعه پروژه به صورت In-House پیشرفت سریعتری داشتید باز هم کنار شما هستیم تا مدیریت منابع به نحو احسن انجام شود.
گام دوم: بررسی موارد فنی
در این مرحله ما یک RFP استاندارد بر اساس نیازهای پروژه داریم که با داشتن آن بخش بزرگی از مشکلات یک پروژه ناشی از عدم شناخت درست نیازمندیها، رفع شده است.
چالش دیگر برای کارفرما شناسایی و گزینش مسیر اجرای بخش دیگری که یک پروژه ممکن است در آن دچار چالش شود در مسیر اجرای فنی پروژه است. تمام مستنداتی که در زمان آنالیز پروژه به دست آوردهایم را به صورت مکتوب و فایل بندی شده به کارفرما تحویل میدهیم. با توجه به فرآیندهای تحلیل شده در مرحله قبل پیشنهادات خود را از نظر سبد تکنولوژی، انتخاب زبانها، کتابخانهها و تمام موارد فنی به کارفرما ارائه میدهیم.
فرایندهای کسب و کار که در گام قبل شناسایی شده اند در این مرحله مستند شده و راهکار آنلاین سازی آن شناسایی شده و برای آن راهکار معادل فناوری مناسب برای بهترین پیاده سازی انتخاب میشود.
نکته ای که زمان ارتباط با تیم نرم افزاری برای انتقال اطلاعات پروژه مهم است، شفافیت در انتقال فرایند ها است. در صورتی که تیم نرم افزاری مجری به درستی از سازوکار فرایندها آگاه نباشد، معماری زیرساخت سیستم ممکن است خروجی متفاوتی نسبت به آنچه کسب و کار در نظر داشت، داشته باشد.
به همین دلیل مستندسازی در طول این فرایند بسیار مهم است و مشاور در این فرایند نقش راهنما برای جمع آوری و نگارش اطلاعات را دارد.
بسیاری از مشکلات در مسیر اجرای پروژه نرم افزاری، به دلیل هم زبان نبودن کارفرما و مجری طرح است. به طوری که کارفرما صحبتهای مجری طرح را در حوزه فنی متوجه نمیشود و مجری طرح صحبتهای کارفرما را از منظر کسب و کاری درک نمیکند. مشاور در این میان دادهها را قالب اطلاعات در زبان فنی به تیم نرم افزاری (مجری طرح) انتقال میدهد.
گام سوم: همراهی در مسیر انتخاب مجری تا عقد قرارداد
انتخاب مجری طرح برای دریافت خدمات، یک تصمیم دشوار است. به هر حال، در آغاز باید به این نکته توجه داشته باشید که هیچ شرکتی نمیتواند یک شریک ایده آل، کامل و بی نقص برای شما باشد. انعطاف پذیری در روابط، یک ضرورت به شمار میآید.
ما همگام با شما و با توجه به نیازهای شما در کنار شما به عنوان مشاور کنار شما هستیم که مجری خود را انتخاب کنید. مزیت قرار گرفتن یک مشاور در کنار شما، داشتن دانش و تجربه لازم برای انتخاب صحیح مجری است. پس از انتخاب مجری، تمام پارامترهایی که برای شما مهم است با مجری به اشتراک میگذاریم. به عنوان مثال تمام موارد مد نظر شما از نظر اجرایی، زمانبندی، خواستهها، نیازها، تاریخ ریلزها و همه پارامترهایی که برای شما اهمیت دارد را به مجری انتقال میدهیم.
ما به عنوان مشاور، نیازهای کسب و کاری کارفرما را شنیده و تحلیل میکنیم و به مجری ارائه میکنیم و بالعکس، صحبتهای فنی مجری را به زبان کسب و کاری به کارفرما انتقال میدهیم. الزاما همیشه طرفین قرارداد درست نمیگویند. مشاور به عنوان کسی که بیرون این سیستم عمل میکنیم میتوانیم دید بهتری نسبت به پروژه داشته باشیم و پیشنهاداتی را در راستای بهبود پروژه ارائه کنیم.
نظارت بر مفاد حقوقی، قراردادی و پشتیبانی
دلیل بسیاری از مشکلاتی که در مسیر پیادهسازی پروژه نرم افزاری و پس از آن پیش می اید عدم وجود قرارداد و تعهد زمانی و هزینهای است. ما در این موارد نیز در کنار بیزینسها هستیم که بتوانند خیلی شفاف خواستههای خود را اعلام کنند و مجری نیز بر اساس توافقات انجام شده، به آنها عمل کند.
در این مسیر، پروپوزالهای دریافت شده از مجریان بررسی میشود، مفاد توسعه که در قرار داد ذکر شده اند در مقابل نیازهای کارفرما مقایسه میشوند و در نهایت طی یک رتبه بندی فنی و اجرایی گزینه های مناسب برای انتخاب پیش روی کارفرما قرار میگیرد.
زمانی که انتخاب قطعی شد و قرارداد نهایی بین کارفرما و شرکت نرم افزاری عقد شد، وظیفه ما به عنوان مشاور تحویل مستندات فنی به صورت کلاسه به مجری طرح ارائه میشوند تا فرایند توسعه سامانه با موفقیت آغاز شود.
جمع بندی و پیشنهاد نهایی ما
خیلی از فرآیندهای نظارت و مشاوره قالب غیر دوستانهای پیدا کرده است. نظارت در تعبیری اشتباه به غلط گیری ترجمه شده است و مشاوره از سوی بسیاری معنایی معادل دخالت بیهوده در فرایندهای کسب و کار دارد.
ولی همانطور که پیشتر گفتیم، هدف ارئه این خدمت پاسخگویی به یک ناکارآمدی مشاهده در بازار بود. کسب و کارهایی که نیاز به توسعه سامانه آنلاین دارند، عموما بدون داشتن اطلاعات تکمیلی و مستندات استاندارد از پروژه و نیاز خود به شرکت های نرم افزاری مراجعه میکند. انتخاب نهایی را بر أساس قیمت ارائه شده انجام میدهند و در نهایت بسیاری از موارد نشان میدهد که سامانه دریافت شده مطابقتی با نیاز اولیه آنها نداشته و یا در بلند مدت هزینه های بسیاری برای آنها به دنبال میآورد. آنهایی که قصد دارند In-house پروژه را توسعه دهند عموما از نظرات مشاوران نرم افزاری یا اطلاعاتی استفاده نمیکنند یا مدیر محصولی توانمند را به کار نمیگیرند و به دلیل نداشتن زبانی مشترک با تیم فنی توسعه، تجربه همکاری برای هر دوطرف درگیر ناخوشایند و کوتاه مدت خواهد بود.
ما همواره اعلام کردهایم که به عنوان مشاور و ناظر با کارفرما همراه و با مجری همدل هستیم. سعی میکنیم از نگرانیهای کارفرما بکاهیم و در زمان بروز مشکلات برای مجری در کنار او هستیم تا بر آنها غلبه کنند.