پیاده سازی SCRUM – قسمت اول
در سال هایی که در امر مدیریت پروژه نرم افزاری بودم و کار در این زمینه، مهمترین مشکل افراد ناتوانی در پیاده سازی مطالب تئوریک در عمل است.
شروع قسمت اول :
تجهیزات خود را آماده کنید
در گام اول ما نیاز داریم که یک گروه اسکرام تشکیل دهیم. این گروه برای مدیریت تولید محصول و با راهبری اسکراممستر فعالیت خواهند کرد.
گفتم محصول نه پروژه !
اسکرام محصول محور است نه پروژه محور و تمام تلاشش برای تکمیل یک محصول است ولی ممکن است در یک پروژه چندین محصول باشد.
قدمی بعدی پیدا کردن مالک محصول است
شما باید یک نفر را پیدا کنید که مالک محصول است. نفری که اولویت های انجام گام های محصول را تعیین نماید (نسبت به نیاز خودش) . یک نفری که نیاز های اساسی محصول را بداند . یک نفری که بتواند نیاز های محصول را به طور احسنت و دقیق به تیم توسعه گر انتقال دهد . یک نفری که بتواند گارانتی کند محصول به صورت کامل و با موفقیت به اتمام رسیده است ( با توجه به نیاز های واقعی و درخواست شده) .
اگر هر یک از مراحلی که قید شد و یا قید خواهد شد را نتواستید انجام دهید , به مرحله بعدی نروید بدلیل اینکه ما ایرانیها معمولا در مرحله اول می خواهیم مرحله آخر را انجام بدهیم . پس Step by Step و تکمیل هر Step به صورت کامل .
همانند یک Scrum master عمل کنید
اکنون شما محصول را سروسامان داده اید . تیم اسکرام خود را جمع کرده اید . یک نفر دارید که به صورت اختصاصی در خدمت محصول است . یک نفر دارید که وی مالک و صاحب محصول می باشد . احتمالا شما الان یک SCRUM Master می باشید .
شما به عنوان اسکرام مستر , موظف به پشتیبانی , هدایت , راهنمایی و حذف هر نوع مانع از پیش روی تیم اسکرام در طی پروسه تولید می باشید.
ساخت Backlog محصول
شما در این مرحله باید Backlog محصول را درست نمایید و یا اینکه تسهیلاتی ایجاد نمایید که تیم اسکرام این کار انجام دهند . تاکید می شود که این کار حتما و حتما باید با حضور مالک محصول و یا افراد ذینفع محصول انجام گیرد .
Backlog محصول عبارتست از یک فرم و یا لیست ساده که , عنوان مواردی که باید در محصول گنجانده شود در آن قید شده است , البته با احتساب حق تقدم در پیاده سازی آیتم .
هر کس از افراد گروه اسکرام و یا مالک و یا افرادی از طرف مالک می تواند نظر خود را در بک لاگ یادداشت نماید و نباید مانع آنها شد . اصلا اساس , پروسه Scrum و توسعه نرم افزار Agile برپایه شرکت عموم و نظرات جمع می باشد .
اما نکته مهم اینست که فقط مالک محصول حق اولویت بندی انجام هر یک از این ویژگی ها را دارد بدلیل اینکه وی تنها کسی است که با نیاز های محصول دقیقا آشنا می باشد.
Backlog محصول می تواند شامل همه چیز باشد . هرچیزی که در رابطه با محصول باشد . آیتم های موجود در Backlog باید به صورت واضح باشد و تا حد امکان از اصلاحات تجاری به جای اصلاحات تکنیکی استفاده کنید (مشتری شما تاجر است نه برنامه نویس مایکروسافت) .
نیاز های Functional (عملیاتی) باید به صورت یک ویژگی (Feature) در Backlog محصول ثبت شود . نیازهای Non-functional (غیر عملیاتی) را نیز می توان در Backlog قرار داد , برای مثال “محصول نیاز دارد که سریعتر کار کند” یا “ما باید مطمئن شویم که محصول کاملا امن است” و… . این موارد همه ویژگی محصول نیستند ولی می توان به عنوان یک آیتم توجیه پذیر در Backlog ثبت کرد.
اولویت بندی Backlog
همانطور که قبلا در بالا اشاره شد , کار اولویت بندی آیتم های Backlog بر عهده مالک محصول می باشد . البته نیاز نیست که مالک محصول را مجبور کنید تا با متدلوژی های مدیریت نرم افزار آشنا بشود , فقط از او بخواهید در تکمیل یک لیست ساده به شما کمک کند .
این لیست یک جدول ساده است که آیتم های از بالا به پایین از الویت بیش تر به کمتر مرتب شده اند . به عبارت دیگر شما کافی است یک صف ایجاد کنید و آیتم ها در این صف پشت سر هم مرتب نمایید , البته با کمک و نظر قطعی مالک محصول .
اگر به نظر شما آیتمی در Backlog می باشد که واقعا وقت تلف کردن است , با رعایت صبر و آرامش به صورت کامل به مالک محصول توضیح دهید که این آیتم باید از لیست حذف شود و یا باید اولویت آن را کم در نظر گرفته شود و در ته صف قرار گیرد.
موارد پایین نیز بسیار موثر می باشند:
اولویت بندی در حقیقت یک مسئله تجاری می باشد : مالک محصول می تواند با تزریق پول زیاد به گروه , آیتم ها زیادی را زودتر تحویل بگیرد و یا برعکس هر آیتم به صورت طولانی مدت در صف بماند . پس این مشکل اسکرام مستر نیست که یک آیتم زود تحویل داده شد و یکی دیرتر و این مورد را می تواند مالک محصول مدیریت بکند.
البته مواردی که در بالای لیست و یا در اول صف می باشند بدلیل اهمیت آنها برای صاحب محصول به مراتب سریع تر از آیتم های بعدی تکمیل خواهند شد.
مطلب بسیار مهمی که باید در هر آیتم مد نظر گرفته شود این است که , هر آیتم باید به صورت کاملا جداگانه تعریف شود و نه به صورت جزئی از یک شبکه به هم پیچیده . در صورتی که شما به صورت جداگانه هر بخش را تعریف نمایید , پس نتیجه هر بخش قابل ارائه (Deliverable) می باشد .این بزرگترین مزیت اسکرام می باشد که در هر مرحله , خروجی قابل ارائه به مشتری است و مشتری می تواند از آن استفاده نماید.
اما این کار مارا در طراحی لاگ های Backlog مشکل می کند , بدلیل اینکه باید دقت نماییم از هم پیوستگی اجزای متفاوت تا جایی که ممکن است بپرهیزیم در غیر اینصورت کل اسکرام و مدیریت ما زیر سوال میرود.
تبریگ میگم … شما اولین گام اسکرام را با موفقیت برداشتید … البته اگر گام ها را به صورت قدم به قدم برداشته باشید .
قسمت دوم در حال تحریر می باشد.
یاشیاسیز
برچسب:Scrum, اسکرام, پیاده سازی اسکرام, مدیریت پروژه
7 نظر
مرسی دوست عزیز
مقالت خیلی تونست راه گشا باشه !
اگه بتونی نمونه مراحل یک پروژه واقعی را که با روش اسکروم انجام شده را در سایت بزاری بازدیدکنندگان می تونند استفاده از این روش را بصورت عملی هم یاد بگیرند.
باز هم ممنون
دوست عزیز ممنون از نظرت , اگر به اولین پست در بخش http://sirasad.wordpress.com/tag/scrum/ اسکرام مراجعه کنید مثال های عملی و فراوانی زده شده است .
امیدوارم مفید واقع بشود
سلام چرا فیتلر شده این لینک !
این مطلب خیلی قدیمی است برای سال ۲۰۱۰ است (:
البته لینک مطالب رو میتونید در زیر پیدا کنید:
http://blog.scrum.ir/2010/01/%D9%BE%DB%8C%D8%A7%D8%AF%D9%87-%D8%B3%D8%A7%D8%B2%DB%8C-scrum-%D9%82%D8%B3%D9%85%D8%AA-%D8%AF%D9%88%D9%85/
http://blog.scrum.ir/2010/01/%D9%BE%DB%8C%D8%A7%D8%AF%D9%87-%D8%B3%D8%A7%D8%B2%DB%8C-scrum-%D9%82%D8%B3%D9%85%D8%AA-%D8%B3%D9%88%D9%85/