آشنایی با روش‌های رفع انسداد برای مهندسان نرم افزار!

2 چیز وجود دارد که حتی متفکرترین مهندسان نرم‌افزار نیز می‌توانند در زمینه انسداد در مورد آنها توافق داشته باشند:

  1. نامگذاری سخت است.
  2. انسداد بد است.

اما شما باید با هر دوی آنها کنار بیایید.

امروز، ما در مورد شماره 2 صحبت خواهیم کرد که چگونه بر آن غلبه کنیم. دانستن اینکه چگونه انسداد را به طور موثر مدیریت کنید می تواند خروجی شما را به راحتی 2 تا 5 برابر کند.

⭐️ غذای اصلی

  • چگونه خود را رفع انسداد کنیم؟
  • اگر نتوانید خود را رفع انسداد کنید چه کاری باید انجام دهید؟

✅ چگونه خود را رفع انسداد کنیم؟

(1) یادآوری‌های سست

ایده کلی این است که وقتی کسی می‌گوید در زمان مشخصی چیزی را به شما می‌رساند، یادآوری تنظیم کنید. یا، برای خود یادآوری می‌کنید که چند روز بعد با آنها تماس بگیرید. این کار مغز شما را تخلیه می‌کند و نیازی به چک کردن دائمی یا فکر کردن به حضور ندارد. یادآوری‌هایتان کار را برای شما انجام می‌دهند و مغز شما را آزاد می‌کند تا کار واقعی را انجام دهد.

مثال شخصی: من منتظر تیم Infra خود بودم تا یک سطل AWS S3 با مجوزهای صحیح راه اندازی کند. آنها به من گفتند که تا هفته آینده این کار را انجام خواهند داد، بنابراین من یک یادآور Slack در آن پیام برای هفته بعد تنظیم کردم. این به من این امکان را داد که فکر ورود با آنها را از ذهنم حذف کنم. پس از 1 هفته، من پاسخی نشنیده بودم، اما یادآوری Slack به من گفت که با آنها تماس بگیرم – پس از انجام این کار، بالاخره به آن رسیدند. به طور معمول، پس از بررسی بار دوم، آنها سوار آن می‌شوند زیرا نمی‌خواهند شما را دو بار ناامید کنند.

(2) راه حلی میانجی پیدا کنید

در نظر بگیرید که ریشه آنچه شما را مسدود می‌کند چیست و چرا؟ آیا داده از یک API است؟ اگر چنین است، آیا به این دلیل مسدود می‌شود که شما آماده ارسال هستید یا تازه شروع به ساختن رابط کاربری می‌کنید؟ اگر تازه شروع به ساختن دومی کرده‌اید، می‌توانید به راحتی داده‌ها را مسخره کنید یا شروع به ساختن رابط کاربری کنید.

مثال شخصی: برای من، من روی ساخت اجزای ظاهری کار می‌کنم که اغلب نیازهای طراحی سنگینی دارند – باید ببینم همه حالت‌های مختلف چگونه کار می‌کنند (مانور، غیرفعال، فعال، متمرکز و غیره). با این حال، من خودم را از شروع به کامپوننت مسدود نمی‌کنم. من آنچه را که می‌توانم می‌سازم. مانند API، تست‌ها و نسخه پایه استایل‌ها. وقتی طراح ما بتواند به قطعات نهایی برسد، من می‌توانم به سرعت آنها را پر کنم و ارسال کنم!

(3) کار را برای آنها آسان کنید

هر چیزی که مسدود شد، باید از خود بپرسید، “چگونه می‌توانم این شخص یا تیم را راحت تر رفع انسداد کنم؟” در اینجا چند راه وجود دارد که معمولاً می‌توانید این کار را انجام دهید:

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

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

(4) آنها را تشویق کنید

درک کنید که چگونه رفع انسداد به آنها کمک می‌کند و کمک می‌کند تا این موضوع برای آنها واضح‌تر شود.

مثال شخصی: در یک نقطه، من روی یک پروژه با مهندس دیگری کار می‌کردم و به سختی می‌توانستم به سرعت در بازبینی کدها برگردم. ممکن است 3 روز طول بکشد مگر اینکه در مورد آن پینگ کنم. در 1-1 بعدی ما، به این موضوع اشاره کردم که اگر بتوانیم هر دو طرف بررسی کد را در عرض 24 ساعت انجام دهیم، عالی خواهد بود زیرا به ما کمک می‌کند پروژه را زودتر انجام دهیم. بعد از آن مکالمه، دیگر مشکلی نبود و توانستیم کارهای بیشتری انجام دهیم.

(5) این کار را برای آنها انجام دهید

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

مثال شخصی: من در بخش «محصولات مالی» بودم که تیم‌های خواهری داشتیم که برای داده‌های پایگاه‌های داده مربوطه خود به یکدیگر متکی بودند. ما در حال کار بر روی ایجاد یک ویژگی جدید بودیم و به جای اینکه از آنها بخواهیم نقطه پایانی ایجاد کنند که داده‌ها را به ما می‌دهد، یک سند طراحی از APIهایی را که می‌خواستیم اضافه کنیم به آنها دادیم و به آنها پیشنهاد ساختیم که تحت نظارت و تأیید آنها باشد. این به طور چشمگیری به کاهش جدول زمانی پروژه کمک کرد.

✅ اگر نتوانستید خود را رفع انسداد کنید چه کاری انجام دهید؟

ممکن است همه موارد بالا را خوانده باشید و فکر کرده باشید، “بسیار خوب، من همه آنها را قبلاً امتحان کرده‌ام و باز هم مسدود شده‌ام.” بله، گاهی اوقات زندگی همین است. شاید آن تیم با 100 درخواست دیگر غرق شده باشد و شما شماره 57 در لیست باشید.

در اینجا چیزی است که می‌توانید انجام دهید تا حتی زمانی که 100٪ مسدود هستید، شبیه یک ستاره راک باشید:

(1) 10 برابر نتیجه شما

ممکن است از شما خواسته شده باشد که X را انجام دهید و برای انجام آن منتظر رفع انسداد هستید. اما حالا که بلاک شده‌اید، می‌توانید X و Y را انجام دهید؟

مثال شخصی: من در ساختن برخی از APIها مسدود شدم زیرا منتظر پاسخگویی از مدیران پایگاه داده در ساختار جدول DB بودم. اگر فوراً مسدود می‌شدم، معمولاً یک فایل README برای API‌ها نمی‌نوشتم. با این حال، از آنجایی که مسدود شده بودم، یک README راه‌اندازی کردم تا APIها را واضح‌تر کنم و وقتی مسدود شدم، ارسال وظیفه اصلی را تمام کردم. من وظیفه اصلی را انجام دادم اما چیز دیگری را نیز ارسال کردم که نتیجه را حتی بهتر می‌کند.

(2) در مجموعه بعدی وظایف پیش بروید

در مورد کارهای دیگری که ممکن است پس از رفع انسداد لازم باشد انجام دهید فکر کنید. برخی موارد مانند:

  • برنامه‌ریزی مراحلی که پس از رفع انسداد رخ می‌دهند—اگر منتظر یک API هستید، آیا می‌دانید اجرای شما از استفاده از آن API چگونه خواهد بود؟
  • شناسایی همه موارد لبه و نحوه رسیدگی به آنها – آیا می‌دانید وقتی API که منتظر آن هستید از کار بیفتد، چگونه با اتفاقاتی که می‌افتد برخورد خواهید کرد؟
  • نوشتن طرح‌های کلی برای تست‌ها – لازم نیست آنها را بنویسید، اما حداقل آنچه را که می‌دانید باید آزمایش کنید، بنویسید.

(3) “تاریخ حرکت به جلو” خود را بیان کنید

اگر در تأییدیه مسدود شده‌اید، بیان کنید که اگر پاسخی دریافت نکردید تا X تاریخ معقول به جلو حرکت خواهید کرد. اغلب، تعیین ضرب الاجل به تقویت جدیت کمک می‌کند و طرف مقابل را وادار به اولویت بندی می‌کند. فقط مطمئن شوید که مهلت شما معقول است.

(4) به تیم کمک کنید

مسدود شدن فرصتی عالی برای ایجاد سرمایه با بقیه اعضای تیم است. در اینجا چندین راه وجود دارد:

  • در Slack بپرسید که آیا کسی می‌خواهد روی چیزی که روی آن کار می‌کند جفت شود
  • با بررسی روابط عمومی هم‌تیمی‌های خود، انسداد آنها را رفع کنید. هم‌تیمی‌هایتان شما را دوست خواهند داشت.
  • رفع مشکلی که تیم را با مشکل مواجه می‌کند (مثل آزمایش‌های پوسته پوسته شدن)
  • کد زشت Refactor
  • یک ابتکار جدید مانند بهبود فرآیند تیمی (در حال تماس، طراحی الگوهای اسناد، eng <> دستیابی به طراحی، هر چیزی که می‌تواند بهتر از آن باشد که به آن علاقه دارید) شروع کنید.

📖 TL; DR

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

اگر این مطلب برای شما مفید بود برای حمایت و کمک به دیگران وبلاگ پارمین را به دوستان خود معرفی کنید.

 

برای امتیاز به این نوشته کلیک کنید!
[کل: 0 میانگین: 0]

نظرات کاربران

دیدگاهی بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *