اسکرام (Scrum) چیست؟

اسکرام (Scrum) چیست؟

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

چابکی (Agile) یک طرز تفکر در زمینهٔ فرایند توسعهٔ نرم‌افزار است و در واقع چیزی جز ارزش‌های زیر نیست:
- ارزش افراد و تعاملات بیشتر از ابزارها و فرآیندها است.
- ارزش نرم‌افزاری کارا بیشتر از یک مستندسازی عالی است.
- ارزش همکاری با مشتری بیشتر از قرارداد کاری است.
- ارزش پاسخگویی به تغییرات بیشتر از پیروی از یک طرح از پیش نوشته شده است.

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

به نقش تک‌تک اعضای تیم توجه کنید
نقش‌هایی که به طور دقیق و شفاف تعریف شده‌اند، در به‌کارگیری بهتر اسکرام مؤثرند. بدون توجه به اینکه عنوان شغلی شما در تیم چه می‌تواند باشد، در اسکرام این سمت‌ها به مدیر اسکرام (Scrum Master)، مالک محصول (Product Owner) و اعضای تیم توسعه (Development Team) محدود می‌شوند. اعضای تیم توسعه می‌توانند عناوین شغلی دیگر را هم داشته باشند، اما در یک زمان واحد، باید تنها یک نقش را بر عهده گیرند.

مالکان محصول گزارش درخواست‌های مشتری (User Stories) را می‌نویسند، به منظور اطلاع از نیازهای تجاری با ذی‌نفعان گفتگو می‌کند و فهرست سفارشات محصول (Product Backlog) را به ترتیب اولویت حفظ می‌کنند.

مدیر اسکرام، رویدادهای اسکرام (Scrum Event) را سازماندهی می‌کند و موانع اسپرینت را شناسایی و برطرف می‌کند (در پروسهٔ اسکرام برای تولید یک محصول چند فرایند تکرار در نظر گرفته می‌شود و در پایان دورهٔ زمانی هر فرایند تکرار، یک دستاورد قابل ارائه وجود دارد؛ به این دوره‌های زمانی تکرارشونده، Sprint گفته می‌شود). اعضای تیم توسعه وارد عمل شده و سند سفارشات اسپرینت را آمادهٔ تحویل می‌کنند و هر کس نقشی را بر عهده می‌گیرد و لازم به ذکر است که هر فرد جزئی اساسی و جدایی‌ناپذیر از یک تیم اسکرامی است.

مالک محصول کیست؟
یک اشتباه رایج بین عموم این است که آنها مالک محصول را به عنوان مدیر پروژه در نظر می‌گیرند و فرض می‌کنند که همان فرد باید در جایگاه مدیر اسکرام هم قرار بگیرد. چنین وضعی یک زوج اساسی نیروهای متوازن‌کننده بین مالک محصول (که همیشه خواهان آن است که اقلام بیشتری از فهرست سفارشات محصول در فرآیند توسعه تولید شود) و مدیر اسکرام (که وظیفهٔ وی حصول اطمینان از موفقیت در تکمیل یک اسپرینت است و اینکه اعضای تیم توسعه تمام امکانات مورد نیاز را برای کامل کردن اسپرینت داشته باشند) را به خطر می‌اندازد.

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

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

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

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

به اشتراک‌گذاری داده‌ها
احتمالاً این کار حساس‌ترین بخش یک استفادهٔ مؤثر از اسکرام است. شما می‌توانید مهارت‌های بالا را به کار گیرید و اعضای تیم شما می‌توانند خیلی خوب ادامه دهند و جلو بروند، اما ممکن است چند سؤال وجود داشته باشد که تا حدی شما و تیم‌تان را آزار بدهد.

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

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

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

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