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

مسئولیت کد در یک تیم نرم‌افزاری با کیست؟

تصور کنید روی یک پروژه چند نفر برنامه‌نویس کار می‌کنند، حتماً این دیالوگ‌ها را شنیده‌اید:

تنبیه دسته جمعی، تشویق دسته جمعی

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

مساله عدم پذیرش مسئولیت کد و سرزنش اعضای تیم، از نظر ارتباط انسانی و همین‌طور مدیریت پروژه در تیم نرم‌افزاری هم آفت‌هایی دارد. اگر شما ضمن عدم پذیرش مسئولیت کد، خراب بودن یا باگ داشتن کد را به دیگری نسبت دهید باعث می‌شوید:

اگر شما هم دچار سندروم کدهای قشنگ من هستید، لطفاً توجه داشته باشید که کد نوشته شده خروجی تیم است و همه در قبال آن مسئولیت دارند، اگر کد خوبی باشد همه در موفقیتش سهیم هستند و اگر کد بدی باشد، همه در fail انجام شده مقصر.

پی نوشت: سندروم کدهای قشنگ من وقتی به صورت تیمی عمل کند، یعنی تیم/مدیر پروژه هوس کند که کدها بازنویسی شود آسیب‌های دیگری هم دارد که در نوشته جداگانه‌ای به آن اشاره خواهم کرد.