اسکرام (Scrum)

خب امروز قصد دارم در مورد اسکرام بنویسم:

اسکرام یک فریم‌ورک هست که به زبان ساده به دلیل نامنظم بودن دولوپرها در تحویل کار به موقع ایجاد شده است. خود اسکرام به معنی دوباره شروع شدن است. اسکرام کار را به یک سری تحویل کار مقطعی می‌شکند. یعنی ما می‌توانیم در هر کدام از زمان‌ ها یک نسخه داشته باشیم. این ارائه نسخه‌های مقطعی باعث می‌شود که دولوپرها به خاطر تایم کم، کار خود را برسانند و همه‌ی کارها به دقیقه 90 واگذار نشود. به همه افراد پروژه که در هر زمینه‌ای توسعه انجام می‌دهند دولوپر (Developer)گفته می‌شود. در اسکرام مفهوم‌های خاصی وجود دارد. اولین مفهوم Daily stand up هست که دولوپرها روزانه 15 دقیقه در مورد کارهایی که انجام داده‌اند با هم صحبت می‌کنند که این به پیشرفت آنها کمک می‌کند و مشکلات حل می‌شود. سه نقش اصلی در اسکرام وجود دارد: (product owner) صاحب محصول، اسکرام مستر و تیم دولوپر که بین 3 تا 9 نفر معمول هستند. صاحب محصول کسی است که با مشتری در ارتباط است، با ذینفعان در ارتباط است، محصول را می‌شناسد و از تیم دولوپ هم یک خواسته‌ای دارد یعنی از مشتری چیزی را شنیده است و از تیم دولوپ می‌خواهد که آن ویژگی را به محصول اضافه کنند. مفهوم دوم Backlog هست که صاحب محصول مسئول پر کردن آن است و خواسته‌های خود برای محصول را در آن می‌نویسد. مفهوم بعدی (sprint) اسپرینت است . اسپرینت مدت زمانی است که مشخص می‌شود تا خواسته‌های صاحب محصول اجرایی شود. میزان آن دلخواه است ولی بهترین و پربازده‌ترین آن 2 هفته می‌باشد. اسکرام مستر کسی است که اسپرینت‌ها را می‌چیند و کارها را بین تیم دولوپ پخش می‌کند تا هر کسی بداند چه کاری را باید انجام دهد و در پایان اسپرینت به دولوپرها کمک می‌کند تا کارها را جمع کرده و به صورت یک نسخه به صاحب محصول ارائه می‌کند. در واقع اسکرام مستر رابط بین صاحب محصول و تیم دولوپ است. تیم دولوپ همه افراد در موقعیت‌های دیزاین، برنامه‌نویس، تحقیق، مارکتینگ و ... را شامل می‌شود. دولوپرها معمولا ویژگی multi functional دارند. یعنی توانایی انجام چند کار را دارند که در صورت نیاز بتوانند کار بقیه را انجام دهند. مفهوم مهم دیگر point هست. مقدار زمانی یک point نیز دلخواه است ولی راحت‌تر است که برابر یک ساعت در نظر بگیریم. تخمین زمانی که برای هر کار در نظر می‌گیریم بر واحد point است. مثلا اسکرام مستر می‌گوید که دیزاینر باید طراحی یک صفحه را در 8 پوینت انجام دهد. به مرور زمان و انجام کار دولوپرها پوینت‌دهی به واقعیت نزدیک‌تر خواهد شد. اسپرینت از روز شنبه شروع می‌شود و شامل اولین شنبه، پنجشنبه و جمعه نیست بنابراین هر اسپرینت دو هفته‌ای شامل 9 روز کاری می‌شود. مفهوم دیگر focus factor هست که یعنی هر نفر در روز کل زمان را بر کار متمرکز نیست. بنابراین زمان مفید کار را با این مفهوم مشخص می‌کنند تا بدانند به هر نفر در اسپرینت تا چند پوینت می‌توان کار داد. با در نظر گرفتن 8 ساعت کاری در روز،در یک اسپرینت دو هفته‌ای مجموعا 72 ساعت کار انتظار می‌رود. ولی معمولا focus factor از 72 ساعت کمتر هست. بعد از هر تحویل کار محصول تست می‌شود که مشکلات کار پیدا و رفع شود. اگر کار نهایی باشد تست کاربردپذیری (usability test) انجام می‌شود و اگر کار نهایی نباشد تست‌های فنی و درون شرکتی انجام می‌شود. مراحل انجام هر کار در اسکرام قابل رصد کردن هست.