تعریف:اسپرینت
به انگلیسی: sprint
معانی به فارسی: با حداکثر سرعت دویدن، یک جعبه زمانی ثابت و قابل تکرار، بازه زمانی
Sprint در وابستگی با Sprint Backlog(انباره یا پشته اسپرینت) ، اسکرام روزانه ، بازنگری اسپرینت و سایر رویدادهای مشابه کار میکند.
توضیح بیشتر: لغت اسپرینت در مدیریت پروژه چابک اجایل و اسکرام به معنی مدت زمانی هست که تیم پروژه فرصت داره برای انجام یک سری اقدامات روی محصول، به وظایفش عمل کنه.
هسته اصلی متد اسکرام (Scrum) را اسپرينتها تشکيل می دهند. برای راحتی در محاسبه زمانی، Sprint را بر اساس هفته در نظر می گیرند اما می توانند این زمان را به روز نیز تغییر دهند. پیش از اجرای اسپرینت باید وظایف و کارهایی که قرار است در آن مدت زمان انجام شود، مشخص شوند.
اسپرینت یک دورهی زمانی کوتاه است و تیمی که چارچوب اسکرام را به کار میبرد، در یک sprint مقدار مشخصی از کار را تکمیل میکند. اسپرینت در روشهای اسکرام و چابک یا اجایل (Agile) مورد استفاده قرار میگیرد. توجه به اسپرینتها به تیم چابک شما کمک میکند تا نرمافزارهای بهتری را در مدت زمان کمتری توسعه دهند.
در روش اسکرام، محصول در دورههای زمانی تکراری به نام اسپرینت ساخته میشود که پروژههای عظیم و پیچیده را به بخشهای کوچکتری تقسیمبندی میکند.
مگان کوک (Megan Cook) مدیر محصولات گروه نرمافزاری جیرا (Jira)
بسیاری از افراد اسپرینتهای اسکرام را با روش توسعهی نرمافزار اجایل مرتبط میدانند. اجایل مجموعهای از اصول، و اسکرام چارچوبی برای تکمیل پروژه است. شباهتهای بسیار زیاد میان اصول اجایل و فرایندهای اسکرام باعث ایجاد ارتباطی میان این دو میشود. اسپرینت به تیمها کمک میکند تا از اصل «ارائهی مکرر نرمافزاری که در حال توسعهی آن هستید» که یکی از اصول چابک است پیروی کنند و همچنین یکی از دیگر از اصول چابک یعنی «واکنش به تغییرات در حال دنبال کردن یک برنامه» را زنده نگاه دارند. اصول اسکرام در شفافیت، عیبیابی و انطباق، تکمیل روش چابک و محور قرار دادن مفهوم اسپرینت است.
توضیح اسپرینت با مثال
فرض کنید شما در تیم ملی فوتبال هستین و قراره که مسابقه شروع بشه. اگر به شما بگن که 90 دقیقه برای بازی فرصت دارین، چیکار می کنین؟ مشخصه که شما و سایر اعضای تیم تمام تلاشتون رو می کنین که در این بازی موفق بشین! این بازی اسکرامه و اون 90 دقیقه، اسپرینت شماست…
البته اسپرینت یک مدت زمان تکراری و ثابته؛ یعنی دقیقا بعد از هر اسپرینت، اسپرینت بعدی شروع میشه و مقدار تمام اسپرینت ها باید ثابت و مثل هم باشه.
نحوهی برنامهریزی و اجرای sprint
برای برنامهریزی اسپرینت بعدی خود باید به جلسهی برنامهریزی اسپرینت بروید. برنامهریزی اسپرینت یک رویداد دستهجمعی است که تیم باید برای دو سؤال ضروری پاسخی پیدا کند:
- چه مقدار کاری میتواند در این اسپرینت انجام شود؛
- آن کار انتخاب شده چگونه انجام داده میشود.
مدیر محصول، مسئول اسکرام و تیم توسعه، بهطور مشترک مسئول انتخاب وظایف کاری مناسب برای انجام دادن پروژه در یک اسپرینت هستند. مدیر محصول در جلسهی برنامهریزی اسپرینت (Sprint Planning) دربارهی هدفی که اسپرینت باید در انتها به آن دست یابد و بکلاگ محصول (Product Backlog) که باید تکمیل شوند، صحبت میکند.
سپس تیم، برنامهای را برای «تکمیل» موارد عقب افتاده پیش از پایان sprint تعیین میکند. موارد عقب افتاده و برنامهی نحوهی انجام آنها را بکلاگ اسپرینت (Sprint Backlog) مینامند. پس از پایان برنامهریزی اسپرینت، تیم آماده میشود تا کار روی بکلاگ اسپرینت را شروع، و موارد عقب افتاده را تکمیل کند.
تیم در طول یک اسپرینت، هر روز در جلسات کوتاه روزانهی اسکرام، میزان پیشرفت کار را بررسی میکند. هدف از این جلسه پیدا کردن موانع و چالشهایی است که بر توانایی تیم در رسیدن به هدفشان در طول sprint تأثیر میگذارد.
تیم پس از پایان یک اسپرینت، کارهای انجام شده را در جلسهی بازبینی (Sprint Review) به نمایش میگذارد. این جلسه فرصتی را در اختیار اعضای تیم قرار میدهد تا پیش از انتقال محصول به مرحلهی تولید، دستاوردها و قابلیتهای کار خود را به ذینفعان و سایر اعضای گروه کاری نشان دهد.
فرایند اسپرینت خود را با آخرین جلسه یعنی مرور کار (Sprint Retrospective)، تکمیل کنید. تیم شما میتواند در این جلسه بخشهایی از پروژه را که نیازمند تصحیح و بهبود هستند، شناسایی و پیدا کنند تا در اسپرینت بعدی به آنها بپردازند. پس از این جلسه آمادهی شروع اسپرینت بعدی خود میشوید.
بایدها و نبایدها هنگام برنامهریزی و اجرای اسپرینت
بسیاری از تیمها حتی با پایبندی به اصول اولیه، پس آغاز به کار با sprint دچار مشکلاتی میشوند. مگان کوک این مبحث را با بایدها و نبایدهایی که در طول سالها یاد گرفته، تکمیل میکند.
بایدها:
- باید مطمئن شوید که تیم، هدف اسپرینت و نحوهی سنجش میزان موفقیت را بهخوبی مشخص و درک کردهاست. این کار حرکتی کلیدی برای هماهنگ نگاه داشتن و کار کردن اعضای تیم برای هدفی مشترک به حساب میآید؛
- باید موارد عقب افتاده یا بکلاگها را با توجه به اولویتها و موارد وابسته به آنها مرتب کنید. اگر موارد عقب افتاده بهدرستی مدیریت نشوند، میتوانند در روند کار اختلال ایجاد کنند و باعث به وجود آمدن چالشهای بزرگی شوند؛
- باید درک درستی از پیشروی در طول زمان داشتهباشید، زیرا این مبحث روی مواردی مانند مرخصیها و جلسات تیمی تأثیر میگذارد؛
- باید از جلسات برنامهریزی اسپرینت برای توضیح دقیق کاری که قرار است در طول اسپرینت انجام شود، کمک بگیرید. تیم را به این کار تشویق کنید تا روند کار، ایرادات یا وظایفی را که باید در طول اسپرینت انجام دهند، برای دیگران توضیح دهند؛
- کارهایی را که برای انجام دادن به مواردی دیگر وابسته هستند، رها کنید. مثلا کارهایی که برای تکمیل به محصولی از تیمی دیگر، یا به مجوز قانونی احتیاج دارند؛
- در آخر، پس از اینکه تصمیمی مصوب، یا برنامهای طراحی شد، مطمئن شوید که شخصی اطلاعات برنامه را در نرمافزار مدیریت پروژه ثبت کردهاست. به این ترتیب دسترسی به برنامهی اسپرینت برای همه آسانتر میشود.
حالا که با این «بایدها» بر اسکرام تسلط بیشتری پیدا کردید، مراقب این نبایدها نیز باشید:
نبایدها:
- نباید وظایف بسیاری را در یک اسپرینت جای دهید یا سرعت انجام وظایف را بالاتر از حد معمول در نظر بگیرید. این کارها باعث شکست شما یا تیم میشوند؛
- کیفیت یا بدهی فنی (Technical Debt) را فراموش نکنید. مطمئن شوید که زمان کافی را به تضمین کیفیت و اجرای نرمافزار به طور مجزا اختصاص دادهاید؛
- ممکن است افراد تیم دربارهی وظایفی که باید در یک اسپرینت انجام شود سردرگم شوند. اما شما نباید اجازه دهید این اتفاق رخ دهد. آنقدر روی سرعت انجام کارها تمرکز نکنید که هماهنگی و همسویی اعضای تیم را فراموش کنید؛
- حجم بالایی از کارهای دشوار و چالشبرانگیز را در یک sprint نگذارید. وظایفی را که به کار بسیاری نیاز دارند یا قطعی نیستند، تجزیهوتحلیل، و آنها را به وظایف کوچکتری تبدیل کنید. سپس آنها را در اسپرینتهای مختلفی قرار دهید؛
- اگر تیم نگرانیهایی دربارهی سرعت انجام کار، قطعیت کار یا سختی کار دارد، آن نگرانیها را نادیده نگیرید. مشکل را بیابید و در صورت لزوم اسپرینت را مجددا برنامهریزی کنید.
جمع بندی
قبل اجرای هر اسپرینت مقدار مشخصی از کار و وظایف در نظر گرفته میشود. این وظایف باید در مدت زمان مشخص شده انجام شوند. برنامهریزی اسپرینت فرایندی است که کمک میکند تا هدف و مدت زمان هر sprint را تعیین کرد. در این مطلب بهطور کامل توضیح دادیم sprint چیست و نحوهی برنامهریزی و اجرای آن را شرح دادیم. اگر نظر و یا سؤالی دربارهی برنامهریزی اسپرینت دارید، با ما درمیان بگذارید.
« بازگشت به واژه نامه