چرا تولید یک نرم افزار باید با تحقیقات بازار آغاز شود؟

شما دوستان برنامه نویس، از جمله افرادی هستید که همواره احترام زیادی برایتان قائل بوده‌آم و به رفاقت با شما نیز افتخار می‌کنم؛ چرا؟شما توانایی حل مسئله دارید. (حداقل در موضوعاتی که نرم افزارها، می‌توانند نقش آفرینی کنند) شما به کمک فناوری‌های به ظاهر پیچیده و جدیدترین روش‌ها، اغلب یک راه حل مفید و نیز کارآمد (اثربخش) می‌سازید.ساعت ها وقت می‌گذارید و کد می‌نویسید، بارها و بارها، نرم افزار را بالا و پایین می‌کنید تا به بهترین راه‌حل (محصول) برسید.علیرغم این توانایی ارزشمند و دانش و تجربه قابل اتکا، براساس تجربیات و همکاری های نزدیکی که با تیم های نرم‌افزاری داشتم، سوالاتی نیز برایم پیش می‌آید: اینکه محصول نهایی در نوع خود، آیا بهترین است؟ آیا از نظر مشتری (سفارش دهنده) یا مصرف‌کننده هم این راه‌حل، گزینه مناسبی برای مشکل اوست؟در این مطلب می‌خواهم درباره چرا و چگونگی بهره‌برداری از تحقیقات بازار در اجرای پروژه های نرم افزاری بنویسم؛ برای آنکه حتی اگر ابهامی هم درباره راهِ انتخابی شما وجود داشته باشد، به کمک تحقیقات بازار آن را شناسایی و برطرف کنید.لطفا با سیدمحمدعلوی؛ محقق بازار همراه شوید:مرور یک فرضیه:درنظر بگیرید شرکت نمایشگاههای بین المللی تهران بخواهد سامانه ثبت نام خود را تغییر دهد، چرا که هم تیم اجرایی نمایشگاه و هم مشارکت کنندگان (همان غرفه داران) به خوبی نمی‌توانند با این سامانه کار کنند.مدیر فناوری اطلاعات (IT) شرکت، پیش از هر اقدامی، از کارشناسان خود می‌خواهد تا تغییراتی در سامانه بدهند اما کاربران، همچنان ناراضی هستند. او به ناچار با چند شرکت نرم‌افزاری تماس می‌گیرد و از آنها می‌خواهد تا پیشنهادات (پروپوزال) خود را بفرستند.بعد از یک دوره زمانی، چندین شرکت، فهرستی از امکانات سرویس های موجود خود را ارسال می‌کنند. برخی از این شرکتها که از سابقه حرفه‌ای بیشتری هم برخوردار هستند، اعلام آمادگی می‌کنند حتی یک سامانه، متناسب با انتظارات مدیریت و کارکنان اجرایی نمایشگاه، اصطلاحا بنویسند یا برپایه بستر خود، توسعه دهند.چندین جلسه برگزار می‌شود و در نهایت لیستی از امکانات موردنیاز، فهرست می‌شود. شرکت مجری انتخاب و پروژه کلید می‌خورد.تیم فنی شرکت نرم‌افزاری قطعا مجموعه با تجربه‌ای است و دانش بالایی نیز دارد. سعی می‌کند همه جوانب را بررسی کرده و تولید سامانه درخواستی را آغاز کند. این تیم سعی می‌کند تجربیات کارشناسان اجرایی نمایشگاه را نیز جمع آوری نماید تا چیزی از قلم نیفتد.تا اینجای کار به نظر می‌رسد پروژه به خوبی پیش خواهد رفت و قطعا نیز همینطور است اما این تیم یک چیزی را از قلم انداخته و آن شنیدن تجربه بی واسطه مشارکت کنندگان نمایشگاه (غرفه داران) و حتی سایر گروههایی که به هر عنوان قرار است در آینده ای نزدیک در این سامانه ثبت نام کنند.سامانه آماده بهره برداری می‌شودسامانه تولید شده و فاز نخست آن به بهره برداری می‌رسد. خوشبینانه کارفرما راضی است اما مشتری کارفرما، اصلا مشخص نیست. حتی اینکه اعتراض یا درخواستی هم اگر مطرح شده، دقیقا چیست چون عموما این خواسته ها با واسطه به تیم فنی (پشتیبانی سامانه) منتقل می‌شود.زحمات زیادی کشیده شده اما نارضایتی هم وجود دارد؛ نارضایتی که میزان آن دقیقا مشخص نیست.اندکی تاملبه نظر شما، اگر این شرکت نرم افزاری، در کنار گردآوری نظرات کارفرما، برنامه ای هم برای جمع‌آوری دیدگاه‌ها و سوابق تجربی غرفه‌داران ترتیب می‌داد، سامانه ثبت نام، پخته تر نمی‌شد و مشکل کاربران اصلی این سامانه را حل نمی‌کرد؟اینست که در عنوان این مقاله نوشتم چرا تولید یا توسعه نرم افزار باید از تحقیقات بازار شروع شود!شروع تولید، از تحقیقات بازارهمجواری و همکاری یک تیم تحقیقات بازار (یا حتی یک نفر متخصص که فعالیت حرفه‌ای او مطالعه رفتار مصرف‌کنندگان سرویس ها و ابزارهای آنلاین است) با تیم ورزیده و متخصص برنامه‌نویس یا توسعه‌دهنده نرم‌افزار (دولوپر) باعث متفاوت عمل کردن این شرکت در مقایسه با رقبا خواهد شد.خروجی کارِ متخصص تحقیقات بازار چیست؟کارشناس یا تیم تحقیقات بازار مشخصا برروی درک نیازها و همچنین شناخت انتظارات و خواسته های مشتریان (یعنی کاربران اصلی نرم افزار) متمرکز شده و با همفکری تیم فنی، مهم ترین دغدغه ها، محدودیت ها، چالش‌ها و تجربه‌های تلخ و شیرین را استخراج و اولویت بندی می‌کند.فعالیت این کارشناس همسو با اقدامات مدیرعامل، مدیر توسعه فنی و پشتیبانی، مدیران و کارشناسان پیاده‌سازی و کارشناسان فروش آن شرکت‌های نرم افزاری است؛ همگی با یکدیگر تلاش می‌کنند تا بتوانند انتظارات کسب و کارهایی که مشتریان بالقوه آنها هستند را شناسایی کرده و به شکل درست، محصولات یا سولوشن‌ها (پیشنهادات فنی متناسب‌سازی شده) را به آنها عرضه کنند.پیشنهاد من برای دوران جدید بازاریابی و عرضه محصولات، به ویژه به شرکت های نرم افزاری، شناسایی انتظارات و دغدغه‌های مشتریانِ مشتریانِ بالقوه آنها، به کمک فعال کردن تحقیقات بازار در خلال عملیات بازاریابی یا حتی مذاکرات فنی با نمایندگان کارفرماست.وقتی یک برنامه نویس آزادکار (فریلنسر) یا یک شرکت نرم افزاری، متوجه شود علاوه بر مشتری بالقوه او، مخاطبان و مصرف‌کنندگان کالا یا خدماتش، به چه چیزی بها می‌دهند و آن را می‌خواهند، این روش می‌تواند باعث افزایش میزان موفقیت در مذاکره و در نهایت بستن قرارداد شود.تولید بر اساس تقاضای واقعیاستفاده از تحقیقات بازار در مسیر توسعه یک نرم افزار تحت وب یا اپلیکیشن موبایلی، در واقع همان مفهوم هک رشد است که این روزها زیاد درباره آن می‌شنویم یا می‌خوانیم. با همگامی این دو، شرکت های نرم‌افزاری می‌توانند بهترین استراتژی را برای فروش و توسعه محصولات خود طراحی کنند و همواره در وندرلیست کسب و کارهای پیشرو بمانند.تیم یا متخصص تحقیقات بازار، مشخصا به این شرکت ها در سه محور اصلی می‌تواند کمک کند:۱- برای محصول شرکت، یک استراتژی کسب و کار مناسب خلق کند؛۲- به مشتریان و تیم فنی، این نوید را بدهد که راهِ حل انتخابی درست است؛۳- و شرکت مطمئن باشد با تمرکز بر روی بر حل مشکلات مشتری، پروژه پیش می‌رود.با مطالبی که در بالا با شما درمیان گذاشتم، به نظر می‌رسد برنامه‌نویس ها یا در اندازه متوسط یا بزرگ، شرکت های نرم افزاری، قاعدتا باید پیش از اینکه حتی یک خط کد بنویسند، تحقیقات بازار را محور فعالیت خود قرار دهند.قبول دارم بستر طراحی و توسعه یک نرم‌افزار مبتنی بر وب یا اسمارت فون‌ها، در شرایط فعلی، بسیار کارآمدتر و منعطف‌تر شده اما همچنان دو مسئله بودجه و زمان، همچنان فاکتورهای مهم و از دغدغه‌های کارفرمایان است بنابراین، انجام برخی مقدمات و آزمایشِ برنامه‌های کوچک‌تر، قبل از پیاده‌سازی نرم‌افزار اصلی، باعث می‌شود ریسک شما و کارفرما کاهش پیدا کند.به عبارت دیگر با انجام یک تحقیقات بازار چابک و ساختارمند می‌توانید به کسب و کاری که سراغ شما آمده تا نرم‌افزاری برای حل مسائل خود تهیه کند یا سفارش دهد، ساده اما حرفه‌ای گزارش دهید، چه چیزی مناسب اوست.اینها ابتدایی‌ترینِ سوالات است برای اینکه متوجه شدید، مشتری به دنبال چیست:۱- چه کسی از این نرم‌افزار استفاده خواهد کرد؟ (پرسونای او چیست؟)۳- این محصول دقیقا کدام مسئله را حل خواهد کرد؟ (ارزش پیشنهادی چه مواردی است؟)۳- هم‌اکنون مشتریان این کسب و کار، از چه برنامه یا روش دیگری دیگری استفاده می‌کنند؟اگر پاسخ روشن، تاکید می‌کنم پاسخ روشنی برای این سوالات ندارید، شروع کردن، حتی اگر مشتری، قیمت پیشنهادی شما را هم قبول کرده باشد، یک ریسک بزرگ به حساب می‌آید و حتی ممکنست جایگاه شما به عنوان یک فریلنسر یا شرکت نرم افزاری (با سابقه ای خیلی خوب) را تحت الشعاع قرار دهد.در آن سوی ماجرا نیز باید بتوانید صاحب کسب و کار را متقاعد کنید برای کشف پاسخ‌ سوالات بالا، شاید تا اندازه‌ای زمان اجرا و به تبع آن، تحویل محصول را افزایش دهید اما یافتن پاسخ‌های واقعی، می‌تواند به بهبود استراتژی کسب و کار او کمک کرده و در نهایت افزایش فروش و ماندگاری آن را تضمین نماید.اگر بخواهم یک مدل ساده را با شما به اشتراک بگذارم، همانی است که در اغلب پروژه های تحقیقات بازار انجام می‌دهم و با اندکی تغییر برای شرکت های نرم‌افزاری یا آزادکارانِ برنامه نویس پیشنهاد می‌دهم:۱- تعریف مسئله (هدف تحقیق)۲- تحقیق (به کمک روش هایی که در ادامه معرفی می‌کنم)۳- آزمایش نمونه اولیه (یک پروتوتایپ)۴- توافق با مشتری برمبنای نتایج تحقیقات و نمونه آماده شده۵- توسعه و پیاده‌سازی محصولرفقای عزیز برنامه نویس و توسعه دهنده من به خوبی می‌دانند اگر بدون درک صورت مسئله [اصلی]، به پیاده‌سازی راه‌حل بپردازد، ممکن است نتیجه فاجعه‌بار شود و تا حدودی زیادی جبران‌ناپذیر، به ویژه اعتماد مشتری که به این سادگی‌ها به دست نیامده.برای تحقیقات بازار، کدام روش مناسب است؟روش ها و ابزار مختلفی را می‌توانید استفاده کنید اما آنچه به نظرم آمد در پروژه های نرم افزاری بیشتر جواب می‌دهد را برایتان فهرست کردم؛ یکی یا ترکیبی از چند روش، بنا بر نوع پروژه شما، حتما جواب خواهد داد.۱- کار را می‌توانید با جمع‌آوری اطلاعات اولیه از طریق اینترنت شروع کنید؛ (که جزیی از مطالعات کتابخانه‌ای به حساب می‌آید)۲- اگر نیازمند به مستندات رسمی هستید یا اینکه در هنگام یافتن اطلاعات اولیه، ابهامات یا سوالاتی پیش آمد باید به سراغ روش هایی از جمله فوکوس گروپ، مصاحبه عمیق، تحقیقات پیمایشی آفلاین یا آنلاین یا ترکیبی از این روش‌ها بروید.۳- حالا باید داده های به دست آمده را به کمک روش های مرتبط آماری، دسته بندی و تحلیل کنید.۴- هم اکنون با دست پر می‌توانید با مشتری صحبت کنید و چارچوب محصولی که قرار است تولید شود را با او نهایی نمایید.پیشنهاد می‌کنم در فرایند تحقیقات بازار حتما از افراد متخصص و مرتبط در کسب و کار مشتری‌تان نیز استفاده کنید و آنها را هم درگیر مطالعات خود نمایید.محقق بازار، یک عضو از تیم تولیدزمانی که می‌خواهید نرم‌افزاری جدید برای مشتری خود بنویسید، بارها شده که دچار وسواس می‌شوید زیرا می‌خواهید نرم‌افزاری واقعا متفاوت از نمونه‌های موجود به او تحویل دهید. (حتی برخی مواقع این توقع مشتری از شماست!) یا نرم‌افزار را به کمک جدیدترین تکنولوژی‌های برنامه نویسی خلق کنید!اینها همه عالی است اما تجربه همکاران قدیمی من در تحقیقات بازارِ مشتریان شرکت‌های نرم‌افزاری و همچنین نمونه‌هایی که شخصا در صنایع دیگر با آن مواجه شدم به دفعات نشان داده که مشتری (کارفرما) از تیم برنامه‌نویس توقع اختراع دوباره چرخ را ندارد! او فقط می‌خواهد مشکلش حل شود.کمک تحقیقات بازار به شما این است که مشکلات مشتری خود را درک، تعریف و اولویت‌بندی کنید بنابراین تمرکز شما مستقیما روی استراتژی طراحی و آماده سازی محصول مشتری خواهد بود و نه حواشی آن.خوشحال می‌شوم در کنار تیم نرم افزاری شما قرار بگیرم در یافتن تقاضا یا مشکل اصلی مشتری شما کمک کنم. برای ارتباط با من می‌توانید به این صفحه بروید.