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

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

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

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

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

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

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

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

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

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

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

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

Users Have Problems, Developers Have Solutions

0


محسن رضایی

از همان اوایل کودکی به تکنولوژی علاقه داشتم البته در آن زمان، اوج تکنولوژی با وسایلی مانند گوشی موبایل نوکیا و کنسول‌های بازی ساده و تلویزیون‌های 21 اینچی رنگی تعریف می‌شد. اواخر دوران دبیرستان یادگیری زبان انگلیسی رو شروع کردم و دورهٔ کارشناسی رو در رشتهٔ مترجمی زبان انگلیسی پشت سر گذاشتم. حدود ترم چهارم دورهٔ کارشناسی بود که کار ترجمه رو شروع کردم و از ترم ششم هم شروع به تدریس زبان انگلیسی در موسسات کردم. حین تحصیل و اشتغال، در اوقات فراغت نرم‌افزارهای رایج و کاربردی رو به صورت خودآموز یاد گرفتم. در سال 1391 در رشتهٔ زبان و ادبیات انگلیسی مقطع کارشناسی ارشد قبول شدم و اواخر سال 1393 فارغ‌التحصیل شده و پس از اون به خدمت سربازی اعزام شدم. از مزایای خدمت سربازی، این بود که با چند اپ، وبسایت، و کتاب الکترونیکی درباره زبان‌های برنامه‌نویسی آشنا شدم و تا حدودی JavaScript و HTML و CSS رو یاد گرفتم. به طور کلی، شغل رویایی من همیشه محیطی بوده که در آن امکان رشد و پیشرفت وجود داشته باشد و بتونم از تمام توانایی و قابلیت خودم استفاده کنم.






  • سلیس در تاریخ: 1396/01/09

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

    محسن رضایی در تاریخ: 1396/01/09

    بله، حق دارید.
    در کل باید طبق همون مثل قدیمی عمل بشه که میگه: کار رو باید به کاردان سپرد!
    کاربر همیشه دانش و تخصص لازم برای اظهار نظر توی اینجور موارد رو نداره و دیولپر باید صلاح کار رو تشخیص بده.

از طریق این فرم، می توانید بدون ثبت نام نظر دهید و یا اگر قبلا ثبت نام کرده اید، با ورود ناحیه ی کاربری می توانید علاوه بر ثبت نظر، به مدیریت نظرات خود نیز بپردازید.
(فیلد اجباری)
(فیلد اجباری)
(فیلد اجباری)
(فیلد اجباری)