مدیریت پروژه چابک یا همان Management Project Agile که آن را با نام اختصاري (APM )نیز می شناسند یک رویکرد براي مدیریت پروژه (معمولا براي ارائه پروژه هاي پیچیده) است که پروژه هاي بزرگ را به پروژه هاي کوچکتر و قابل کنترل تر تجزیه می کند و این پروژه هاي کوچکتر در بازه هاي زمانی کوتاه و تکرار شونده (که اسپرینت نام دارند)در طول زمان تکمیل پروژه انجام می شوند.اسپرینت ها معمولا کوتاه هستند و طول آنها بین دو تا چهار هفته است. درواقع روش مدیریت پروژه چابک ، پروژه را به بخش هاي کوچک بین اعضاي تیم تقسی م می کند و در فاصله هاي زمانی معین بخش هایی از پروژه را که قابل ارائه باشند اجرا و تست می کند و تحویل می دهد و از بازخورد هاي مشتریان براي طراحی و ایجاد تغییر در محصول موردنظر در دوره تکرار بعدي استفاده می کند. این رویکرد باعث می شود که تیم ها سریعتر کارهارا به اتمام برسانند ، میزان برنامه ریزي و طراحی اولیه به حداقل برسد و با تغییراتی که درطول پروژه ممکن است ایجاد شود سازگار تر شوند. در واقع مهندسی نرم افزار چابک ، از راهبرد هاي فلسفی و یک مجموعه توسعه، ترکیب شده است.
راهبردهاي فلسفی ، توسعه دهندگان را به موارد زیر تشویق می کند :
راهبردهاي توسعه، نیز بر موارد زیر تاکید دارند :
شرکت هاي توسعه نرم افزار ، شرکت هاي برنامه نویسی و شرکت هاي بازاریابی به دلیل تغییراتی که از سوي ذینفعان این پروژه ها دائما ایجاد می شود، امروزه از این متد استفاده می کنند. این متد به تیم ها این امکان را می دهد تا کارهاي انجام شده را بازبینی کرده و با هرگونه تغییر از سوي ذینفعان پروژه امکان تغییر و تطابق تیم با آن وجود داشته باشد. رویکرد اجایل در ابتدا براي توسعه صنعت نرم افزار استفاده می شد ولی امروزه در بسیاري از موارد دیگر از جمله بازاریابی و استارت آپ ها از آن استفاده می شود. که در همه ي این موارد بهره گیري از رویکرد چابک ساده تر از رویکردهاي دیگر مدیریت پروژه است. براي مثال در صنعت نرم افزار وقتی تیم شروع به ساخت یا توسعه یک نرم افزار یا برنامه می کند، تعریف هدف و محصول نهایی دشوار است و برنامه ریزي دقیقی از پیش وجود ندارد، رویکرد چابک با توجه به انعطاف پذیري بالایی که نسبت به تغییرات احتمالی پروژه دارد در این گونه موارد که هدف نهایی مبهم است ، کار آمد تر است.
در دهه 1990 همزمان باگسترش شرکت هاي رایانه اي توسعه نرم افزار با بحران روبرو شد که در آن زمان با عنوان "بحران توسعه برنامه" یا "تأخیر تحویل برنامه " شناخته می شد و طبق تخمین کارشناسان، زمان بین نیاز مشتري و تولید برنامه و نرم افزار سه سال بوده است و قادر به پاسخگویی سریع به نیاز مشتریان وجود نداشت. مشکلی که ممکن بود در این سه سال به وجود بیاید این بود که برخی ازسیستم ها، مشاغل و در نتیجه نیاز ها تغییر می کرد و بسیاري از پروژه ها لغو می شدند و بسیاري از پروژه هایی هم که به اتمام رسیده بودند تمام نیاز هاي فعلی را برآورده نمی کردند.
همچنین در بسیاري از صنایع دیگر این مدت به بیشتر از سه سال نیز می رسید. براي مثال در صنعت هوافضا 20 سال یا بیشتر طول می کشد تا یک سیستم پیچیده ارائه و به کار گرفته شود. مثل برنامه شاتل فضایی که درسال 1982 عملی شد ولی از فناوري هاي اطلاعات و پردازش دهه1960 استفاده کرد.
یک مهندس هوافضا در دهه 1990 ، با این زمان طولانی براي هدایت و تصمیماتی که در اوایل پروژه گرفته شد و بعداً قابل تغییر نبود به شدت مخالف بود. و ي با پیوستن به تعداد زیادي از کسانی که احساس می کردند باید راهی بهتر براي ساخت نرم افزار وجود داشته باشد ، عنوان کرد: ما به دنبال چیزي بودیم که به موقع پاسخگوي نیاز مشتري باشد. او یکی از 17 رهبر فکر متدی بود که شروع به صحبت در مورد روشهاي توسعه نرم افزار بصورت ساده تر در آن زمان کرد. این گروه شامل کرن ، پی شگامان برنامه نویسی افراطی کنت بک و وارد کانینگهام ، آري ون بنکوم ، آلیستر کاکبرن و دوازده نفر دیگر بود که امروزه همه در جامعه چابک شناخته شده اند. چابک هدف نهایی آنها نبود و هنوز در مکالمه رسمی قبل از آن زمان استفاده نشده بود.
این رهبران به دنبال راه هایی براي ساخت سریع نرم افزارهاي کاربردي و ارائه زودهنگام آن به دست کاربران و مشتریان بودند. این روش تحویل سریع ، مزایاي مهمی را به همراه داشت از جمله اینکه این امکان را به کاربران می دهد که سریعتر برخی از مزایاي نرم افزار جدید را کسب کنند . همچنین تیم طراحی نرم افزار را قادر به دریافت بازخورد سریع در مورد کار می کرد کرد که بهبود کیفیت نرم افزار را به دنبال داشت.
در نهایت در سال 2001 ،اصطلاح و تفکر جدیدي به نام Agile در مدیریت پروژه هاي نرم افراري توسط این تیم 17نفره به وجود آمد و به عنوان "Manifesto Agile"(بیانه چابک) بطور رسمی در بیانیه اي معرفی شد.
ما روش هاي بهتري براي ایجاد نرم افزارها یافته ایم که در آنها چهار اصل اساسی باید رعایت شود.
بیانیه چابک پیشنهاد می کند افرادي که پشت این روند و فرآیندها هستند اهمیت و تاثیر بیشتري دارند.
در گذشته توسعه دهندگان نرم افزار سالها براي تهیه مستندات دقیق وقت صرف می کردند. و همه این اتفاقات قبل از اینکه حتی یک خط از برنامه نویسی خود را بنویسند اتفاق می افتاد. اگرچه اسناد و مدارك ضرر ي ندارد ، اما در نهایت تیم ها باید بر روند کار تمرکز کنند و نرم افزارهاي با کیفیت و عملکرد ي را در اختیار مشتریان قرار دهند. بیانیه چابک بر اهمیت مشتري مداري در این اصل تأکید می کند. تیم چابک باید بعد از تحویل محصول نهایی به مشتري ، انتظار برخی تغییرات و بازبینی ها را داشته باشد و از آنها براي بهبود کیفیت استفاده کند .
در گذشته مهمترین جنبه یک پروژه قرارداد بود. شما می توانید قرارداد دقیق خود را با مشتری خود تنظیم کنید و جزئیات دقیق محصول نهایی را ارائه دهید. اما معمولا تفاوت زیادی بین آنچه تیم های توسعه دهنده ایجاد کرده اند ، آنچه در قرارداد گفته شده و آنچه واقعا نیاز مشتری را برآورده می کند ، وجود داشته است.
به جای استفاده از این روش منسوخ ، تمرکز باید بر روی توسعه مداوم محصول یا برنامه موردنظر باشد. به همین دلیل این رویکرد بهتراست که با همکاری مشتری یا ذینفعان پروژه محصول نهایی مورد نیاز را طراحی کنیم.
برای توسعه نرم افزار همواره ممکن است تغییرات مفیدی از سوی ذی نفعان و مشتریان مورد نیاز باشد.تیم های نرم افزاری در رویکرد اجایل باید همیشه توانایی تغییر جهت کار خود در هرزمان را داشته باشند.
به تدریج صنایع دیگر نیز دچار تحول شدند.مثل صنعت طراحی خودرو که به 6سال یا بیشتر زمان نیاز داشت و بعد از ظهور ریکرد چابک، مدت زمان طراحی آن به نصف کاهش پیدا کرد.
مزیت اصلی ای که رویکرد چابک نسبت به رویکردهای دیگر دارد، توانایی آن برای مسائل و تغییراتی است که در طول دوره پروژه به وجود میآیند. متد چابک این امکان را برای تیم فراهم می کند تا در طول تکمیل پروژه بخش های مختلف را رصد و کنترل کنند، که این برنامه کنترل مداوم در هر بخش باعث میشود تا تشخیص دهند که آیا این بخش ها موفق عمل کرده اند، نیاز به تغییری دارند یا خیر و در صورت نیاز نقص ها را در همان بخش برطرف کنند.در این روش تیم چیزی را برنامه ریزی می کند که طی چند هفته آینده قصد تولید یا ساخت آن را دارد و بعد از این چند هفته راجع به چگونگی ادامه روند کار تصمیم می گیرند.
یکی دیگر از مزیت های متد اجایل این است که بجای تقابل با مشتری و ذینفعان پروژه به همکاری با آنان می پردازد و در تمام مراحل آنهارا با پروژه درگیر می کند و این اطمینان را به تیم می دهد که محصول نهایی به طور موثری نیاز های مشتریان را برآورده می کند. زیرا از دیدگاه رویکرد اجایل مشتری کسی است که از نیازهای واقعی یک نرم افزار یا محصول مطلع است. به طور خلاصه میتوان متد اجایل را بر 12 اصل پایدار دانست.
حامیان مالی ، توسعه دهندگان و کاربران باید بتوانند یک سرعت و پیشرفت ثابت را برای مدت نامحدودی حفظ کنند.
بهترین معماری ها، الزامات و طرح ها از تیم های دارای سازمان دهی درونی پدیدار می شوند به عبارت دیگر تیم های چابک خود هدایت و سازماندهی می شوند .(خود سامانده و متخصص هستند.)
در فواصل منظم، تیم پروژه در مورد چگونگی تأثیرگذاری بیشتر تأمل می کند و سپس رفتار خود را متناسب با آن تنظیم و تنظیم می کندو در فواصل منظم آن را محقق می کند این اصل یکی از حیاتی ترین اصول تفکر چابک می باشد.
مدیریت پروژه چابک از تیمها میخواهد که همزمان با انجام کار، به طور مداوم زمان و هزینه را برآورد و ارزیابی کنند.آنها برای ارزیابی و اندازه گیری پیشرفت از نمودار Burndown استفاده می کنند. نمودار Burndown نمایشی گرافیکی از سرعت کار تیم است و با آن زمان اتمام کارها را پیش بینی می کنند. در این نمودار در محور افقی، زمان و در محور عمودی، حجم کاری باقیمانده نمایش داده می شود و تیم توسعه بطور مرتب(معمولا روزانه) میزان کار انجام شده رابه روز و کارهای باقیمانده را ترسیم می کنند.
با توجه به دلایل زیر، نمودار Burndownبرای تیم توسعه ضروری است:
بهترین کارکرد مدیریت اجایل زمانی خواهد بود که:
1. پیش بینی اینکه کدام یک از نیازهاي نرم افزار، ثابت و کدامیک متغیرند و اولویت هاي مشتري چگونه تغییر می کنند، سخت است.
2. در بسیاري از پروژه ها، طراحی و ساخت یکی درمیان انجام می شوند. پیش بینی اینکه چقدر طراحی مورد نیاز است قبل از اینکه ساخت، براي اثبات طراحی استفاده شود سخت است.
3. تحلیل ، طراحی، ساخت تست (از دیدگاه طراحی) آنطور که میخواهیم قابل پیش بینی نیستند.
عناصر اصلی متد اجایل شامل 8 جزء زیر است :
User story
داستان کاربر تعریفی سطح بالا از درخواست کار است درواقع یک ویژگی است که کاربرمحصول میخواهد محصول آن را داشته باشد. روی کارهایی که کاربر میخواهد انجام بدهد و اینکه آن ویژگی چه کمکی به کاربر میکند، تمرکز میشود. یک داستان کاربر باید هدف خود را به شیوهای مختصر و صریح بیان کند و باید شامل اطلاعات کافی باشد تا تیم بتواند برآورد معقولی از تلاش مورد نیاز برای انجام درخواست ارائه دهد.
در حوزه بازاریابی، داستان کاربر به این صورت میتواند باشد که مثلا به عنوان یک مدیر بازاریابی، من میخواهم به هر یک از مقالات وبلاگ، یک آیکون فیسبوک اضافه شود تا از این طریق خوانندگان را تشویق کنیم که مقالات را با مخاطبان خود به اشتراک بگذارند.
Product Owner
مالک محصول فرد دوراندیشی است که مسئول به حداکثر رساندن ارزش محصول حاصل از کار است. مالک محصول تنها شخصی است که مسئولیت مدیریت بک لاگ محصول را بر عهده دارد. برای موفقیت مالک محصول، کل سازمان باید به تصمیمات وی احترام بگذارد.تصمیمات مالک محصول در محتوا و سفارش محصول پس زمینه قابل مشاهده است. این شخص تصمیم میگیرد که پروژه شامل کدام یوزر استوری باشد و نتیجه ی مورد نظر پروژه را به گروه اعلام میکند.
The Scrum Master
اسکرام مستر فردی است که وظیفه ارتقا و تبلیغ و حمایت از پروژه را دارد. به طور کلی مسئول موفقیت عملیاتی پروژه بر عهده اسکرام مستر یا رهبر اسکرام است.او این وظیفه را از طریق کمک به اعضای تیم برای درک بهتر قوانین و شیوه ها و تئوری های اسکرام انجام میدهد. اسکرام مستر جلسات را تسهیل میکند، از اجرای پروژه در مسیر مناسب مراقبت میکند، به اعضای تیم رسیدگی میکند تا اطمینان حاصل کند آنچه را که برای انجام وظیفه اعضا لازم است مهیا باشد. اسکرام مستر یک رهبر خدمتگزار برای تیم اسکرام است و به اعضا کمک میکند تا تعاملاتی را که برای تیم اسکرام مفید است به حداکثر برسانند. همچنین نیاز است، اسکرام مستر تا حد قابل قبولی از کار اعضا اطلاع داشته باشد تا در هنگام نیاز به اعضای تیم کمک کند و در هنگام عقب افتادن کارها خود نیز به پیشبرد کارها کمک کند.
اسکرام مستر به صاحبان محصول خدمات زیر را ارئه میدهد:
اسکرام مستر به تیم توسعه خدمات زیر را ارئه میدهد:
اسکرام مستر به سازمان خدمات زیر را ارائه میدهد:
Team
تیم در متد اجایل از یک مالک محصول، تیم توسعه و یک اسکرام مستر تشکیل شده است.این تیم ها خود سازمان دهی شده هستند و عملکرد متقابل دارند. تیم های خود سازماندهی بهترین روش را برای خود انتخاب می کنند. تیم ها کارها را خود را انجام می دهند و توسط دیگران خارج از تیم هدایت نمیشوند و به دیگران وابسته نیستند.
Sprint
یک اسپرینت بازه زمانی است که درآن باید تعداد مشخصی از یوزر استوری ها تکمیل شوند. مدت زمان هر اسپرینت برای پروژه های مختلف متفاوت است به طور معمول بین یک هفته تا یک ماه بازه زمانی هر اسپرینت برنامه ریزی میشود زیرا در صورت تعیین افق بلند مدت احتمال افزایش پیچیدگی ها و خطرات بیشتر میشود.
در طول جلسات برنامه ریزی اسپرینت، افراد تیم، تصمیم میگیرند که به طور کلی چند اسپرینت برای تکمیل پروژه لازم است و هر اسپرینت متمرکز بر کدام یوزر استوری باشد. اسپرینت ها شامل برنامه ریزی اسپرینت، اسکرام روزانه، توسعه کار، مروری بر اسپرینت هستند.
در طول اسپرینت همواره بررسی میشود که هیچ تغییری ایجاد نشود که هدف اسپرینت را به خطر بیندازد و اهداف کیفی کاهش نیابد.
پس اسپرینت بازهای است که هر شخص کارهایش را در آن میچیند یا برایش میچینند و مجموع این کارها در کنار هم کار اصلی را شکل میدهد.
Product Backlog
بکلاگ محصول به معنای یک لیست کاری از تمامی مواردی است که به عنوان موردنیاز محصول شناخته میشود. بکلاگ، به مجموعهای از یوزر استوریها برای یک چرخه ی اسپرینت مشخص گفته میشود. بکلاگ محصول، موجب شفافسازی عملکرد پروژه میشود و نشان میدهد که آیا پروژه در مسیر مورد نظر حرکت میکند یا خیر.بک لاگ تنها منبعی از موارد مورد نیاز برای هرگونه تغییری در محصول است.بک لاگ همواره پویا بوده و به طور مداوم تغییر میکند تا آنچه برای بهبود و توسعه محصول مفید است را شناسایی کند.
Daily meetings (Stand-up meetings)
جلسه استندآپ روزانه، جلسه ای کوتاهی است که با حضور همه ی ذینفعان پروژه برگزار میشود. معمولا مدت زمان آن ۷ الی ۱۵ دقیقه است و توسط اسکرام مستر مدیریت میشود. هدف این جلسه ایجاد یک گردهم آیی کوتاه برای صحبت در مورد دست آورهای 24 ساعت قبل و کارها و موانع پیش رو در 24 ساعت آینده است. اسکرام مستر از این جلسه برای حرکت دادن پروژه در مسیر مورد نظر و تعیین نحوه ی عملکرد پروژه استفاده میکند و هرگونه مانعی را که از تکمیل به موقع پروژه جلوگیری میکند، تشخیص میدهد.اسکرام روزانه با بررسی کار اسکرام روزانه قبلی و پیش بینی کارهای اسپرینت آینده همکاری و عملکرد تیم را بهبود میبخشد.تیم توسعه از اسکرام روزانه برای بررسی پیشرفت حرکت به سمت هدف اسپرینت و روند پیشرفت تکمیل کار در بک لاگ اسپرینت استفاده میکند زیرا که تیم توسعه باید درک کند که چگونه میخواهد به عنوان یک تیم خود سازمان ده برای تحقق اهداف اسپرینت کار کند.
این جلسات میتوانند به روش های مختلفی برگزار شوند به عنوان مثال روش پرسش محور که بیشتر جلسه مبتنی بر بحث خواهد بود.به عنوان نمونه از پرسش های زیر در این نوع جلسات استفاده میشود:
جلسه روزانه ارتباطات را بهبود می بخشد، جلسات بیهوده را حذف می کند، موانع توسعه را از بین می برد، تصمیم گیری سریع را برجسته و ارتقا می دهد و سطح دانش تیم توسعه را بهبود می بخشد. درواقع یک جلسه کلیدی برای بازرسی و انطباق است.یک روش عالی برای اطمینان از این است که همه در مسیر درست و آگاهانه قرار دارند.
Retrospective meeting
جلسه ای است که پس از تکمیل همه ی بخشها و انتشار برنامه، برای ذینفعان پروژه خیلی مهم است که جلسهای داشته باشند و درمورد اینکه چهچیزهایی خوب بوده و چه چیزهایی در پروژه ی بعدی قابل ارتقا است، به گفتگو بپردازند. حتی مشتری یا نماینده ی مشتری در شرکت (مثلا کارشناس فروش) بهتر است در این جلسه حضور داشته باشد.
دو نمونه از مهمترین و پر کاربرد ترین روش های متد چابک روش های زیر است :
Programming Extreme
Scrum
در ادامه روش اسکرام را با هم مرور میکنیم.
اجایل بر تکرار تاکید دارد و در قسمت های کوچک (اسپرینت ها) انجام می شود. در ساخت هر اسپرینت از درس های آموخته شده در ساختن اسپرینت های قبلی استفاده می شود و در این مرحله است که اصطلاح اسکرام وارد میشود. متدولوژی اسکرام یک چارچوب گردش کار است که از اسپرینت ها و بررسی هایی ساخته شده که برای ارتقاء مدیریت پروژه اجایل مورد استفاده قرار می گیرد. روش اسکرام یک فرایند افزایشی تکرار شونده برای توسعه نرم افزار است که معمولاً با توسعه نرم افزار اجایل استفاده می شود.
اسکرام یک چارچوب فرآیندی است که از اوایل دهه 1990 برای مدیریت کار روی محصولات پیچیده استفاده می شود. اسکرام به عنوان یکی از چهارچوب های اجایل جهت تکمیل و پرداختن به پروژه های پیچیده می باشد. سادگی و غیر تجویزی بودن یکی از ویژگی های اصلی اسکرام می باشد که شامل یکسری نقش ها و جلسات ساده است. اسکرام به تیم ها کمک میکند تا راحت تر در کنار یکدیگر کار کنند و در این حین تجربه کسب کنند، از یکدیگر بیاموزند و در صورت بروز مشکل، مشکلات را هرچه سریعتر حل کنند درواقع از تاکیدات اصلی در اسکرام می توان به هماهنگی و همکاری تیمی اشاره کرد. به پشتوانه نقش های ساده و جلساتی که در اسکرام در نظر گرفته شده است ساختاری ساده بدست می آید که می توان به هماهنگی و همکاری تیمی و هم چنین تیم های خود سازمانده دست یافت.
چارچوب های مختلفی برای اجایل وجود دارد اما برخی از آنها برای مبتدیان اجایل پیچیده یا طاقت فرسا هستند و بنابراین در میان همه، اسکرام یک روش آسان برای اجرای اجایل فراهم می کند. اسکرام در حال حاضر برترین تکنیکی است که نه تنها برای نرم افزار بلکه حتی در زمینه های مالی ، پژوهشی و غیره نیز مورد استفاده قرار می گیرد.
یکی از قدرت های اصلی که اسکرام به کسب و کار می دهد قابلیت اولویت بندی نیازمندی ها و حتی تغییر نیازمندی ها بواسطه داشتن لیست اولویت بندی شده از کارهایی که تیم باید انجام دهد می باشد. از طرف دیگر این توانایی به تیم داده می شود که بسته به توانایی خود در بازه های زمانی مشخص بنام اسپرینت تعهد به انجام کار را داشته باشند.
یکی از نیازمندیهای اصلی اسکرام داشتن یک تیم چند وظیفه ای با اعضای t-shape می باشد. افرادی که تک وظیفه ای و تک مهارتی نیستند و ضمن اینکه در مهارت خاصی متخصص هستند می توانند در سایر حوزه ها نیز کار را پیش ببرند. (این موضوع یکی از تفاوت های اسکرام در متد اجایل هم هست . اگر به خاطر داشته باشید، در متد اجایل هر کدوم از اعضا فقط یک نقش کلیدی داشتند.)
در اسکرام سه نقش اساسی وجود دارد:
مالک محصول که به عنوان صدای مشتری و دینفعان پروژه؛ وظیفه ی بک لاگ آرایی و اولویت بندی این بک لاگ را بر عهده خواهد داشت.
استاد اسکرام این وظیفه را بر عهده دارد که سلامت فرآیندهای اسکرام در تیم را مانیتور کند و این اطمینان را بدست دهد که فرآیند های اسکرام بدون مانع و مشکلات به پیش خواهند رفت.
اعضای تیم؛ شامل برنامه نویسان و آزمون کننده ها و هر فردی که در تیم حضور دارد و وظیفه ی پیاده سازی آیتم های تعهد شده توسط تیم در پایان هر iteration را بر عهده دارند.
علاوه بر نقش ها، اسکرام دارای جلساتی نیز می باشد از جمله جلسه ی برنامه ریزی اسپرینت که در ابتدای هر اسپرینت برگزار می شود و در طی آن تیم اقدام به انتخاب آیتم هایی بسته به ظرفیت تیم برای اسپرینت جاری خواهد نمود.
عموما اسکرام برای تیم های نرم افزاری کاربرد دارد اما همانطور که ذکر شد با توجه به این که یادگیری آن راحت است و قوانینش هم به راحتی قابل پیاده سازی است در بسیاری از کسب و کارها و تیم های غیر نرم افزاری هم کاربرد دارد.
از اسکرام به طور گسترده در سراسر جهان در موارد زیر استفاده می شود:
اصول اسکرام شامل موارد زیر است:
بازرسی و سازگاری سریع، کار تیمی بهبود یافته با فلسفه رهبری، مسئولیت پذیری و خود سازماندهی به روش های مهندسی که در ارائه نرم افزار سریع و با کیفیت بالا کمک می کند.
مراحل شکل گیری یک اسکرام به صورت زیر میباشد:
مرحله اول شامل تهیه سند Product Backlog میباشد.اگر فرض کنیم که مشتری خدمت جدیدی را میخواهد و بخواهیم برای مشتری وبسایت فروشگاهی، طراحی نماییم. مدیران برای اینکار با مشتریان خود جلساتی در نظر میگیرند و کلیات کار و توافقهای لازم را مشخص میکنند.مالک محصول باید توضیحات کاملی در مورد پروژه به صورت مکتوب ارائه دهد. جوابهای لازم برای نحوه ساخت و جزییات کاملی از پروژه و تولید محصول، باید در این سند مشخص شده باشد. در ادامه تیم توسعه و طراحی با استفاده از این اسناد، سند نهایی و بالادستی را با جزییات کامل، اماده میکنند.
مرحله دوم شامل مشخص کردن فازها میباشد. هیچگاه محصولی یک جا به مشتری تحویل داده نمیشود و قطعا باید محصول با فازبندی پیش رود و در آخر به مشتری تحویل داده شود. کارفرما در این قسمت فازهای پروژه را مشخص میکند. در این فازها مشخص میشود که هر فاز در چه زمانی باید انجام گیرد و یا اینکه چه فازهایی باهم موازی باشند. همه ی این موارد که در مورد فازبندی وجود دارد باید قبل از شروع مرحلهها بین مشتریان و کارفرما و تیم توسعه برای توافقات مورد نظر، جلساتی شکل گیرد.
درمرحله سوم برنامه ریزی برای اسپرینت و تهیه سند انجام میشود. بعد از اینکه سند بالا دستی برای فازبندی انجام شد، جلساتی برای روشن شدن هدفها و نحوه ی انجام اسپرینتها، مشخص میگردد. اسپرینتها به عنوان قلب اسکرام در نظر گرفته میشوند و کارهای روزانه و جلسات مختلف برای بازبینی را در بر میگیرند.
در این مرحله باید حتما مدل انجام اسپرینتها معین گردد که کارکنان تیم متوجه بازهی زمانی و تعادل روزهای اسپرینتها شوند. همچنین بدانند که جلسات در چه ساعتی و به چه منظوری برگزار میشوند. جلساتی که برگزار میشود به اینگونه است که به اعضای تیم تفهیم میشوند که دقیقا در اسکرام چه وظایفی دارند.هر عضو کارهای خود را روی استیکری به عنوان نوت یادداشت می کند. هر کدام از این برگهها باید با توجه به کارهای محول شده در هر روز، جا به جا شوند.
در مرحله چهارم اسپرینت ها اجرا میشوند. در هر مرحله اسکرام مستر سعی می کند تمام تمرکز را بر روی روند کاری، با برگزاری جلسات بگذارد. این جلسات باید روزانه باشد تا اسکرام مستر بتواند بر روی پیشرفت اسکرام بررسی لازم را داشته باشد. در این جلسات هر عضو سعی میکند که مشکلات باقیمانده را مطرح نماید و راهکارهای مناسب برای برطرف کردن مشکل اتخاد شود. مشکلات بر روی برد اسپرینت نوشته میشود و هر روز بروزرسانی میشود. برد اسپرینت برای این است که مشکلات با سرعت بیشتری برطرف شوند.گزارشهایی که داده میشوند باید کاملا دقیق و جدی و با صداقت باشند. با این حال نیازی برای ارائهی جزییات فنی وجود ندارد.
مرحله پنجم شامل بررسی اسپرینت است. وقتی اسپرینت تمام میشود، کارهای انجام شده به اسکرام مستر تحویل داده میشود و تمام امور بررسی میشود که آیا به طور کامل و بدون نقص کارها انجام شدهاند؟ آیا اسناد ارائه شده باهم تطابق کامل دارند؟ در این مرحله گزارشی از کل مراحل اسپرینت، ارائه داده میشود.در این مراحل چالشها و مشکلات اسپرینت در نظر گرفته میشوند و نقاط ضعف را برای آینده برطرف میکنند. در صورت نیاز، جلسهای نیز برای جمعبندی انجام میگیرد.
در مرحله ششم بازبینی اسپرینت صورت میگیرد. اگر اسپرینت به طور کامل انجام نشده باشد و یا اینکه همراه با نقصهایی باشد، اسپرینت وارد مرحله ی Sprint Retrospective میشود. با این حال اعضای تیم در جلساتی که برگزار میکنند، سعی میکنند که نقاط ضعف و مشکلات را برررسی نمایند و با سرعت بیشتری پروژه را تکمیل و ارائه دهند. در این مرحله ممکن است تصمیمگیری شود که کارهای جدیدتری برای پروژه انجام شود و یا ابزار بهتری برای انجام پروژه در نظر گرفته شود. زمان بندیها از اول برنامهریزی میشود و وظایف هر فرد در یک بازهی کوتاه بر روی برگهها مشخص میگردد.پس از اینکه اسپرینت به طور کامل انجام شد، جلسهی کاملی بین اسکرام مستر و تیم اسکرام صورت میگیرد. در ادامه پس از بررسی بر روی اسپرینت انجام شده، تقسیم کار برای اسپرینت جدید آغاز میگردد. این رویه تا جایی ادامه پیدا میکند که پروژه به ما محصول نهایی و قابل قبولی را ارائه دهد.تمام این مراحل طی میشود تا به مرحلهی Potentially Product برسیم. گاهی اوقات در این مرحله کارهای نهایی انجام گردیده است ولی بعضی اوقات در این مرحله نیاز به برطرف کردن اشکالات احتمالی نیز وجود دارد.
اسکرام روشی برای پیاده سازی اجایل در پروژههای نرم افزاری است، هرچند میتوان از اسکرام در پروژههای دیگر مثل: تولیدمحتوا، مارکتینگ، بهینهسازی وبسایت و … نیز استفاده کرد.اجایل یک طرز فکر است اما اسکرام راهی برای دستیابی راحتتر به این طرز فکراست. این طرز فکر بیان میکند که بهتر است به جای اینکه کاری را به صورت یکجا انجام و تحویل دهیم،کارها را به بخشهای کوچکتری تبدیل کنیم تا راحت و سریعتر به خواستهی مد نظرمان برسیم.
اسکرام و اجایل یکی نیستند اما اسکرام یکی از فرآیندهای اجایل است. هر دوی آنها بر اساس توسعه مکرر پایه ریزی شده اند. راه حل های اجایل با ایجاد ارتباط بین تیم های متقابل و خود سازمانی، در صورت اجرای صحیح می توانند به تیم ها کمک کنند تا با تحویل تدریجی محصولات با بالاترین ارزش و در عین حال کاهش ریسک، مشکلات پیچیده را برطرف سازند.
برای مثال یک آژانس تبلیغاتی هیچ وقت نمی تواند از مدیریت اجایل استفاده کند. چرا که مشتری های آن برای یک کمپین تبلیغاتی کامل نشده به آن پول نمی دهند. همچنین مدیریت پروژه چابک یک رویکرد مناسب برای همه ی پروژه های نرم افزاری نیز نیست. اگر شما به مشتریان خود دسترسی نداشته باشید نمی توانید فرآیندهای تکرار مدیریت چابک را انجام دهید. همچنین اگر ساختار سازمانی پیچیده ای بر شرکت شما حاکم باشد، تبعیت از مبانی مدیریت چابک بسیار مشکل خواهد بود.
با بیشتر شدن طرفداران مدیریت پروژه اجایل یا همان چابک، نرم افزار مدیریت پروژه اجایل نیز طرفداران بیشتری پیدا کرده است. هر نرم افزاری که قرار است در این زمینه مقبول واقع شود باید سه ویژگی زیر را داشته باشد:
1. اندازه گیری و گزارش دهی های چابک:
دنبال کردن زمان و به تصویر گذاشتن زمان هر پروژه، گزارش هایی که فهمیدن آنها خیلی آسان باشد.
2. اطمینان از کیفیت و میزان تکمیل قسمتهای مختلف بصورت درصدی ارتباط:
امکان برقراری ارتباط و بیان کردن بروزرسانی ها با اعضای داخلی و خارجی تیم، اشتراک گذاری لیست وظایف
3. ارائه بازخورد و محول کردن وظایف به افراد دیگر ارزیابی پروژه:
شناسایی و برطرف کردن موانع پروژه، سنجش عملکرد و تخمین زدن هزینه نرم افزار مدیریت پروژه چابک
با در نظر گرفتن موارد مورد نیاز گفته شده میخواهیم برخی از نرم افزارهای مدیریت پروژه اجایل را معرفی کنیم.
این نرم افزار ارزان است و برای کسب و کارهای کوچک مناسب است. بدلیل کاربری آسانی که نرم افزار مدیریت پروژه اجایل اکتیو کلب دارد نیازی نیست که مدیران پروژه زمان زیادی را صرف یاددهی شیوه ی کارکردن با آن به اعضای تیم کنند. بدلیل قابلیت هایی مانند مدیریت اسناد، ارتباطات ایمیل محور، کنترل وظایف و اولویت بندی آنها و قابلیتهای بودجه بندی این نرمافزار برای مدیران پروژه که میخواهند چندین کار را با هم انجام دهند مناسب است.
طرفداران: پشتیبانی عالی از کاربران، اپلیکیشن مدیریت زمان، امکان محدود کردن دسترسی کاربران IOS
مخالفان: استفاده از تایم لاین و ستون برای وظایف بجای چارت گانت Gantt
اگر پروژه ای به عهده دارید که نیاز به ارتباط زیاد با اعضا دارد پس خرید نرم افزار مدیریت پروژه اجایل مناسب خواهد بود. این نرمافزار بصورت خودکار پیشرفت پروژه را به افراد بالادستی Agilo for Scrum اطلاع میدهد. هر تغییری که توسط یک کاربر اعمال میشود از طریق پنل برای Incoming Activity سایر اعضا نمایش داده میشود. همچنین امکان تهیه گزارش سریع بصورت چارتهای داده محور نیز در این نرم افزار وجود دارد.
طرفداران: یک سیستم ارتباطی عالی، تیم پشتیبانی 24ساعته، قیمت مناسب
مخالفان: بدون نرمافزار موبایل، محدودیت پذیرش پروژه (تنها یک پروژه در آن واحد)، برخی میگویند که یادگیری کار کردن با آن کمی سخت است.
برند اطلسین کاملا شناخته شده است و نرم افزار آن نیز برای مدیریت پروژه اجایل میتواند همه دفاتر استفاده شود. تیمهای کاری میتوانند از خود محصول به عنوان هاست و یا قابلیت برپایه ابری استفاده کنند. نرم افزار مدیریت پروژه چابک اطلسین جیرا + اجایل مواردی مانند اسکرام و کانبان را نیز ارائه میکند. همچنین محصولات دیگر اطلسین را نیز میتوان به کاربرد دارد. مدیران پروژه میتوانند جریانهای کاری شخصی سازی شده درست کنند، از طریق با اعضا ارتباط داشته باشند؛ HipChat دارد که قبل از ارسال نهایی محصول را بررسی میکند (ریلیس هاب) همچنین نرم افزار سیستمی با عنوان که دقیقا کامل شده باشد.
طرفداران: اپلیکیشن موبایل، پشتیبانی قدرتمند و تعداد زیادی افزونه قابل استفاده برای انواع پروژهها.
مخالفان: بدلیل وجود نرم افزارهای زیاد جانبی یادگرفتن کار کردن با آنها ممکن است برای کاربران جدید کمی سخت باشد.
این نرم افزار مدیریت پروژه اجایل مخصوصا توسعه دهندگان وب و موبایل طراحی شده است. نرم افزار پایوتال ترکر از چندین پروژه بصورت همزمان، چت کردن با سایر اعضا و وظایف پروژه محور پشتیبانی میکند. کارکردن با این نرم افزار نسبتا آسان است، همچنین دارای یک اپلیکیشن نیز هست و ابزاری iOS برای ارائه بازخورد نیز دارد.
طرفداران: استفاده ترکیبی از چندین نرم افزار، رایگان بودن برای پروژههای عمومی و افراد حقیقی از جمله امکانات این نرم افزار است.
مخالفان: شخصی سازی سیستم کمی سخت است و پشتیبانی از کاربرانی که از نسخه رایگان استفاده میکنند با تاخیر انجام می شود.
اسپرینت گروند یکی از نرم افزارهایی است که از شیوه ی کانبان استفاده میکند. این نرم فزار با در نظرگرفتن توسعه دهنده ها ساخته شده است و کاربران میتوانند به راحتی پروژهها را تجزیه کرده و ورژنهای مختلف آنها را منتشر کنند. قابلیت بررسی باگ در اسپرینت گروند وجود دارد و همچنین دارای چهارچوبی است که کمک میکند درخواست اضافه کردن قابلیتهای اضافی، توصیه ها و سوالات را مورد بررسی قرار دهید.
طرفداران: بسیار عالی برای توسعه نرمافزار، دارای بسیاری از قابلیتهای سنتی اسکرام.
مخالفان: هر پلنی که انتخاب کنید باز هم حافظه فایل محدود است.
تارگت پروسس بعنوان یک نرمافزار مدیریت پروژه اجایل به خوبی روی جنبهی دیداری خود کار کرده است. شاید فکر کنید که این نرمافزار با این حجم از زیبایی خود چندان برای مدیریت پروژه چابک مناسب Marriott, Ancestry.com, Cisco نباشد ولی اشتباه فکر میکنید، وب سایتهای بزرگی مانند ، ThyssenKrupp از تارگت پروسس استفاده میکنند. در این نرم افزار از چارتها و اسپردشیت برای نمایش دادن داده ها استفاده میشود و مدیران پروژه میتوانند به راحتی از آنها استفاده کنند. برخی راهکارهای از پیش آماده نیز برای اعضای مختلف تیم وجود دارد؛ برای مثال اسکرام مستر میتوان توسعه جریان کاری را شخصی سازی کند و صاحب محصول میتواند به راحتی روی قابلیتهایی که از نظرش مهم هستند تاکید کند.
طرفداران: طراحی زیبا و بی همتا که برای شرکتهای تجاری عالی است.
مخالفان: اگر از پلن رایگان استفاده کنید برای هر ساعت آموزش محصول اگر از پلنهای پولی استفاده کنید نیازی به پرداخت هزینه آموزش کارکردن با نرمافزار ندارید.
رابط کاربری ورژن وان ، فرقی نمیکند که از چه شیوه چابکی برای مدیریت پروژهی خود استفاده کنید برای همه ی آنها مناسب است. این نرمافزار مدیریت پروژه چابک هشتمین نرم افزار پرکاربرد در سطح drag جهان است. کاربران میتوانند از بوردهای – استفاده کنند، کامنت بگذارند و از قسمت and-drop داشبورد از وضعیت سایر کاربران و اعضای تیم باخبر شوید.
موافقان: کاربری آسان، سیستمهای ترکیبی عالی، بسیار مناسب برای تیمهایی که اعضای آن دور از هم هستند.
مخالفان: ورژن رایگان خیلی محدود بوده و قابلیتهای آن بسیار زیاد و گیج کننده است.
شیرین صادقی
shirin.sadeghi@email.kntu.ac.ir
عارف اعرابی
aref.aarabidehaj@email.kntu.ac.ir
ریحانه مهدی پور
reyhnae.mehdipour@email.kntu.ac.ir
مهنا حیدری
Mohanna.Heydariabhari@email.kntu.ac.ir
• https://www.workfront.com/project-management/methodologies/agile • Hu, Z. G., Yuan, Q., & Zhang, X. (2009, July). Research on agile project management with scrum method. In 2009 IITA international conference on services science, management and engineering (pp. 26-29). IEEE.
• https://taskulu.com/fa/%D9%88%D8%A8%D9%84%D8%A7%DA%AF/% D9%85%D8%AF%DB%8C%D8%B1%DB%8C%D8%AA- %DA%86%D8%A7%D8%A8%DA%A9/ • Schwaber, K., & Sutherland, J. (2011). The scrum guide. Scrum Alliance, 21, 19.
• https://maktabkhooneh.org/mag/differences-between-scrum-with-agile/ • Srivastava, A., Bhardwaj, S., & Saraswat, S. (2017, May). SCRUM model for agile methodology. In 2017 International Conference on Computing, Communication and Automation (ICCCA) (pp. 864-869). IEEE. • https://kanbanize.com/agile/project-management
• https://www.projectmanager.com/blog/burndown-chart-what-is-it
• https://techbeacon.com/app-dev-testing/agility-beyond-history-legacy-agiledevelopment
• https://www.wrike.com/project-management-guide/faq/what-is-agilemethodology-in-project-management/
• www.seguetech.com/8-benefits-of-agile-software-development/
• http://wikipm.i