تیم های نرم افزاری و سوگیری های روانی آنها

Wikipediaچند وقت پیش در مدیم (Medium) مطلبی با عنوان «Software teams, and their psychological biases» نوشتم. در آن مطلب سعی کرده بودم نتایج مطالعات و مشاهداتی که طی سالها کار در صنعت نرم افزار درباره سوگیری های (Bias) روانی تیم ها با اونها مواجه شده بودم رو خلاصه کنم. از همان موقع میخواستم ترجمه فارسی این مطلب رو هم بنویسم. امروز فرصتی شد برای نوشتن این پست.طی سالهای زیادی (حدودا ۱۰ سال) که به عنوان مهندس نرم افزار کار کردم، با تیم های زیادی برخورد داشتم. بعضی از این تیم ها از روش های اجایل (چابک)، و بعضی هم از روش های قدیمی تر مثل مدل آبشاری، RUP، و غیره برای توسعه نرم افزار استفاده می کردن. اما گاهی صرفنظر از مدل توسعه، کار تیمی خودش تبدیل به چالش میشه. عموما به خاطر اینکه رفتار افراد وقتی به صورت تیمی کار می کنند با حالت فردی متفاوته. برای مثال:جلسه های بسیاری دیدم که منجر به تصمیم احمقانه ای شدن و همه (به جز یکی دو نفر) از اون تصمیم خوشحال بودن!تیم های زیادی رو دیدم که تعداد زیادی از اعضای اون هیچ کاری نمی کنن، و تمام فشار کار روی تعداد محدودیه و در لایه مدیریت هم کسی عکس العملی نشون نمیده!اما چرا؟ برای پیدا کردن جواب به منابع مختلفی مراجعه کردم و حتی چند تا دوره آنلاین گذروندم (لیست منابع رو می تونین آخر مطلب مشاهده کنید). در ادامه این مقاله سعی می کنم مطالبی که مطالعه کردم رو به طور خلاصه بیان کنم و تا حد ممکن به سوالات زیر پاسخ بدم:گروه (تیم) چیست؟چه زمانی یک گروه (تیم) شکل میگیره؟فرنودآوری کوشش (Effort Justification) چیست، و چطور بر مصاحبه های کاری تاثیر میزاره؟اثر مالکیت (Endowment effect) چیست و چگونه بر تیم تاثیر می گذارد؟آیا هوش یک تیم بیشتر از هوش یک فرد است؟گروه زدگی (Groupthink) چیست و چگونه بر تیم اثر می گذارد؟آیا گروه ها مسئولیت پذیرتر از افراد هستند؟آیا افراد وقتی عضوی از یک گروه می شوند ریسک بیشتری قبول می کنند؟آیا همه اعضای تیم تمام توان خود را برای انجام کار به صورت یکسان به کار می گیرند؟توجه: وجود این سوگیری های روانی به معنای بد بودن کار تیمی نیست. وجود این سوگیری ها یعنی کار تیمی ظرافت ها، و ویژگی هایی دارد که ما باید به عنوان اعضای تیم از آنها آگاه باشیم و آنها را مد نظر قرار بدیم. راهکارهایی برای فیصله (برای معنای دقیق فیصله به این پست مراجعه کنید) به همه این سوگیری ها وجود دارند. شما باید بر اساس شرایط خودتان بهترین راهکار را انتخاب کنید.برای بررسی روان شناسی گروهی (Group Psychology) کارم رو با خواندن کتاب «روان شناسی گروهی و تحلیل اگو» اثر زیگموند فروید (Sigmund Freud) آغاز کردم. در این کتاب فروید روان شناسی گروهی را به صورت زیر تعریف کرده است:روان شناسی گروهی با انسان به عنوان عضوی از یک نژاد، ملت، حرفه، سازمان، یا عضوی از یک توده از افراد، که در قالب یک گروه در زمانی مشخص، و برای هدفی مشخص سازمان یافته اند سر و کار دارداما از منظر فروید چه شرط ( یا شروطی) باید برای تشکیل یک گروه برآورده شوند؟پیش از اینکه توده ای تصادفی از افراد بتوانند گروهی (به معنای روان شناختی گروه) را تشکیل دهند شرطی باید برآورده شود. این افراد باید باهم یک نقطه مشترک داشته باشند. این نقطه مشترک، می تواند علاقه به یک شیء، یک سوگیری احساسی مشترک در موقعیتی خاص، یا موارد این چنینی باشد. این نقطه مشترک باید به گونه ای باشد که افراد علاقه مند شوند به صورت متقابل بر امری تاثیر بگذارند. هرچقدر این «همگرایی ذهنی» بیشتر باشد امکان شکل گیری یک گروه روانی، و ظهور ذهنیت گروهی بیشتر استحال فرض کنید یک تیم نرم افزاری داریم (یک گروه). این گروه یک علاقه مشترک دارد. این علاقه مشترک، تولید یک محصول نرم افزاری و به دست آوردن پول است. چه اتفاقی می افتد؟ از نظر من یکی از اولین کارهایی که این تیم انجام می دهد وضع مجموعه ای قانون برای عضویت در تیم است. سوگیری روانی مهمی می تواند در این نقطه شکل بگیرد. عموما وقتی می خواهیم عضو تیم (گروهی) شویم با فرنودآوری کوشش (Effort Justification) مواجه خواهیم شد. در کتاب «The art of thinking clearly» رولف دوبلی (Rolf Dobelli) فرنودآوری کوشش را چنین تعریف می کند:گروه ها از فرنودآوری کوشش برای پایبند کردن اعضای گروه استفاده می کنند - برای مثال آیین های پاگشایی. گروه های گنگستری، و انجمن های برادری برای پذیرش افراد از تست ها و کارهای وحشتناکی استفاده می کنند. تحقیقات نشان می دهند هر چقدر این «آزمون های ورودی» سخت تر باشند غرور افراد از عضویت در گروه بیشتر خواهد بود، و آنها برای عضویتشان در گروه ارزش بیشتری قائل می شوند.به نظر من در تیم های نرم افزاری این فرنودآوری کوشش خود را در قالب مصاحبه های عجیب و غریب نشان می دهد (البته این تنها هدف مصاحبه نیست). بارها دیده، و شنیده ام «فلان شرکت سوال های مصاحبه خیلی سختی دارد»؛ اما پس از ورود به شرکت افراد داستان هایی از بی نظمی های عجیب و غریب در این شرکتها تعریف می کنند! شاید این فرنودآوری کوشش دلیل افتخار بعضی افراد به تیم هایی است که عضو آن هستند. با وجود اینکه این تیم ها تفاوت چندانی با سایر تیم های نرم افزاری ندارند. البته به نظر من این «افتخار عضویت» به اثر دیگری به نام «اثر مالکیت» (Endowment effect) هم مربوط می شود. در نهایت از نظر من دانش هم یک توزیع پارتو (Pareto distribution) دارد. در نتیجه اکثر تیم ها از نظر توانایی و دانش فنی در یک سطح قرار دارند.اما درباره هوش گروه چه می توان گفت؟ آیا گروه ها باهوش تر از افراد هستند؟ در این باره فروید می گوید:هوش یک گروه بسیار کمتر از هوش فرد است. اما، استانداردهای اخلاقی یک گروه می تواند بسیار بالاتر، یا پایین تر از فرد باشدبرای درک بهتر علت کم بودن هوش گروه، یک شبکه کامپیوتری را در نظر بگیرید. سرعت ارتباط این کامپیوترها، برابر با سرعت کندترین کامپیوتر است. می توان از قیاس مشابهی برای هوش گروهی هم استفاده کرد. البته در گروه ها مسائل روان شناختی بسیار دیگری هم درگیر هستند که منجر به کم شدن هوش گروه می شوند. یکی از شناخته شده ترین آنها گروه زدگی (Groupthink) است. منابع بسیاری به بررسی گروه زده گی می پردازند. تعریف زیر مربوط به ویکی پدیا است:گروه زدگی یک پدیده روان شناختی است. در گروه زدگی، تمایل اعضای گروه به هارمونی، و «عضوی از گروه ماندن» موجب تصمیمات غیرمنطقی و ناکارآمد می شود. انسجام گروه، یا تمایل افراد برای انسجام گروه ممکن است باعث شود افراد به هر قیمتی با تصمیمات گروه موافقت کنندگروه زدگی خود به پدیده عام تری به نام Social Proof مربوط می شود.اما آیا مسئولیت پذیری گروه ها بیشتر از افراد است؟ در پاسخ باید به پدیده ای به نام پخش مسئولیت (Diffusion of responsibility) مراجعه کنیم:در گروه ها افراد از مسئولیت پذیری شانه خالی می کنند. هیچ کس مسئولیت تصمیمات غلط گروه و نتایج آن را نمی پذیرد.یکی از مثال های بسیار خوبی که به صورت دسته اول در باره «پخش مسئولیت» با آن درگیر بودم اعضای یک تیم مانیتورینگ بود. در این تیم، همه اعضا برای گزارش دهی از یک حساب کاربری استفاده می کردند که شناسایی آنها را در قالب فرد غیرممکن می کرد. در نتیجه، این تیم می توانست در قالب یک ماهیت شکست ناپذیر و ناشناس، بارها گزارش های اشتباه بدهد و مسئولیتی درقبال آنها قبول نکند و بهبودی در عملکرد خود ندهد. برای اطلاعات بیشتر درباره این احساس شکست ناپذیری گروهی می توانید در قسمت منابع به کتاب فروید مراجعه کنید.آیا گروه ها ریسک پذیرتر از افراد هستند؟ در پاسخ به این سوال باید به اثری به نام Risky shift مراجعه کنیم:طی Risky shift اعضای یک گروه برسر تصمیمی که ریسکی از تر تصمیماتی است که افراد به تنهایی اتخاذ می کنند به توافق می رسنداین اثر را می توان ترکیب چند اثر دیگر مثل پخش مسئولیت هم در نظر گرفت. این اثر می تواند نتایج فاجعه باری به همراه داشته باشد.اما آیا اعضای یک تیم همه توانایی و تلاش خود را برای رسیدن به هدف صرف می کنند؟ پاسخ کوتاه خیر است! به این ویژگی اصطلاحا «طفره رفتن اجتماعی» (Social loafing) می گویند:در روان شناسی اجتماعی «طفره رفتن اجتماعی» پدیده ای است که طی آن فرد وقتی عضو یک گروه است تلاش کمتری برای دستیابی به هدف انجام می دهد. این پدیده یکی از دلایل پایین تر بودن بهره وری گروه ها نسبت به بهره وری ترکیبی تک تک اعضای آن ها استدر نهایت، باید بگویم سوگیری های روانی بسیاری کار تیمی را تحت تاثیر قرار می دهند. ما باید به عنوان اعضای یک تیم از این سوگیری ها آگاه باشیم و برای کمتر کردن اثر آنها تلاش کنیم. خوشبختانه روش های بسیاری برای کاهش این آثار وجود دارد. امیدوارم این مطلب مورد استفاده قرار بگیره.منابعکتاب Group Psychology and Analysis of Ego اثر زیگموند فروید (این کتاب به فارسی ترجمه شده است)کتاب The Art of Thinking Clearly اثر رولف دوبلی (این کتاب هم به فارسی ترجمه شده است)دوره آموزشی آنلاین The science of everyday thinking سایت Edxمقاله Dilemmas in a general theory of planning اثر هورست ریتل (قبلا در باره این مقاله پست مفصلی اینجا نوشته ام)دوره آموزشی Design Thinking وب سایت IDF. درباره Design Thinking هم قبلا مطلبی اینجا نوشته امکتاب Agile! The Good, the Hype and the Ugly اثر برتراند میروبسایت Wikipedia