محمد میری
محمد میری
خواندن ۴ دقیقه·۳ ماه پیش

قدرت 'نه' گفتن: هنر مدیریت انتظارات و حفظ کیفیت در توسعه نرم‌افزار

رابرت سی. مارتین در فصل دوم کتاب "The Clean Coder"، به یکی از مهم‌ترین جنبه‌های حرفه‌ای‌گری در توسعه نرم‌افزار می‌پردازد: توانایی "نه" گفتن. او توضیح می‌دهد که چرا و چگونه برنامه‌نویسان باید بتوانند در موقعیت‌های خاصی به درخواست‌های غیرمنطقی یا غیرممکن پاسخ منفی بدهند. این فصل بر اهمیت مرزبندی‌های حرفه‌ای و احترام به محدودیت‌های زمانی و کیفی در توسعه نرم‌افزار تأکید دارد.

تجربه‌ی یک پروژه فاجعه‌بار

مارتین فصل را با بازگویی تجربه‌ای از دوران جوانی‌اش آغاز می‌کند، زمانی که به همراه دو دوست ۱۹ ساله‌اش در اوایل دهه ۷۰ میلادی، روی یک سیستم حسابداری بلادرنگ برای اتحادیه تیمسترها در شیکاگو کار می‌کردند. این پروژه توسط شرکتی به نام ASC انجام می‌شد و فشار زیادی برای تحویل به موقع وجود داشت. رئیس شرکت، فرانک، یک سرهنگ بازنشسته نیروی هوایی بود که مدیریت سخت‌گیرانه‌ای داشت و هیچ اعتراضی را نمی‌پذیرفت. مارتین و همکارانش تحت فشار زیادی بودند و مجبور بودند ۶۰ تا ۸۰ ساعت در هفته کار کنند تا به تاریخ مشخص شده برسند.با این حال، یک هفته قبل از تاریخ تعیین شده برای راه‌اندازی، سیستم باگ‌های بسیاری داشت و مشکلات زیادی باقی مانده بود. اما به دلیل فشار فرانک و رئیس مستقیم مارتین، آنها مجبور شدند سیستم را به موقع راه‌اندازی کنند. نتیجه یک فاجعه کامل بود. سیستم با اتصال ترمینال‌های با سرعت پایین ۳۰۰-باد( baud )به طور مداوم دچار قفل شدن می‌شد و خروجی چاپگرها در وسط فرآیند چاپ متوقف می‌شد. کاربران مجبور بودند چندین بار سیستم را راه‌اندازی مجدد کنند و داده‌ها را از ابتدا وارد کنند. پس از نیم روز ناکارآمدی، دفتر اتحادیه تیمسترها به مارتین و تیمش دستور داد که سیستم را خاموش کنند و تا زمانی که کار نمی‌کند، آن را دوباره روشن نکنند.

درس‌هایی از شکست: اهمیت "نه" گفتن

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

برنامه‌نویسان باید مرزهایی را تعیین کنند که در آن قادر به ارائه کیفیت مطلوب باشند. آنها باید بدانند که به دلیل قبول درخواست‌های غیرمنطقی، ممکن است نه تنها به اعتبار حرفه‌ای خود، بلکه به شرکت و مشتریان نیز آسیب برسانند.

چرا "نه" گفتن مهم است؟

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

چگونه به طور مؤثر "نه" بگوییم؟

مارتین تأکید می‌کند که "نه" گفتن به معنای رد کردن بی‌پرده و ناگهانی نیست. او پیشنهاد می‌کند که برنامه‌نویسان باید راه‌های مؤثر و حرفه‌ای برای "نه" گفتن بیاموزند. این شامل تکنیک‌های زیر می‌شود:

  • پیشنهاد راه‌حل‌های جایگزین: به جای صرفاً گفتن "نه"، می‌توانید پیشنهاد دهید که چگونه می‌توان مشکل را به طور مؤثر حل کرد. برای مثال، می‌توانید بگویید که به جای تحویل در تاریخ معین، با چند روز تأخیر می‌توانید یک نسخه با کیفیت تحویل دهید.
  • شفاف‌سازی محدودیت‌ها: به مشتری یا مدیر توضیح دهید که چرا یک درخواست غیرممکن است و محدودیت‌های فنی یا زمانی موجود را توضیح دهید. این به آنها کمک می‌کند که تصمیمات بهتری بگیرند و از شما به عنوان یک حرفه‌ای معتبر پشتیبانی کنند.
  • تعهد به ارائه بهترین نتیجه ممکن: به جای قبول هر درخواستی، به ارائه بهترین نتیجه ممکن در محدودیت‌های زمانی و کیفی تعهد بدهید. این رویکرد به شما کمک می‌کند که اعتبار حرفه‌ای خود را حفظ کنید و اعتماد مدیران و مشتریان را به دست آورید.

نتیجه‌گیری: "نه" گفتن به معنای حرفه‌ای‌گری است

فصل دوم کتاب "The Clean Coder" به وضوح نشان می‌دهد که "نه" گفتن یکی از مهارت‌های اساسی برای هر توسعه‌دهنده نرم‌افزار حرفه‌ای است. توانایی "نه" گفتن به طور مؤثر و حرفه‌ای، نشان‌دهنده احترام به خود، تیم و مشتریان است. این مهارت به شما کمک می‌کند که کیفیت کار خود را حفظ کنید، انتظارات را به درستی مدیریت کنید و از خستگی و فرسودگی جلوگیری کنید. در نهایت، "نه" گفتن می‌تواند به شما کمک کند که در حرفه خود موفق‌تر و مطمئن‌تر عمل کنید.
توسعهٔ نرم‌افزارنه گفتنمرزهای حرفه‌ایتضمین کیفیتمدیریت انتظارات
یک مهندس نرم افزار
شاید از این پست‌ها خوشتان بیاید