اسکرام چیست؟ (آموزش اسکرام از صفر تا 100 )
امروز با توجه به افزایش زودهنگام تغییرات تکنولوژی و نیازمندی های مشتریان، برای اینکه بتوانیم پروژه ها و ایده های خود را منطبق با این تغییرات پیش ببریم نیازمند استفاده از روش های نوین مدیریت پروژه و ابزارهای لازم به آن هستیم. دنیای امروز به سمت خلق ارزش بیشتر گام بر میدارد و امروز پروژه هایی که بیشتری ارزش را ایجاد می کنند موفق بوده و پایداری بیشتری در کسب و کارهای خود خواهند داشت. لذا هدف از این دوره آشنایی با مدیریت پروژه چابک و نحوه به کار گیری موثر اسکرام، به عنوان محبوب ترین ابزار و چارچوب در این حوزه، می باشد.
آموزش اسکرام، ابزاری برای مدیریت بهتر پروژه
اولین چیزی که با شنیدن اسم پروژه به ذهن تان میرسد چیست؟لیست کارهای شخصی انجام نشده؟ لیست برنامه های شخصی در حال انجام؟
یا شاید با شنیدن پروژه به برنامه تولید یک محصول جدید فکر می کنید، مثل طراحی یک ماشین یا تولید یک داروی ضد سرطان، برگزاری یک فستیوال موسیقی یا توسعه وبسایت فروش آنلاین مواد غذایی، یا حتی برگتر از این ها برنامه ریزی و طراحی یک فضاپیما.
همه این ها مثال هایی از پروژه هستند هر چند ماهیت هر کدام باهم بسیار متفاوت است. پروژه های شخصی، طراحی و توسعه محصول جدید، برگزاری رویداد و… . نقطه اشتراک همه این پروژه ها چیست؟ چرا همه این موارد را به عنوان یک پروژه در نظر می گیریم؟ آن چه که آشکار است این است که همه این پروژه ها یک هدف خاص و منحصر به فرد دارند، همه آن ها یک محصول یا خدمت در حال توسعه هستند، همه آنها یک نقطه شروع و یک نقطه پایان دارند، همه آن ها نیازمند گروهی از افراد هستند که به صورت موقت با هم برای رسیدن به نقطه پایان همکاری کنند. همه آنها نیاز به همکاری گروه ها و تخصص های مختلف دارند، و البته همه آنها محدود به زمان، بودجه، و منابع هستند.
پروژه چیست؟
مطابق با تعریف مجله هاروارد بیزنس یک پروژه مجموعه ایی است از فعالیت ها یی که به منظور رسیدن به یک هدف مشخص، در زمان تعییت شده، و منابع مشخص و محدود برنامه ریزی شده است.
همه پروژه ها دو اشتراک اساسی دارند: منحصر به فردند و موقتی هستند. درک مفهوم پروژه بسیار مهم است. با توجه به محدودیت های ذاتی یک پروژه ( محدودیت زمان، منابع و…) یافتن بهترین ابزار و روش برای مدیریت، برنامه ریزی و اجرای یک پروزه اولین و مهمترین قدم در انجام یک پروژه است.درطی سالیان ابزار ها و روش های متنوعی برای مدیریت پروژه رشد و توسعه یافته است.
روشهای مدیریت پروژه
یکی از جدید ترین و پر کاربرد ترین روش ها و چارچوب های مدیرت پروژه ، اسکرام است. اسکرام در واقع چارچوبی برای توسعه یک محصول است. این چارچوب اولین بار در صنعت تولید نرم افزار به عنوان روشی برای توسعه محصول استفاده شد، امروزه در بسیاری از صنایع دیگر مانند صنایع نظامی، خودرو و … استفاده می شود.
اسکرام به چه معناست؟
واژه ” اسکرام” اولین بار توسط پروفسور Hirotaka Takeuchi و Ikujiro Nonaka در سال 1986در مقاله ایی در مجله هاروارد بیزنس استفاده شد.این لغت از اصطلاحی در بازی راگبی گرفته شده است. در این ورزش حرکت رو به جلو تیم با تعداد زیاد پاس های کوتاه رفت و برگشتی به سمت جلو و عقب انجام می شود. Takeuchi و Nonaka از این روش به عنوان روشی در توسعه محصول استفاده کردند.
در سال های بعد دو توسعه دهنده نرم افزار دیگر به نام های Ken Schwaber و Jeff Sutherland، آموزش اسکرام را کامل کردند و این استراتژی توسعه محصول را در شرکت خود کامل کردند. و در سال 1995 مدل طراحی شده خود از اسکرام را معرفی کردند.
چرا از اسکرام استفاده می شود؟
در حال حاضر اسکرام به عنوان یکی از بهترین روشهای حل مساله در پروژه شناخته شده است. به همین دلیل آموزش اسکرام از اهمیت ویژهای برخوردار است، از آنجایی که تیم ها، و پروژه های با زمان دچار تغییر و تکامل می شوند استفاده از یک روش به تنهایی برا ی انجام دادن کار ها باعث رشد و پیشرفت نخواهد شد.
مطابق با نظر Eric Naiburg مدیر مارکتینگ Scrum.org اسکرام دقیقا نقطه مقابل شیوه to- do- list است.
تفاوت Scrum و روش Agile چیست؟
شما حتما واژه “Agile” یا چابک را در کنار اسکرام بسیار شنیده اید، حتی گاهی این دو واژه را یکسان در نظر می گیرند. آیا این دو مفهوم مشابه اند؟ نه دقیقا
در دهه 90 میلادی روش های قدیمی توسعه محصول در صنعت نرم افزار که شامل برنامه ریزی های دقیق و نا منعطف بود، به تدریج جای خودرا به روش های ساده تر و منعطف تر دادند. چارچوب های جدید توسعه محصول مانند اسکرام شروع به رشد کردند و توسط توسعه دهندگان نرم افزار مورد استفاده قرار گرفتند. در سال 2001 یک گروه 17 نفره از توسعه دهندگان نرم افزار بیانه توسعه نرم افزارچابک( Manifesto for Agile Software Development) را منتشر کردند، و در این بیانیه چارچوب اسکرام به عنوان زیر مجموعه ایی از روش Agile معرفی شد. در واقع اسکرام یکی از چارچوب های توسعه محصول به شیوه چابک یا Agile است.
اصول اسکرام چیست؟
اولین چیزی که در آموزش اسکرام میآموزید اصول اساسی اسکرام است، اسکرام با مجموعه ایی از ارزش ها و قوانین تعریف می شود. ارزش های اصلی اسکرام شامل موارد زیر است:
- جرات و جسارت در مواجه با مشکلات و مسائل
- تمرکز
- تعهد به هدف گروه
- احترام به اعضا گروه
- قدرت پذیرش بالا
اسکرام چطور کار می کند؟
اسکرام به زبان ساده چارچوبی است که در آن یک پروژه بزرگ به بخش های کوچک(sprint) تقسیم می شود. برای هربخش لیستی از وظایف، و زمان محدود و مشخصی تعریف می شود، در پایان هر دوره محصول یا خروجی دوره بازبینی می شود، بازخوردهای محصول تولید شده گرفته می شود، نقاط ضعف آن مشخص می شود و در دوره بعدی برای رفع نقاط ضعف و همچنین تکامل محصول اقدامات دیگری انجام می شود، این فرآیند بار ها و بارها تکرار می شود، و در پایان هر دوره محصول کامل تری نسبت به دوره قبل بوجود می آید. درواقع فرآیند توسعه محصول در چارچوب اسکرام فرایند تکامل ندریجی محصول است. توسعه محصول به این روش ریسک پروزه را بسیار کم می کند.
چارچوب اسکرام
یکی دیگر از مواردی که در آموزش اسکرام اهمیت دارد چارچوب یا فریم ورک اسکرام است.
چارچوب اسکرام از سه بخش اصلی تشکیل شده است:
هر پروژه اسکرام دارای سه نقش اصلی (roles)، پنج رویدادیا جلسه (events) و سه پیش محصول (artifact)است.
نقشها در اسکرام (Roles)
در هر پروژه اسکرام سه نقش اصلی وجود دارد که توسط یک فرد یا یک گروه به عهده گرفته می شود.
- تیم توسعه دهنده
- اسکرام مستر
- مالک محصول
1-تیم توسعه دهنده(Development Team)
تیم توسعه دهنده تشکیل شده از افرادی که با همکاری هم محصول را تولید می کنند. به منظور افزایش اثر بخشی و بازدهی، تیم توسعه دهنده از آزادی عمل برای مدیریت وظایف و کار برخوردار است. اعضای این تیم معمولا تخصصهای مختلفی دارند، برنامه نویس، تحلیگر اطاعات، گرافیست و ….
2- اسکرام مستر(Scrum Master)
اصلی ترین وظیفه اسکرام مستر توجیه اعضا تیم توسعه دهنده در مورد پروژه وکمک به درک نقش و جایگاه هر کدام از اعضا تیم درپروژه است.اسکرام مستر در واقع نقش تسهیل کننده موانع و مشکلات تیم را دارد.مسئول کمک به اعضا تیم و پیگیری فرآیند های تعریف شده، انجام وظایف اعضا و رسیدن به اهداف تیم است. همچنین تامین نیازهای تیم و برطرف نمودن مشکلات و موانعی که در روند پیشرفت پروژه اختلال ایجاد می کند، از دیگر وظایف اسکرام مستر می باشد.
3- مالک محصول(Product Owner)
در یک پروژه اسکرام تصمیم گیرنده اصلی مالک محصول است. مالک محصول باید هم نیازهای مشتری و هم نیاز های صاحبان شرکت و ذینفعان را به صورت همزمان در نظر بگیرد. مالکان و ذینفعان شرکت، اعضا تیم اسکرام و مشتریان هر کدام از دیدگاه خود به محصول می نگرند و الویت های هرکدام ممکن است با دیگری متفاوت باشد، در این میان نقش مالک محصول جمع آوری این دیدگاه ها و نیاز ها و اولویت بندی ها آنها در جهت توسعه محصولی است که تا حد امکان نیاز ها و در خواست های گروه های مختلف را پاسخ دهد. مالک محصول این وظیفه را از طریق الویت بندی این نیازها انجام می دهد، به این لیست الویت بندی شده backlog می گویند. بعد از تهیه این لیست مالک محصول تصمیم می گیرد که کدام یک از آیتم های لیست و در چه زمانی توسط تیم توسعه دهنده انجام شود. مالک محصول مسئول پیگیری انجام وظایف در قالب فرایندهای تعریف شده است.
مالک محصول باید نیاز مشتری را دقیقا شناسایی کند. و بتواند این نیازها را به تیم توسعه دهنده انتقال دهد. مالک محصول باید به صورت مداوم روندهای موجود در بازار را بررسی کند، استراتژی های رقبا را شناسایی کند و ایده های جدید برای تامین نیازهای پاسخ داده نشده بازار ارائه دهد. سه وظیفه اصلی یک مالک محصول ارتباط با مشتریان و تیم اسکرام، شفاف سازی نیازهای مشتری و سایر ذینفعان و تعریف این نیازها از طریق تنظیم product backlog و انگیزه دادن به اعضا تیم است.
2- Artifacts
هر Artifact شامل سه عنصر اصلی است:
- Product Backlog: لیست الویت بندی شده تمام کارهایی است که برای رسیدن به هدف پروژه باید انجام شود.
چرخه عمر هر محصول از مرحله ایده پردازی تا تولید چند مرحله اصلی دارد:
- ایده پردازی
- امکان سنجی، بررسی فرصت ها
- ساخت، تست و تحویل محصول
در دو مرحله اول ایده پردازی و امکان سنجی، ایده های بسیاری بوجود می آید، این ایده ها باید در جایی ثبت شود. بهترین محل برای نگهداری و ثبت این ایده ها product backlog است.
Product Backlog در واقع یک لیست ساده است از تمام ایده هایی که می تواند در طراحی و توسعه محصول استفاده شود. این ایده های در مرحله بعد ارزیابی شده و الویت بندی می شوند. هر backlog باید برای تمام اعضا تیم شفاف و واضح باشد. به هر کدام از موارد ثبت شده در product backlog یک آیتم یا PBI (Product Backlog Item) می گویند
- Sprint Backlog: تشکیل شده از چند PBI که باید در یک دوره Sprint انجام شود. sprint backlog در واقع بخش کوچکی از product backlog است.
تصمیم گیری برای این که کدام یک از آیتم های تعریف شده در product backlog به sprint backlog انتقال یابد در جلسه sprint planning انجام می شود. این ابزار با تقسیم وظایف تعریف شده در پروژه به قسمت های الویت بندی شده کوچک در زمان محدود، باعث افزایش تمرکز تیم توسعه محصول می شود.
- Product Increment: درفرایند توسعه محصول در چارچوب اسکرام Product Increment محصولی تکامل یافته نسبت به مرحله قبل است، در واقع محصولی است که بعداز هر sprint بوجود می آید.
Product Increment اساس توسعه محصول به شیوه agile است.
3-رویدادها (Events)
- Sprint: یک دوره زمانی کوتاه و ثابت بین یک تا چهار هفته است. که در طی آن یکسری وظایف تعریف شده درsprint backlog انجام می شود.در انتهای هر sprint باید product increment یامحصول تکامل یافته تر تولید شود.
هر sprint شامل مجموعه ایی از فعالیت هاست: طرح ریزی، جلسات روزانه بررسی پیشرفت کار، بازبینی sprint ، فعالیت های توسعه محصول و…
- Sprint planning: جلسه ایی است که در شروع هر sprint برگزار می شود.. در این جلسه تمام اعضای تیم اسکرام حضور دارند و در مورد دو موضوع زیر تصمیم گیری می کنند:
- قبل از رسیدن به انتهای sprint چه محصولی باید ساخته شود؟
- چطور این محصول ساخته شود؟
- Daily Scrum: یک جلسه روزانه بسیار کوتاه با حضور اعضای تیم توسعه دهنده و اسکرام مستر برای بررسی برنامه های روزانه، پیشرفت کارو مشکلات موجود. این جلسه را اسکرام مستر مدیریت می کند.
- Sprint Review: جلسه بازبینی sprint که در که در انتهای هر sprint برگزار می شود. هدف این جلسه بازبینی و ارزیابی آخرین تغییرات محصول و طرح ریزی مراحل بعدی است. یکی از اصلی ترین ویژگی های چارچوب اسکرام این است که پیشرفت محصول را در طی روند توسعه محصول و در بازه های زمانی کوتاه، اندازه گیری و ارزیابی می کند و از این طریق میزان ریسک تولید محصول را مدیریت و کنترل می کند، برخلاف روش های قدیمی و سنتی که پس از کامل شدن محصول و در آخرین مرحله بازبینی صورت می گرفت، اکه ریسک تولید محصول را بسیار بالا می برد.
جلسه بازبینی sprint جایی است که تمام اعضا تیم اسکرام به همراه ذینفعان دور هم جمع شده و بهترین راه را برای ادامه فرایند تکامل محصول پیدا می کنند. در این جلسه مباحث زیر بررسی می شود:کارهای انجام شده، آخرین تغییرات بازار، بررسی زمان ارائه محصول و تغییرات پیشنهادی در محصول.
- Sprint Retrospective: در انتهای هر دوره sprint اتفاق می افتد.در واقع جلسه بازبینی تمام فعالیت های تیم در sprint قبلی است. پیشرفت کار و موانع موجود در sprint قبلی، بررسی روش های بهبود فرآیند ها، یافتن راه های حذف موانع قبلی مورد بحث قرار می گیرد.