لطفا جاواسکریپت مرورگر خود را فعال سازید!

نحوه فعال سازی در کروم
  1. ابتدا باید اینکارو بگنید
  2. بعدش اونکارو
نحوه فعال سازی در فایرفاکس
  1. ابتدا باید اینکارو بگنید
  2. بعدش اونکارو
دولوپر: موجودی مشکل‌گشا که برای هر مشکلی می‌تواند یک سولوشن ارائه دهد!

دولوپر: موجودی مشکل‌گشا که برای هر مشکلی می‌تواند یک سولوشن ارائه دهد!

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

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

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

بهترین راهی که کاربر می‌تواند در تصمیم‌گیری توسعه‌دهنده سهیم باشد، دادن اطلاعات کافی است؛ توسعه‌دهنده برای تصمیم‌گیری مناسب برای کاربر، نیاز به اطلاعات دارد و این اطلاعات معمولا توسط کاربر تامین می‌شود. اگر به‌عنوان یک کاربر فکر می‌کنید نرم‌افزاری دارد در مسیر اشتباه حرکت می‌کند، دربارهٔ مشکلی که می‌خواهید حل شود اطلاعات بدهید و توضیح بدهید که چطور و چرا این نرم‌افزار مشکل شما را حل نمی‌کند.

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

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

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

اگر توسعه‌دهنده به جای مشکلات کاربران، مشکلات توسعه‌دهندگان را حل کند، نتیجۀ نهایی بهترین راهکار برای کاربران نخواهد بود. شاید به کرسی نشاندن حرف خود یا باهوش‌ترین فرد جمع بودن و وادار کردن تیم به حل مشکلات خود، حس لذت‌بخشی باشد اما قطعا تولید نرم‌افزاری که در نهایت هیچ کمکی به کسی نمی‌کند حس خوبی نخواهد بود.

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

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

حال نوبت به نظرات شما است؛ آیا تاکنون در شرایطی تصمیم گرفته‌اید که کاربران اظهار نظرهایی غیرعملی کرده باشند و از توسعه‌دهنده بخواهند که کارهای عجیب‌وغریبی روی نرم‌افزار پیاده‌سازی کند؟ نظرات و دیدگاه‌های خود را با ما و سایر کاربران سکان آکادمی به اشتراک بگذارید.

منبع