مهارتهای کار تیمی نرمافزار قسمت چهارم: دریافت و استفاده از فیدبک کاربران
برای بهتر شدن نرمافزار حتما لازمه از بازخورد کاربرها استفاده کنیم. اما آیا هر بازخوردی به یک اندازه ارزش داره؟ چطور بازخوردهای مفیدتر رو جدا کنیم؟
هر تیم نرمافزاری وقتی محصول خودشون رو به بازار عرضه میکنند دیر یا زود باید آماده دریافت نظرات، پیشنهادات و انتقادات کاربران نرمافزارشون باشند. اگر به دنبال دریافت فیدبک کاربران نرمافزار نباشید، نرمافزار شما خیلی سریع با نرمافزارهای مشابه و رقیبی که با دریافت فیدبک کاربران خودشون رو بهتر کردند جایگزین خواهد شد.
گرچه برای پست امروز موضوع دیگری رو در نظر گرفته بودم، اما توییت زیر از رضا معلمی عزیز باعث شد درباره مساله دریافت و اعمال فیدبک کاربران این مطلب رو بنویسم.
سوال اصلی این است که چقدر باید برای فیدبکها زمان بگذاریم؟ این زمان شامل زمان خواندن، بررسی و احیاناً برنامهریزی برای اجرا و نهایتاً اعمال اون فیدبک در نرمافزار هست. بسته به میزان محبوبیت و تعداد کاربران نرمافزار شما ممکنه بین صفر تا دهها پیشنهاد و فیدبک در روز دریافت کند اما آیا مطالعه و پاسخ به همه این فیدبکها شدنی است؟
من در پاسخم به توییت رضا معلمی اشاره کردم که باید خود کاربرها درگیر جنگ فیدبکهابشوند. مثلاً ایدهشون رو در uservoice بنویسید، کاربران دیگر نقدش کنند و بهش رای بدهند و بعد ایدههایی که از این پروسه زنده بیرون آمدند بررسی/اجرایی بشوند.
این به معنی درگیر کردن کاربران در تصمیمگیری برای بهبود نرمافزار از طریق مشارکت دادن آنها در بحثهای مربوط به توسعه نرمافزار (فارغ از جنبه فنی تولید) است.
بررسی یک مثال: فیدبکهای Visual Studio
تیم Visual Studio از سرویس سایت UserVoice برای دریافت فیدبکها استفاده میکنه. در این سایت کاربران تا این لحظه بیش از 6600 ایده برای اضافه شدن به امکانات Visual Studio ارائه دادند. آیا تیم Visual Studio همه این ایدهها را خواندهاند؟ آیا همه را اجرا کردهاند؟ آیا قصد برنامهریزی برای اجرای همه این ایدهها را دارند؟ پاسخ به تمام سوالات قبلی منفی است.
تیم Visual Studio بعضی از مواردی که بیشترین رای را میآورند در دستور کار توسعه نرمافزارشان قرار میدهند.
همانطور که اشاره کردم در پاسخ به توییت رضا، از عبارت جنگ فیدبکها استفاده کردم. واقعیت این است که سلیقه کاربران با هم متفاوت است و گاهی این سلیقه متفاوت باعث میشود که یک کاربر یک ایده داشته باشد که کاربر دیگر با همان ایده کاملاً مخالف باشد!
مثلاً در تیم ما یک نرمافزار کوچک دیکشنری برای شیرپوینت ایجاد شده که یکی از قابلیتهای آن ارائه کلمات مشابه هست. کاربران مختلف این نرمافزار تا کنون فیدبکهای مختلفی درباره این قابلیت به خصوص داشتند، مثلاً یکی از آنها انتظار داشت که نرمافزار کوچک و ارزانی مانند این، مثل پیشنهاد کلمه گوگل هنگام جستجو باشه! یعنی اگر کلمه رو با املا اشتباه جستجو کنی کلمه درست رو بهت پیشنهاد میده (و بر اساس الگوریتمهای پیچیده از نتیجه میلیونها جستجو بدست آمده) یا مشتری دیگری چیزی مشابه Typeahead مد نظرش بود و ...
هدفم از گفتن مثال دیکشنری این بود که بدونید بعضی اوقات کاربرها سر امکاناتی که از نرمافزار انتظار دارند با هم یک صدا نیستند. برای این که مجبور نباشید به ساز همه برقصید، امکانی فراهم کنید که کاربران بتوانند در خصوص نظراتشان با هم بحث کنند. آدمها به صورت ذاتی به بحث و در موارد اظهار فضل تمایل دارند، از این میل ذاتی میتوانید برای بهبود نرمافزارتان استفاده کنید و ایدههایی را دریافت کنید که شاید خودتان هیچ وقت به آنها فکر نکرده بودید!
خوبی دریافت فیدبک از کاربران به این روش این است که شما نه ایدههایی که یک باره و بر اساس یک نیاز آنی و در شرایطی خاص به ذهن یک نفر رسیده بلکه ایدهها و فیدبکها و نیازهایی که کاربران زیادی آن را از شما طلب میکنند و بعد از بحث و سبک و سنگین کردن دربارهاش به نتیجه میرسند را پیش رویتان خواهید داشت.
* از عبارت پست امروز استفاده کردم. در این سایت از ابتدا تا امروز هر روز نوشتهای داشتم. چند مورد استثنا البته پیدا میشود که یا به دلیل باقی ماندن نوشته در جمع نوشتههای پیشنویس یا به دلیل انتشار در دقایقی بعد از نیمه شب بوده!
تلاشم این است که تا جای ممکن هر زمان کاربری به سایت مراجعه میکند مطلب جدیدی برای خواندن وجود داشته باشد. فیدبکهایی هم از دوستان برای بهتر شدن سایت دریافت کردم که آنها را به تدریج اجرایی خواهم کرد.
این توضیح را نوشتم تا فقط تشکر کنم از همراهی هر روزه شما.