توسعه ترس محور یا Fear Driven Development چیست؟

ترس‌هایی نظیر ترس از دست دادن شغل یا ترس تغییر کد، روی نگاه ما نسبت به تیم و محصول و سازمان نرم‌افزاری تاثیر می‌گذارند

توسعه ترس محور

روز گذشته اسکات هنسلمن نوشته‌ای رو در وبلاگش منتشر کرد و از ترس‌هایی که تبدیل به یک روال توسعه نرم‌افزار می‌شوند گفت. او نام توسعه ترس محوریا Fear Driven Developmentرا برای این موضوع انتخاب کرده. شما هم در نظرات این نوشته از تجربیات خودتان درباره کار به روش ترس محور بگویید

ترس سازمانی

ترس سازمانی باعث می‌شود که برنامه‌نویس‌ها نگران اشتباه کردن، شکستن build یا ایجاد باگ‌های بشوند و سازمان را مشغول تمرکز بیشتر بر تولید کاغذ یا ایجاد بیش از حد پروسه‌ها و روال‌ها و خلاصه ایستادن در راه نوشتن کد.

این «فلج تحلیلی» کل پروژه را کند می‌کند. یک نوشته خوب تحت عنوان
«۱۰ راه برای از دست دادن تیم»
وجود دارد که بسیاری از این رفتارهای منفی را پوشش داده. مواردی مثل:

  • ممنوع کردن جلسات تک به تک
  • عدم به اشتراک‌گذاری اطلاعات
  • القاء اینکه هر کسی را می‌توان جایگزین کرد
  • مدیریت به سبک Micromanagement

همه این رفتارها باعث افزایش ترس محیطی و ایجاد ابری از اضطراب در سازمان می‌شود

ترس از دست دادن شغل

یک نوع دیگر از Fear Driven Development وقتی است که سازمان با القای این مطلب که با هر نشانه‌ای از مشکل در پروژه، برنامه‌نویس شغلش را از دست خواهد داد تلاش می‌کند برنامه‌نویس‌ها تا دیروقت سر کار بمانند و به صورت نامعقول به سختی کار کنند. **تهدید شعلی هرگز باعث افزایش کارآیی تیم نمی‌شود.**این کار تنها باعث نهادینه شدن احساسات منفی شده و همیشه باعث می‌شود که افراد از کار استعفا بدهند.
این کار همچنین باعث می‌شود تا مدیران تصور کنند که تلاش‌های قهرمانانه، جزئی معمول و پذیرفته شده در روال توسعه نرم‌افزار است. فشار کار گاه به گاه یک چیز است، اما اگر هر Release نرم‌افزاری در تیم شما به معنی انجام تلاش‌های قهرمانانه است که به قیمت روابط شخصی شما تمام می‌شود، شما مشکل دارید.

ترس از تغییر کد

یک نوع دیگر از Fear Driven Development وقتی است که بخش توسعه نرم‌افزار سازمان یا کل سازمان از کد می‌ترسند! شاید کد قدیمی باشد (legacy code) اما معمولاً کد قدیمی فقط به خوبی درک نمی‌شود. کد قدیمی تقریباً درست کار می‌کند، اما افراد از تغییرات حتی کوچک در کد به دلیل اینکه ممکن است باعث ایجاد اثرات جانبی بشوند واهمه دارند. ترس از رگرسیون باگ- بازگشت مجدد باگ‌هایی که بسته یا رفع شده‌اند نیز باعث استرس برنامه‌نویسان می‌شود.

شما چه انواع دیگری از توسعه ترس محور را می‌شناسید؟