مدیریت پروژه با SCRUM به زبان ساده

تا حالا شده به این فکر کنی که چرا خیلی از پروژه ها با موفقیت به اتمام نمی رسه؟ خیلی وقتا شروع خیلی خوبی رو تجربه می کنید و همه چیز خیلی تمیز طبق برنامه پیش میره اما یه مدت که میگذره متوجه میشید اعضای تیم سردرگم هستن و انگار که مسیرشون رو گم کردن، تمرکزشون رو از دست دادن یا حتی نمیدونن الآن دقیقا دارن رو چه موضوعی کار میکنن.وقتی پروژه در همچین شرایط فرسایشی قرار داره و از تیم بپرسی که به نظرتون مشکل کجاست که مدتیه داریم به اصطلاح درجا میزنیم؟ جوابی که اکثر اوقات می شنویم اینه که مدیریت پروژه اشکال داره! و جالبه که اکثر اوقات هم دقیقا مشکل همینجاست! شکی درش نیست که مدیریت پروژه کار بسیار تکنیکی و پیچیده ایه، که نیازمند تواناییهای زیادی هست. از جمله ویژگی های یک مدیر، توانایی های فنی و تخصصی در حوزه پروژه، توانایی ارتباطی بالا، حافظه قوی، و مجهز بودن به ابزارهای موثر جهت پیش برد پروژه هستن.به زبان ساده، SCRUM چارچوبی هست که میتونه به مدیر پروژه خیلی کمک کنه که پروژه با کیفیت مطلوب، در زمان مقرر (که البته اگر منطقی زمان بندی بشه) به اتمام برسه. این چارچوب برای پروژه های با اندازه کوچک و متوسط و تیم های حداکثر 10 تا 15 نفر عملکرد بهتری خواهد داشت. به اصول SCRUM پایبند باشید و تیم رو متقاعد کنید که پایبند بودن به این اصول چقدر برای خودشون مفید هست و باعث می شه که تا چه اندازه ذهن آزادتری داشته باشن. چه بسا که واقعا همین اتفاق میفته، نه تنها پروژه طبق استاندارد های تعریف شده انجام میشه، بلکه همه بیشتر احساس مفید بودن می کنند و کار لذت بخش تر خواهد شد.نقش ها در SCRUMمدیر پروژه یا همان Product Ownerاعضای تیم (Team Members)علاوه بر مدیر پروژه و اعضای تیم، یک نفر می تونه به عنوان scrum master تعریف بشه که بین مدیر پروژه و اعضای تیم قرار بگیره. جلسات رو برگزار و هدایت کنه، به مدیر پروژه در تکمیل backlog و تعریف TASK ها کمک کنه و ...اصطلاحات پرکاربرداصطلاح backlog به کلیه نیاز مندی های پروژه اطلاق می شود.وظیفه (TASK): شامل تک تک کارهایی قرار هست انجام بشه از کارهای خیلی کوچک که شاید فقط 10 دقیقه زمان برای انجام نیاز داشته باشه گرفته تا کاری که ممکنه یک روز کاری زمان ببره.اسپرینت (SPRINT): مجموعه ای از وظایف که قراره طی یک زمان مشخص (دو هفته، یک ماه، دو ماه و ...) انجام بشه. درواقع هر sprint قسمتی از نیازمندی های درون backlog می باشد.در SCRUM باید به جلسات متعهد باشید. جلسات SCRUM شامل:جلسه روزانه (daily)؛ این جلسه حتما باید به صورت standup meeting یا ایستاده برگزار بشه، باید خیلی کوتاه بین 5 تا 10 دقیقه باشه، هر روز سر یه ساعت مشخص با حضور همه اعضای تیم برگزار بشه. تو این جلسه باید همه کوتاه تعریف کنن که دیروز روی چه موضوعی کار کردن و وظیفه (TASK) امروزشون رو شرح بدن. اگر کسی جایی گیر کرده یا اشکالی توی کارش پیش اومده اینجا جای خوبیه که اون موضوع رو با هم تیمی هاش مطرح کنه تا اگر کسی می تونه بهش کمک کنه. حواستون باشه خیلی مهمه که این جلسه حتما هرروز و خیلی کوتاه و سریع برگزار بشه، وگرنه بعد از مدتی به یه کار عذاب آور تبدیل می شه و کم کم کنار گذاشته خواهد شد.جلسه مرور (review)؛ پایان هر هفته یا پایان هر دوهفته زمان خوبیه که مروری بر وظایفی که طی یک یا دو هفته اخیر انجام شده داشته باشیم. این جلسه ممکنه زمان بر بشه ولی حوصله کنید و با دقت اون رو تا آخر پیش ببرید تا اطمینان پیدا کنید که همه چیز به خوبی کار می کند. بهتره که همه اعضا تو این جلسه شرکت داشته باشن و خودشون کارهایی که انجام دادند را ارائه بدن.جلسه برنامه ریزی (planning)؛ این جلسه قبل از شروع هر sprint برگزار میشه. بهتره قبل از شروع جلسه، مدیر پروژه یا scrum master یا هردو با هم تمام وظایفی که باید توی sprint انجام بشه را لیست کنند. بعد با حضور اعضای تیم جلسه ادامه پیدا میکنه و هر کس با توجه به توانایی هایی که داره یک سری از اون وظایف رو انتخاب میکنه، یا بهش انتساب داده می شه. بعد باید زمان تقریبی انجام دادن اون وظیفه تخمین زده بشه. اگر وظیفه ای بیشتر از یک روز کاری زمان می بره بهتره شکسته بشه به وظایف کوچکتر. وظایف بین افراد باید جوری تقسیم بشه که همه به یک اندازه تا آخر SPRINT کار داشته باشن و به نسبت مساوی بین همه تقسیم بشه. گاهی میشه یک وظیفه را شکوند و بین بیشتر از یک نفر تقسیمش کرد. اگر وظایفی از sprint قبل به هردلیلی باقی مونده و انجام نشده، اول باید به backlog برگشت داده بشه، بعد درصورتی که هنوز اولویت انجام شدن آن ها بالا هست، به sprint جدید منتقل بشود. درنهایت بهتره sprint جوری زمانبندی بشه که بیشتر از یک ماه طول نکشه. اینجوری باعث میشه کم کم اهداف تیک بخوره و کل فرآیند خسته کننده نشه.ابزارهای بسیار خوبی برای مدیریت پروژه به روش SCRUM وجود دارند. یکی از ساده ترین آن ها Trello هست که خیلی راحت می تونید با اون ارتباط برقرار کنید. مواردی دیگری رو هم میتونم نام ببرم مثل Slack و Bitrix24. اینکه کدوم ابزار رو استفاده کنید تا حدودی سلیقه ای هست و بستگی به اندازه پروژه و تعداد اعضای تیم شما داره.خب مسلما SCRUM همینجا تموم نمیشه و کل داستان SCRUM به این چند پاراگراف خلاصه نمیشه. من سعی کردم فقط کلیات موضوع رو توی این پست بنویسم و شما رو باهاش آشنا کنم و ترغیبتون کنم که از این چارچوب استفاده کنید.در انتها ممنونم که این مطلب رو تا آخر خوندید. امیدوارم که براتون ارمغان جدیدی داشته باشد و در پیشبرد پروژه هاتون کمکی به شما کند. من این مطلب رو بر اساس مطالعات شخصی و تجربیات خودم طی 10 سال توسعه و مدیریت پروژه های نرم افزاری نوشتم. اگر خطایی در اون وجود داره عذر بنده رو بپذیرید.