میثم پورگنجی
میثم پورگنجی
خواندن ۵ دقیقه·۱ سال پیش

در باب delegation یا چطور تیم ساخته می‌شه.

امروز نیاز داشتم یه فایل پرینت بگیرم و رفتم یه کافی‌نت. کافی‌نت نسبتاً بزرگ و شلوغ بود و بیشتر شبیه لوازم‌التحریری که چاپ‌خونه هم هست می‌موند. گفتم پرینت می‌خوام و صاحب کافی‌نت به یه پسر حدوداً ده یازده ساله‌ای گفت که کارم رو انجام بده. القصه پسره که به نظر کمی مضطرب میومد و وقتی ازش خواستم یه تغییر کوچیک قبل از پرینت برام اعمال کنه، به نظر کمی مضطرب‌تر هم شد، فایل رو پرینت گرفت برام و رفتم که حساب کنم. صاحب کافی‌نت در حین حساب کردن برگه رو نگاه کرد و بهم تحویل داد. این داستان نکته‌ی خاصی نداشت اما اونجا در نظر من یه اتفاق جالب افتاده بود. یه تیم از آدما داشتن کار می‌کردن و مدیر اونجا به درستی داشت کارها رو واگذار (delegate) می‌کرد. صدالبته اعتبار دیدن این مسئله رو باید به کتاب Become an Effective Software Engineering Manager بدم. در واقع این پست فهم منه از این کتاب.

بازی برد-برد

واگذاری (delegation) در واقع بزرگترین نقطه قوت هم‌زمان یه تیم و یه مدیره اما درست انجام‌دادنش رو میشه تماماً هنر مدیر دونست. من بهترین تجربه‌هام در کار، تیم‌هایی بودن که مدیرانی با توانایی بالا در واگذاری داشتن و بدترین تجربه‌ام هم وقتی بود که مدیرش اونقدر که نیاز بود، در این زمینه توانا نبود. هر چند نمیشه ایراد گرفت، این کلمه ساده‌ست، ولی در عمل واقعاُ اونقدر ساده به نظر نمیاد. اما در نهایت بودن این ویژگی در یک مدیر، کار رو به یک بازی برد-برد تبدیل می‌کنه و به نوعی می‌شه اون رو شیرازه‌ی یک تیم دونست. آدم‌ها در یک چرخه‌ی واگذاری-انجام-فیدبک رشد می‌کنن، ارتباطات انسانی قوی‌تر می‌شه و در نهایت تیم تواناتر می‌شه.

کالبدشکافی واگذاری

واگذاری رو از ۲ وجه می‌شه بررسی کرد. اول واگذاریِ چی؟ و دوم، واگذاری، چطور؟ وجه اول ساده‌ست: چی واگذار می‌شه؟ مسئولیت و قدرت اجرا و به صورت سلبی، پاسخگویی هیچ وقت واگذار نمیشه. یعنی شما مسئولیت و قدرت اجرای یه تسک رو به کس دیگه‌ای محول می‌کنید، اما در نهایت این شمایید که باید برای انجام اون تسک پاسخگو باشید. داخل کافی‌نت کسی که مسئولیت پرینت گرفتن اون فایل رو بر عهده داشت اون پسربچه بود، اما به هر دلیل اگه من ناراضی بودم، مدیر کافی‌نت اون کسی بود که باید به من پاسخگو می‌بود.

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

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

به نظر دوتا شافتولک اینجا در حال الاکلنگ با همدیگه‌ن: واگذاری و کنترل. هر چی واگذاری کمتر/بیشتر، کنترل بیشتر/کمتر: این اون چیزیه که باهاش می‌شه لایه‌های واگذاری رو تعریف کرد.

لایه‌های واگذاری

به عنوان یه مدیر، ترکیب‌های زیر رو می‌تونی برای واگذار کردن یه تسک در نظر بگیری:

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

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

انجیل واگذاری

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

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

سخن آخر

واگذار کنین، قبل از اینکه واگذارتون کنن :)).

software engineeringتیمکاررهبریleadership
مهندسی داده، برنامه‌نویسی و ریاضی
شاید از این پست‌ها خوشتان بیاید