




توسعه نرمافزار چابک در دورکاری (پیشگفتار)
28 مرداد 1399




توسعه نرمافزار چابک در دورکاری (بخش اول)
14 شهریور 1399اسکرام چیست؟
اسکرام چارچوبی است که به تیمها کمک میکند با یکدیگر کار کنند. اسکرام تیمها را تشویق میکند تا از تجربهها بیاموزند، ضمن کار روی یک مسئله خودسازمانده شوند، و برای بهبود مستمر به پیروزیها و شکستهای خود بیندیشند.
هر چند اسکرامی که در مورد آن صحبت میکنیم بیشتر اوقات توسط تیمهای توسعه نرمافزار استفاده میشود، اما اصول و درسهای آن میتواند بر روی همه نوع کار گروهی اعمال شود. این یکی از دلایلی است که اسکرام بسیار محبوب است. اسکرام که اغلب به عنوان چارچوب مدیریت پروژه چابک در نظر گرفته میشود، مجموعهای از جلسهها، ابزارها، و نقشها را توصیف میکند که با هماهنگی هم کار میکنند تا به تیمها برای ساختاردهی و مدیریت کارشان کمک کند.
اسپرینتها چه هستند؟
اسپرینت بازه زمانی کوتاه و زمانثابت است که تیم اسکرام برای تکمیل مجموعهای از کارها در طول آن کار میکند. اسپرینتها در قلب اسکرام هستند و درک صحیح آنها به تیم چابک کمک میکند تا با دردسرهای کمتر نرمافزار بهتری را عرضه کند.
مگان کووک (Megan Cook)، از شرکت اطلسین (Atlassian) میگوید «با اسکرام، محصول در سلسلهای از تکرارها که اسپرینتها نامیده میشوند ساخته میشود، بهطوری که پروژههای بزرگ و پیچیده را به بخشهای کوچکتر میشکنند».
«اسپرینتها پروژهها را قابل کنترلتر میکنند و به تیمها اجازه میدهند تا کار با کیفیت بالا را سریعتر و بهطور مستمر عرضه کنند و انعطافپذیری بیشتری برای تطبیق با تغییر به آنها میدهد».
چگونه اسپرینتهای اسکرام را برنامهریزی کرده و اجرا کنیم؟
متصدیان اسکرام به راستی به همه چیز فکر کرده بودند. برای برنامهریزی اسپرینت پیش روی خود، از جلسه برنامهریزی اسپرینت استفاده کنید! برنامهریزی اسپرینت رویدادی مشترک است که تیم در آن به دو سوال اساسی پاسخ میدهد: چه کاری میتواند در این اسپرینت انجام شود و کار انتخاب شده چگونه انجام خواهد شد؟
انتخاب قلمهای کاری مناسب برای یک اسپرینت تلاشی مشترک بین مالک محصول، استاد اسکرام و تیم توسعه است. مالک محصول هدفی که اسپرینت باید به آن برسد و قلمهای بکلاگ محصول را که پس از اتمام، هدف اسپرینت را محقق میکنند مورد بحث قرار میدهد.
سپس تیم برنامهای برای چگونگی ساختن قلمهای بکلاگ و اطلاق «انجام شده» به آنها پیش از پایان اسپرینت، ایجاد میکند. قلمهای کاری انتخاب شده و برنامه چگونگی انجام آنها بکلاگ اسپرینت نامیده میشود. پس از پایان برنامهریزی اسپرینت، تیم آماده است تا کار بر روی بکلاگ اسپرینت را شروع کند، قلمها را از بکلاگ به «در حال انجام» و «انجام شده» منتقل میکند.
در طول اسپرینت، تیم در طی اسکرام روازنه میزان پیشرفت کار را بررسی میکند. هدف این جلسه آشکار کردن متوقف کنندهها یا چالشهایی است که شاید بر توانایی تیم در تحویل هدف اسپرینت تاثیر بگذارند.
بعد از اسپرینت، تیم در طول بازنگری اسپرینت کارهایی را که کامل کرده است ارائه میدهد. این فرصتی برای تیم است تا کارهایش را پیش از آنکه به محیط عملیاتی آسیب بزنند در معرض تماشای ذینفعان و همتیمیها بگذارد.
چرخه اسپرینت خود را با جلسه بازاندیشی اسپرینت خاتمه دهید. این فرصتی برای تیم است تا زمینههای بهبود را برای اسپرینت بعدی شناسایی کند. با استفاده از آن، برای شروع چرخه اسپرینت بعدی آماده هستید.
بایدها و نبایدها:
حتی با رعایت اصول اولیه، اغلب تیمها هنگامی که شروع به اجرای اسپرینتها میکنند گمراه میشوند. مگان کوک این بحث را با بایدها و نبایدهایی که طی سالها گردآوری کرده است، به پایان میرساند:
بایدها:
- مطمئن شوید که تیم هدف اسپرینت و چگونگی اندازهگیری موفقیت را تعیین و درک کرده است. این موضوعی کلیدی برای حفظ همراستایی و حرکت به سوی مقصد مشترک برای همه افراد است.
- مطمئن شوید بکلاگی دارید که با وابستگیها و اولویتهای خودتان به خوبی آماده شده است. این موضوع اگر به طور درست مدیریت نشود چالش بزرگی ایجاد میکند که شاید فرایند را بهم بزند.
- مطمئن شوید که درک درستی از سرعت دارید، و در آن چیزهایی مانند مرخصی و جلسههای تیم لحاظ شده است.
- از جلسه برنامهریزی اسپرینت برای تشریح جزئیات اساسی کاری که باید انجام شود استفاده کنید. اعضای تیم را تشویق کنید تا قلمهایی را برای تمام داستانها، خطاها، و وظیفههایی که وارد اسپرینت میشوند ارائه کنند.
- در نهایت، زمانی که تصمیم یا برنامه ای ایجاد میشود، مطمئن شوید که کسی آن اطلاعات را در ابزار همکاری یا مدیریت پروژه، مانند تیکتهای جیرا، ثبت میکند. با این روش، بعدها دیدن تصمیم و علت وجود آن برای هر کسی بسیار ساده است.
مادامیکه تلاش میکنید با این «بایدها» ستاره اسکرام شوید، مواظب چند پرچم قرمز نیز باشید:
نبایدها:
- داستانهای بسیار زیادی را وارد اسپرینت نکنید، سرعت را بیش از حد براورد نکنید، یا وظیفههایی را که نمیتوانند در یک اسپرینت کامل شوند وارد اسپرینت نکنید. شما نمیخواهید موجب شکست خودتان یا تیمتان شوید.
- کیفیت یا بدهی فنی (Technical Debt) را فراموش نکنید. مطمئن شوید که زمانی را برای تضمین کیفیت (Quality Assurance) و کارهای غیر ویژگی (Non-Feature Work) مانند خطاها برنامهریزی میکنید.
- همچنین، حجم زیادی کار ناشناخته یا پر ریسک را به عهده نگیرید. داستانهایی را که بزرگ هستند یا عدم قطعیت (Uncertainty) بالایی دارند بشکنید، و نترسید که برخی از آن کار را برای اسپرینت بعدی بگذارید.
- اگر دغدغههایی از تیم شنیدید، چه در مورد سرعت، چه کار با قطعیت پایین، یا کاری که فکر میکنند بزرگتر از چیزی است که براورد کردهاند، آن را نادیده نگیرید. مسئله را بررسی کنید، و در صورت لزوم آن را دوباره بسنجید.
مترجم: مهدیه قدسی نژاد
ویراستار: علیرضا قاقالو
منبع: https://www.atlassian.com/agile/scrum
نسخه صوتی این مطلب را بشنوید:



