نود و هفت چیزی که هر برنامه‌نویسی باید بداند‍: خیلی به حرف‌های مشتریان اعتماد نکنید!


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

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

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

در نقطهٔ مقابل این دست مشتریان، گروهی دیگر از کارفرمایان هستند که می‌دانند چه چیزی نمی‌خواهند! در چنین شرایطی، یک دولوپر چگونه می‌تواند پی به واقعیت ماجرا ببرد تا در نهایت هم مشتری از چگونگی پیاده‌سازی پروژه راضی باشد و هم دولوپر احساس موفقیت پیدا کند؟

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

وقتی پای مذاکره با مشتریان به میان می‌آید، همواره این نکته را مد نظر داشته باشید که ممکن است برخی از ایشان اصطلاحاً Technophobia (ترس از تکنولوژی) داشته باشند؛ لذا هرگز از Jargon (اصلاحات فنی) در مکالمه با ایشان استفاده نکنید و سعی کنید به ساده‌ترین شکل ممکن به صحبت با ایشان بپردازید.

علاوه بر این، همواره این نکته را مد نظر داشته باشید که آنچه مشتری بر زبان می‌آورد، هرگز بدان معنا نیست که دقیقاً همان چیزی است که مد نظرش است! در همین راستا، هرآنچه بر زبان مشتری می‌آید را یک بار با استفاده از واژگان متفاوتی برایش بازگو کنید تا عکس‌العمل وی را جویا شوید.

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

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

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

لیست نظرات
کاربر میهمان
دیدگاه شما چیست؟
کاربر میهمان
محسن
محسن
به نظر من یک راه حل برخورد با این موضوع ارایه نسخه های اولیه، پروتوتایپ و MVP هست که قبلا هم چند نرم افزار برای تولید نسخه های اولیه از محصول در سکان آکادمی معرفی شدن مثل
https://sokanacademy.com/blog/5669/post
و
https://sokanacademy.com/blog/2120/post
طبق تجربه مشتری وقتی نمای بیرونی محصول رو می بینه خیلی مشخصتر می تونه درباره نیازمندی هاش صحبت کنه
و اینکه اگر خواسته های مشتری در ابتدای پروژه خوب مشخص نشن، درخواست های مکرر تغییرات و اضافه کردن موارد می تونه زمان و هزینه پروژه رو به شدت تحت تاثیر قرار بده و حتی با شکست مواجه کنه
Insight
Insight
یکی از مسائل مهم در هنگام مذاکره با مشتریان برای شروع یک پروژه ی نرم‌افزاری، تلاش مدیران پروژه و توسعه دهندگان برای پیشنهاد Feature ها و مولفه هایی ست که از منظر آنها قابل پیاده سازی ست و میتونه مورد‌توجه مشتری قرار بگیره.
اغلب مشتریان از امکانات بالقوه ی نرم‌افزارها اطلاع ندارن و یا از اون سر قضیه بسیار رویایی فکر میکنن و توسعه دهندگان رو جادوگر فرض میکنن.
لذا ارائه ی یک سری ویژگی که برنامه نویسان اونها رو مناسب میدونن میتونه به مشتری کمک کنه که بهتر تصمیم بگیره و با واقعیت ها رو به رو بشه.
پویا نظری
پویا نظری توسعه‌دهنده‌ موبایل اپ، دانشجوی نرم‌افزار
ممنون از سکان و آقای مرادی بابت این دروه آموزشی پربار، خیلی خیلی مفید واقع شد.
منتظر آموزش های دیگه از سوی شما هستیم،
خسته نباشید.