خلاصهی The Clean Coder - قسمت ۰۹ - مدیریت زمان (بخش ۱)
این مقاله یکی از مجموعه مقالات کتاب the clean coder هست. برای پیدا کردن دید بهتر از کل این مجموعه و محتوایی که تو این مقاله میخونید، پیشنهاد میکنم مقالهی صفرم رو هم یه نگاه بهش بندازید.
هشت ساعت واقعا زمان کوتاهیه [به شخصه اصلا باهاش موافق نیستم تو این زمینه 😅]. ما توسعهدهندههای حرفهای باید از این زمان به بهینهترین و مؤثرترین حالت ممکن استفاده کنیم. سوال اینه که چطور؟ 🤔
اول فصل رو طبق معمول با یه خاطره شروع میکنه از زمان شاه که واسه یه شرکتی کار میکرده و مدیر یه تیم نرمافزاری ۱۵ نفره بوده. تماسها، جلسههای خلقالساعه، بازدیدهای میدانی! و ... باعث میشده که روزهای خیلی شلوغی داشته باشه. این بنده خدا هم میاد یه برنامه میریزه واسه خودش و اجرا میکنه که از ۵ صبح بیدار میشه و زمانش رو به قسمتهای مشخصی تقسیم میکنه و یه تایمهایی رو خالی میذاره واسه کارهایی که بیبرنامه پیش میان. آخر این خاطره میگه که درسته که همیشه نتونسته این برنامه رو مو به مو اجرا کنه ولی بیشتر اوقات این برنامه کمکش کرده که گلیم خودشو از آب بکشه بیرون.
جلسهها
جلسهها ممکنه حدود ۲۰۰ دلار به ازای هر نفر تو هر ساعت هزینه بذارن رو دست شرکت (قاعدتا اینجا کمتره ولی قابل توجهه همچنان). چطور؟ با در نظر گرفتن حقوق و مزایا و بیمه و ... دفعه بعد که تو یه جلسه میری، هزینهشو حساب کن. جالب میشه واست.
دو حقیقت راجب جلسهها وجود دراه:
جلسهها ضروری هستن
جلسهها باعث میشن وقت زیادی تلف شه
بعضیها فکر میکنن جلسههای خیلی مهم و با ارزش هستن از نظر بعضیای دیگه، صرفا وقت تلف کردنن.
🤓 حرفهایها متوجه هستن که جلسهها هزینهی زیادی دارن. اونها میدونن که وقتشون با ارزشه. باید تسکهاشون رو انجام بدن و به ضربالاجل (deadline) برسونن. اونها به طور فعالی واسه شرکت تو جلسههایی که ضرورت یا اهمیت ندارن مقاومت میکنن.
نه!
شما مجبور نیستید به هر جلسهای که توش دعوت میشید شرکت کنید [احتمالا این بستگی به شرکت و نقش شما تو اون شرکت داره البته]. خیلی مراقب باشید که تو جلسههایی شرکت کنید و به کدوما مودبانه «نه» بگید.
ممکنه جلسهای باشه که دوست داشته باشی توش شرکت کنی. ولی قبلش چند لحظه با خودت فکر کن که اگه شرکت کنی، به تعهداتت میرسی یا نه؟
خداحافظ
طبق تجربهی چندین و چند سالهم به یه قانون ساده رسیدم: «وقتی جلسه خسته کننده میشه، برو بیرون»
اگه دیدی تو یه جلسهای گیر افتادی که داره وقتت رو تلف میکنه، باید یه راهی پیدا کنی که مودبانه از اون جلسه بیای بیرون.
ما «وظیفه» داریم که زمان و پول کارفرمارو درست خرج کنیم، پس اینکه بخوایم یه راهی پیدا کنیم که مودبانه از همچین جلسههایی بیایم بیرون، غیرحرفهای نیست.
برنامه و هدف داشته باش
واسه اینکه وقت شرکتکنندهها تو یه جلسه درست صرف بشه، جلسه باید برنامه شفافی داشته باشه. همینطور مشخص شه که هر آیتم قراره چقدر وقت صرفش بشه و نهایتا به چی ختم بشه.
وقتی میخوای تو یه جلسه شرکت کنی، سعی کن هدف و برنامه جلسه رو بپرسی. اگه جواب واضحی نگرفتی، مودبانه بگو که نمیتونی تو جلسه شرکت کنی.
جلسههای استنداپ (یا daily)
تو این جلسه صرفا هر کس باید به این سه تا سوال جواب بده:
دیروز چیکار کردم؟
امروز میخوام چیکار کنم؟
چه مانعی واسه انجام کارهام دارم الان؟
جلسههای برنامه ریزی اسپرینت (iteration planning meetings)
اینا سختترین جلسههای اسکرام هستن.
از لیست بکلاگ (backlog)، تسکهایی که احتمالا باید تو اسپرینت بعد انجام بشن رو انتخاب کنید. تخمینها باید از قبل زده شده باشه واسه این تسکها. باید ارزیابی بیزنسی هر تسک از قبل مشخص باشه. تو شرکتهای خیلی خفن، تستهای پذیرش و کامپوننت هم از قبل نوشته شدن واسه این تسکها.
این جلسه باید با سرعت برگزار بشه. هر آیتم مختصرا بحث بشه راجبش و بعد تصمیم بگیریم که قراره تو اسپرینت بعد انجام بشه یا نه.
قانون سرانگشتیش اینه که این جلسه نباید بیشتر از ۵٪ کل وقت اسپرینت رو بگیره. پس واسه یه اسپرینت یه هفتهای ۴۰ ساعته (اینجا معمولا یکم بیشتره)، جلسه پلنینگ نباید بیشتر از دو ساعت طول بکشه.
جلسههای رترو (retrospective) و دمو (demo)
تو جلسهی دمو هر کسی کارهایی که انجام داده رو نشون میده (دمو میکنه).
تو جلسهی رترو هم راجب نکات مثبت و منفی که تو اسپرینت اتفاق افتاده صحبت میشه.
این جلسهها رو آخر وقت آخرین روز کاری تو هفته بذارید. ۲۰ دقیقه واسه رترو و ۲۵ دقیقه هم واسه دمو [واسه اسپرینتهای یک هفتهای].
بحثها/مخالفتها
یه سخن بزرگانی شنیده از کِنت بِک که تحت تاثیرش قرارداده عمو باب رو:
هر بحثی که تو ۵ دقیقه به نتیجه نرسه، با حرف زدن به نتیجه نمیرسه.
دلیل طول کشیدن بحث اینه که هیچ طرفی شواهد واضحی واسه ادعاش نداره. بحث احتمالا سلیقهای یا ... هست و بر اساس واقعیتها (facts) نیست.