جهان بدون شک در حال چابک شدن است. در حال حاضر متد های برنامه ریزی چابک agile، توسط ۷۱٪ درصد از شرکتها استفاده میشود و پس از انجام این کار، ۶۰٪ از این کسبوکارها شاهد افزایش سود و درآمد بودهاند.
مدیریت پروژه چابک به شرکتها کمک کرده تا با تمرکز روی ارائه ارزش، امکان توسعه سریعتر بههمراه راهحلهای مشتری محور را فراهم کنند؛ اما اتخاذ یک ذهنیت چابک در مدیریت پروژه، مستلزم تغییر قابل توجهی در فرهنگ سازمانی است؛ مشکلی که اکثر صاحبان مشاغل، غلبه بر آن را دشوار میدانند. برنامه ریزی چابک سازگار است و میتواند به کسبوکارها در اجرای این تغییر کمک کند و احتمال شکست را کاهش میدهد.
به نقل قولی از آلن لیکین، کارشناس مدیریت زمان: «شکست در برنامهریزی، برنامهریزی برای شکست است». این جمله اهمیت برنامهریزی چابک در مدیریت پروژه را کاملا بازگو میکند.
با این حال، علیرغم مزایای غیرقابل انکار برنامهریزی، بسیاری از شرکتها هنوز با اجرای یک رویکرد چابک برای دستیابی به نتایج مطلوب، دستوپنجه نرم میکنند. به همین دلیل، ما این مقالهٔ آکادمی همراه را برای کمک به تیمها، رهبران و کسبوکارها برای درک و استفاده از برنامه ریزی چابک agile در جریان کاری خود ایجاد کردهایم.
در پایان مقاله، شما درک بهتری از اصول متد های برنامه ریزی چابک خواهید داشت!
اجایل به زبان ساده یعنی چابکی و انعطافپذیری. چابک یک روش مدرن برای انجام پروژهها، بهویژه در فناوری است. برنامه ریزی چابک یا Agile Planning، فرآیندی است که مدیریت پروژه را با رویکردی تکراری (iteration) و افزایشی (incremental) پیش میبرد. در این روش شما بهجای اینکه همه چیز را از قبل برنامهریزی کنید و مجبور باشید که به آن پایبند باشید، با تغییراتی که ممکن است در هر مرحله از چرخه عمر پروژه ظاهر شود، انعطافپذیر و سازگار باقی میمانید. این رویکرد بر همکاری، سازگاری و بازخورد مشتری در طول چرخه عمر پروژه تاکید دارد. بر اساس اصولی که در مانیفست چابک ریشه دارد، برنامه ریزی چابک agile، بر تحویل ارزش مکرر، بازخورد ثابت کاربر نهایی، همکاری متقابل عملکردی و بهبود مستمر تاکید دارد.
بهعبارت ساده، Agile یک پروژه را به بخشهای کوچک و قابل مدیریت به نام «sprints» یا «iterations» که بهمعنای چرخههای تکراری هستند، تقسیم میکند و تا زمانی که یک پروژه تکمیل شود، این تکرارها ادامه مییابند. تیمها روی این بخشهای کوچکتر در چرخههای کوتاه، معمولاً ۲ تا ۴ هفته کار میکنند و بهطور مداوم محصول را بر اساس بازخورد مشتری بهبود میبخشند. این نوع عملکرد باعث تحویل سریعتر ویژگیهای ارزشمند محصول، پاسخگویی بهتر به نیازهای در حال تغییر و تمرکز بر ارائه آنچه که مشتری واقعاً نیاز دارد؛ میشود.
هدف نهایی برنامه ریزی چابک، داشتن تصویری واضح از چشمانداز پروژه و نقشهراه تولید، با برنامهای چابک در راستای اهداف تجاری است.
برای مثال اجرای روش برنامه ریزی چابک مانند پختن یک وعده غذایی با خانواده یا دوستانتان است. بهجای پیروی از یک دستورالعمل دقیق از ابتدا تا انتها، همه با هم کار میکنید، در حین پختن غذا را میل کنید و مواد و طعم را تنظیم میکنید تا طعم غذا درست شود. این یک رویکرد منعطف و مشارکتی برای انجام کارها است.
برنامهریزی چابک چهارچوبی را برای مدیریت پروژهها به تیمها ارائه میدهد که به آنها کمک میکند تا به موارد زیر دست یابند:
در گذشته، رهبران کسبوکار زمان زیادی را صرف برنامههای دقیق و سخت برای سالهای آینده میکردند که بتواند اهداف و الزامات یک پروژه را بهوضوح تعریف کند. این نوع برنامهریزی بیشتر برای پروژههایی که امکان تغییر در میانه فرآیند را نداشتند و اهداف آنها از ابتدا بهوضوح مشخص بود، کاربرد بیشتری داشت. مانند ساخت ساختمانها یا پلها، پروژههای اجرایی در فشن و … . یکی از این روشهای سنتی، روش آبشار است که رویکردی خطی برای برنامهریزی دارد و در آن هر مرحله از گردش کار، باید قبل از رفتن به مرحله بعدی تکمیل شود. این روش برای پروژههایی مناسب است که اهداف آن از ابتدا بهروشنی مشخص شده است. برای مدت طولانی، این روش برنامهریزی کاملاً جواب میداد.
ولی در دهههای پایانی قرن بیستم با پویایی بیشتر بازارها، ظهور کارهایی برای حل مسائل پیچیدهتر و مدیریت پروژهها و توسعه محصول، الزامات تجاری بهطور مکرر شروع به تغییر کردند و یک روش جدید و انعطافپذیرتر برای برنامهریزی ضروری بود. از همین رو در سال ۲۰۰۱ با روی کار آمدن مدیریت پروژهها به روش Agile، برنامهریزی در بازههای زمانی کوتاه انجام میشود که میتوان در طول فرآیند تغییرات لازم را در آن ایجاد کرد.
بسیاری از مدیران پروژه برنامه ریزی چابک را بر روشهای سنتی ترجیح دادهاند؛ چون باعث انعطافپذیری بیشتر، افزایش شفافیت و دریافت بازخورد مشتری میشود. شرکتها از طریق این روش مدرن مدیریت پروژه، میتوانند برای ارائه محصولاتی متناسب با نیازهای مشتری و در مهلتهای زمانی کوتاهتر، برنامهریزی کنند.
بنابراین میتوانیم تفاوت برنامه ریزی چابک agile با برنامه ریزی سنتی را اینگونه بیان کنیم که:
البته لازم به ذکر است که هر دو رویکرد مزیتهای خودشان را دارند. وقتی در حال ساختن یک پل یا ساختمان هستید، باید یک نقشه بسیار دقیق و سنجیده داشته باشید. نقشهای که بهدقت از همان ابتدای کار طراحی شود و تا پایان پروژه تغییر نکند تا بتوان براساس آن برنامهریزی کرد. حالا تصور کنید که در اینجا بخواهید از رویکرد چابک که همهچیز در طول فرآیند پروژه میتواند تغییر کند، بهره ببرید. مسلماً با هزینههای بالاتر و ریسکهای بیشتری مواجه خواهید شد و رویکرد چابک اصلا مناسب این نوع پروژهها نیست.
با این حال، در کارهایی که فکری و ذهنی هستند، مثل توسعه یک نرمافزار، تغییر در هر مرحله از فرآیند، حتی در پایان کار، مورد استقبال قرار میگیرد. چون هدف جلب رضایت مشتری است؛ بنابراین هر تغییری مجاز و بهنفع کسبوکار است.
فازهای برنامه ریزی agile را پیازی در نظر میگیریم که لایهلایه در دل هم قرار میگیرند. این «پیاز برنامه ریزی چابک» سطوح مختلفی را که میتوانید چرخه عمر پروژه چابک خود را در آن برنامهریزی کنید، به بهترین وجه توصیف میکند.
بیایید نگاهی به هر سطح از این پیاز توسعه محصول بیندازیم:
قبل از هر چیز، ما یک Vision یا چشمانداز را در نظر میگیریم که استراتژی و پرتفولیو از این چشمانداز مطلوبی که تعیین کردهایم، حاصل میشود. برنامهریزی چشمانداز، جهت و هدف را تعیین کرده و تصمیمگیری و اقدامات را در سراسر سازمان هدایت میکند. معمولاً به این سؤال پاسخ میدهد: «در آینده میخواهیم کجا باشیم و به چه چیزی میخواهیم برسیم؟» یک بیانیه چشمانداز مختصر، بلندپروازانه و واقعبینانه ایجاد کنید که بهعنوان راهنمای تصمیمگیری شما عمل کند. هنگامی که چشمانداز ایجاد شد، گامهای بعدی شامل توسعه استراتژیها و مدیریت پورتفولیوها برای دستیابی به جهت و هدفی است که برای آینده پیشبینی کردهایم.
استراتژیها باید دقیقاً با چشمانداز همسو باشند و اطمینان حاصل شود که هر ابتکار استراتژیک، به تحقق اهداف بلندمدت کمک میکند. استراتژی طرح کلی اهداف یک سازمان و نحوه دستیابی به آنها را تعیین میکند و معمولاً توسط رهبران ارشد تیم انجام میشود.
برای توسعه استراتژی میتوان از ماتریس تجزیهوتحلیل SWOT استفاده کرد و بدین وسیله با شناسایی نقاط قوت داخلی، نقاط ضعف برای رسیدگی، فرصتها برای پیگیری و تهدیدها برای کاهش ریسک، یک استراتژی جامع را پایهریزی کرد.
در این سطح، مدیران ارشد مجموعهای از محصولات و خدمات را مورد بحث و برنامهریزی قرار میدهند که از اجرای استراتژی تعریف شده در سطح قبلی پشتیبانی میکند.
تیمها یک برنامه سطح بالا ایجاد کرده و آن را به مجموعهٔ قابلتوجهی از ویژگیها و قابلیتهای کلیدی تقسیم میکنند که به دستیابیِ اهداف استراتژیک کمک میکند. این مرحله کمک میکند تا با برجسته کردن مراحل حیاتی توسعه محصول، از مفهومسازی به پیادهسازی حرکت کنید. توسعه نقشه راه محصول شامل چهار مرحله منطقی است:
پس از تنظیم نقشه راه محصول، تیمها به سمت برنامهریزی انتشار حرکت میکنند و بر روی ویژگیها و قابلیتهای خاص برای نسخه آینده محصول، متمرکز میشوند. اولویتبندی و زمانبندی تضمین میکند که با ارزشترین ویژگیها در هر چرخه انتشار، همسو با اهداف کلی پروژه ارائه میشوند. بهطور کلی در این مرحله ویژگیهای کلیدی تعریف شده قرار است در یک دورهٔ زمانی (معمولاً یک ماه) تحویل داده شوند.
پروژههای چابک به صورت تکرار یا اسپرینت سازماندهی میشوند. این سطح بر مدیریت کار در یک بازه زمانی چند هفته تمرکز دارد. تیم دولوپر چندین وظیفه یا داستان کاربر را از بکلاگ انتخاب میکنند تا در دستههای کوچک ارائه کنند. این برنامهریزی دقیق پیشرفت تدریجی محصول را تضمین میکند.
برنامهریزی روزانه در ابتدای هر روز در طول یک تکرار یا اسپرینت اتفاق میافتد و اعضای تیم برای بررسی پیشرفت، بحث در مورد چالشها یا موانع و برنامهریزی وظایف روزانه خود با یکدیگر همکاری میکنند. این هماهنگسازی روزانه باعث ایجاد ارتباط، سازگاری و همسویی در تیم میشود؛ همچنین یک برنامه عملیاتی برای مراحل بعدی اجرای پروژه ایجاد میکند.
در مجموع، این ۶ مرحله، به ماهیت تکرار شونده و تطبیقی Agile کمک میکنند و به تیمها اجازه میدهند تا به طور موثر به نیازهای متغیر پاسخ دهند و ارزش محصول را بهصورت تدریجی در طول فرآیند توسعه، ارائه دهند.
لازم است یادآور شویم که:
برنامه ریزی چابک یک روند تکراری است؛ به این معنی است که برنامه خود را چندین بار، در صورت لزوم توسعه داده و تنظیم میکنید. هدف این است که تا جای ممکن زمان را برای برنامهریزی سرمایهگذاری کنید و اگر تغییرات در مرحله اجرا اتفاق افتاد، بهراحتی با آنها سازگار شوید.
برنامهریزی چابک agile شامل مواردی هستند که عبارتاند از:
داستان کاربر یک توصیف مختصر و ساده از دیدگاه مشتری است و بر آنچه مشتری درخواست میکند (الزامات و نیازهایی در رابطه با محصول) و دلیل آن، تاکید دارد. این موارد شامل جزئیات زیادی برای تیم است که برحسب آنها یک دورهٔ زمانی تعیین میشود تا روی هر داستان کاربر کار شده و تکمیل شود.
اسپرینتها تکرارهای کوتاه یک تا چهار هفتهای هستند که در آن تیمها روی فعالیتهایی که در جلسه برنامهریزی اسپرینت تعیین شدهاند کار میکنند. همانطور که پیشرفت میکنید، هدف این است که این اسپرینتها را تا زمانی که محصول شما کامل شود، تکرار کنید. پس از اسپرینت، شما مسئول بررسی و دیدن آنچه که کار میکند یا کار نمیکند، ایجاد تغییرات و شروع اسپرینتهای مختلف برای بهبود محصول هستید.
بک لاگها مواردی است که توسط مالک محصل جمعآوری شده و شامل داستانهای کاربر هستند. تیم شما از طریق جلسات برنامه ریزی Agile، موارد بک لاگ را اواویتبندی کرده و تصمیم میگیرند که بر روی کدام آیتمها از بکلاگ کار کنند. آنگاه آیتمهای ضروری به بک لاگ اسپرینت انتقال داده میشود تا در طول یک اسپرینت ۲ تا ۴ هفتهای، تکمیل شوند.
مراحل برنامه ریزی چابک ممکن است برای روشهای مختلف چابک متفاوت باشد؛ اما همه از یک فرآیند اساسی مشابه، شامل مراحل زیر پیروی میکنند:
قبل از شروع پروژه، شما باید نتیجه نهایی، ارزش برای سازمان یا مشتری و روند انجام آن را بدانید.
باید بدانید که میتوانید محدوده پروژه را در اینجا توسعه دهید و هرگز از یاد نبرید که انگیزه استفاده از برنامهریزی Agile، اجباری کردن تصمیمات سریع برای اصلاح پروژه است؛ بنابراین محدوده پروژه نباید غیرقابل تغییر تلقی شود. در این مرحله باید:
در اینجا باید الزامات خاص برای تکمیل پروژه را بهصورت بصری، برای مسئولیتپذیری تیم، درک بهتر و شناسایی و حذف محدودیتها بیان کنید.
نقشهٔ راه یک نمای کلی استراتژیک سطح بالا از محصول شما است که باید ویژگیهای لازم برای برآورده کردن الزامات پروژه را مشخص کند.
نقشه راه شما باید نمایانگر:
این مرحله قبل از انتشار پروژه باید اجرا شود و یک برنامه سطح بالا برای انتشار ویژگیهای محصول است. شما باید تمام الزاماتی را که برای انتشار حداقل محصول قابل دوام (MVP) بهکار بگیرید، در بازههای زمانی تعیین شده (تکرار یا اسپرینت) برنامهریزی کنید.
اگرچه این مرحله و مرحله قبل (نقشه راه محصول) ممکن است پشت سر هم اتفاق بیفتند؛ اما جزئیات مربوط به ویژگیها و الزامات را در اینجا روشن خواهید کرد. شما برای برنامهریزی باید الویتها را در نظر بگیرید و این کار با بررسی بکلاگ محصول صورت میگیرد.
اگر از چارچوب Scrum برای پروژههای Agile خود استفاده میکنید، این مرحله برنامهریزی Sprint در نظر گرفته می شود. هدف برنامهریزی اسپرینت تعیین ویژگیها و عملکردهایی است که در تکرار بعدی گنجانده خواهد شد.
قبل از شروع هر اسپرینت، یک جلسه برنامهریزی اسپرینت بین مالک محصول و اعضای تیم دولوپر برگزار میشود. داستانهای کاربر و بکلاگ بررسی میشوند تا وظایفی را که میتوان در طول اسپرینت انجام داد، مشخص کرد. این طرحها سطح دقیقتری از جزئیات را در مقایسه با طرح انتشار (مرحله قبل) ارائه میدهند؛ از جمله وظایفی که باید توسط اعضای تیم انجام شود و زمانی که برای هر کدام باید صرف کرد.
اسپرینتها معمولاً در دورههای زمانی ۲ تا ۴ هفته است که در آنها موارد ضروری انجام میگیرد و فقط روی همانها تمرکز میشود.
پس از شروع Sprint فعلی، موارد نباید از آن اضافه یا حذف شوند. اگر از Sprints استفاده نمیکنید (ممکن است از متد اسکرام استفاده نکنید و از روشهای دیگر چابک استفاده کنید)، همچنان باید برنامهریزی کنید که در یک دوره خاص چه اتفاقی بیفتد و تیم باید روی چه اولویتهایی تمرکز کند.
جلسات روزانه که معمولا ۱۵ دقیقه در روز در یک جای ثابت و در ساعت مشخصی برگزار میشود، به تیمها کمک میکند تا در جهت تکمیل کار در اسپرینت و تغییرات و موانع احتمالی صحبت کنند. در کل تیم شما به سه سؤال پاسخ میدهد و استندآپ خود را برگزار میکند:
پس از اتمام هر اسپرینت، اول جلسه بررسی اسپرینت برگزار میشود که یک جلسه غیررسمی است که در پایان و طی آن تیم آنچه را که انجام شده است نشان میدهد و ذینفعان بازخورد ارائه میدهند. در این جلسه همه افراد دخیل در پروژه مشارکت دارند.
دومین جلسه، بازنگری اسپرینت است تا در مورد هر چیزی که در طول اسپرینت اتفاق افتاده، آنچه را که میتوان تغییر یا بهبود داد و آنچه انجام شده، صحبت میشود. این جلسه بسیار موثر است و میتوانید در آن مؤثرترین طول اسپرینت برای پروژههای بعدی و کل وظیفهای را که یک تیم میتواند در هر اسپرینت انجام دهد، تعیین کنید.
خب حالا میدانید که برنامه ریزی چابک شامل چه موارد و چه مراحلی است، میخواهیم کمی در بخشهای بعد به مایندست اجایل بپردازیم و اینکه به چه شکل ایجاد شد. بیایید با هم پیش برویم.
مانیفست چابک سندی است که با بیان ۴ ارزش و ۱۲ اصل برای توسعه نرمافزار، مدلی موثر برای بهبود فرآیند کاری ارائه میدهد. این بیانیه در فوریه ۲۰۰۱ توسط ۱۷ نفر از متخصصان برنامهنویسی و توسعه نرمافزار که بهدنبال یافتن راهحل برای روشهای قدیمیتر بودند؛ تدوین شده است.
به زبان ساده، مانیفست چابک جایگزینی برای روشهای سنتی توسعه نرمافزار است و برای بهبود فرآیندهایی که پیچیدهتر و حاوی اسناد زیادی بودند، طراحی شد. هدف بنیانگذاران این بود که فرآیندهای پیچیده را تسریع کرده و یک مدل کارآمدتر برای تیمها ایجاد کنند.
مانیفست چابک، این سند بسیار مهم، آنقدر تأثیر داشت که حتی تا به امروز، بهعنوان کتاب مقدس برای توسعه Agile عمل کرده است و اصول و شیوههای عالی را ارائه میدهد.
توجه به این نکته مهم است که قبل از علنیشدن مانیفست agile، سازندگان آن و بسیاری دیگر از دستاندرکاران توسعه نرمافزار، مدتها بود که ارزشها و اصول چابک را بهصورت جزئی به کار میبردند؛ اما مانیفست چابک، ایدههایی را که در حدود یک دهه گذشته در دنیای توسعه نرمافزار نفوذ کرده بود، عینیت بخشید.
اگرچه مانیفست چابک برای جامعه توسعه نرمافزار طراحی شده است؛ اما بهعنوان یک منبع کلیدی برای برنامهریزی انواع پروژهها استفاده شده است. روش چابک به بخشهای زیادی خارج از توسعه نرمافزار نفوذ کرده که شیوههای Agile را اتخاذ کردهاند: از جمله IT، عملیات اجرایی، بازاریابی، منابع انسانی و فروش.
جالب است بدانید که این گروه ۱۷ نفره که مانیفست چابک را امضا کردهاند، به افراد اتحاد چابک معروف شدند. پس از انتشار سند، این اتحاد رشد کرد و یک سازمان غیرانتفاعی جهانی را تشکیل داد که در حال حاضر جامعهای با بیش از ۷۲۰۰۰ عضو دارد. اتحاد چابک میزبان کنفرانسهای منظم و سازماندهی شده برای حمایت از گروههای محلی است.
بیایید به ارزشها و اصول چابک با جزئیات بیشتری نگاه کنیم.
مانیفست چابک بر چهار ارزش کلیدی بنا شده است که به شرح زیر است:
اولین ارزش که مستقیماً به هسته روششناسی Agile میرسد، تمرکز روی افراد است. شما میتوانید از بهترین فرآیندها و ابزارهای موجود برای پشتیبانی از پروژههای خود استفاده کنید؛ اما آنها تنها در صورتی کار خواهند کرد که افراد شما بهترین کار خود را انجام دهند. تیم شما با ارزشترین منبع شماست. ارتباطات در اینجا نقش کلیدی ایفا میکند. وقتی افراد بهطور منظم با یکدیگر تعامل دارند و ایدههای خود را به اشتراک میگذارند، محصولات بهتری میسازند.
قبل از اجرای کامل شیوههای Agile، تیمها ساعتها صرف ایجاد اسناد جامع با مشخصات فنی، الزامات و موارد دیگر میکردند. این لیستها باید قبل از اینکه دولوپرها شروع به نوشتن کد کنند، آماده میشدند و کل فرآیند به تأخیر میافتاد؛ زیرا جمعآوری و سازماندهی اسناد طولانی میشد.
فلسفه چابک، ساده کردن این اسناد و متراکم کردن اطلاعات در داستانهای کاربر (User Stories) است. این داستانها، دولوپر را با تمام جزئیاتی که برای شروع کار روی نرمافزار و آماده کردن آن برای انتشار نیاز دارند، مجهز میکنند. هدف این است که فرآیند راهاندازی را تسریع کرده و در مراحل اولیه تغییراتی در محصول ایجاد کنیم و نرمافزار را در تکرارهای بعدی بهبود دهیم.
ارزش سوم مانیفست چابک اهمیت همکاری مشتری را برجسته میکند. این امر برتر از مذاکره قرارداد است که شامل تشریح الزامات محصول با مشتری قبل از شروع پروژه و سپس مذاکره مجدد در مورد این محصولات در مرحله بعد است. در روش سنتی، مشتری در طول چرخه توسعه درگیر نیست؛ بنابراین تیمها بازخورد کاربر را که میتواند محصول را بهبود بخشد، از دست میدهند.
وقتی مشتریان خود را وارد فرآیند توسعه میکنید، میتوانید بهطور مرتب نظرات آنها را بپرسید و پیشنهادات آنها را در نظر بگیرید. در حالی که نرمافزار هنوز در حال ساخت است، دولوپرها با بررسی نیازهای خاص کاربر میتوانند بینش ارزشمندی برای ایجاد تجربه کاربری نهایی به دست آورند.
روشهای سنتی از تغییرات کمتری حمایت میکردند و تشخیص میدادند که تغییرات قابل توجه، میتواند زمان و هزینه زیادی داشته باشد. هدف تنها ایجاد یک طرح جامع بود که مسیری ساختارمند و خطی را دنبال کند و در صورت امکان، از موانع اجتناب کند.
ذهنیت چابک این روش سفت و سخت را تغییر میدهد و استدلال میکند که تغییر میتواند به فرآیند توسعه نرمافزار کمک کند. وقتی تغییرات را پذیرا میشوید، فرصتها و راههای جدیدی را برای بهبود در اختیار خود قرار میدهید. تیمهای چابک در چرخههای کوتاه و تکراری کار میکنند؛ به این معنی که میتوانند بهسرعت واکنش نشان دهند و تغییرات را بهصورت مداوم اجرا کنند. این در نهایت منجر به تولید محصولات بهتر میشود.
این چهار ارزش اساس توسعه نرمافزار Agile را تشکیل میدهند و اولویتهای کلیدی را برای تیمها برجسته میکنند تا انرژی خود را روی آن متمرکز کنند. این ارزشها توسط ۱۲ اصل مانیفست چابک پشتیبانی میشود که در ادامه بررسی میکنیم.
مانیفست چابک ۱۲ اصل را فهرست میکند که باید توسط توسعهدهندگان نرمافزار رعایت شود:
۱. بالاترین اولویت، جلب رضایت مشتری از طریق تحویل زودهنگام و مستمر نرمافزارهای ارزشمند است.
مشتری خود را راضی نگه دارید. سعی کنید نرمافزار را در فواصل زمانی منظم در طول چرخه عمر پروژه به کاربران خود تحویل دهید، نه اینکه آنها را منتظر یک تحویل نهایی نگه دارید.
۲. از نیازهای تغییر استقبال کنید؛ حتی در مراحل پایانی کار توسعه. در فرآیندهای چابک باید از هر نوع تغییری استقبال کرد.
توسعهدهندگان نرمافزار چابک باید بتوانند تغییرات لحظه آخری یک پروژه را مدیریت کنند. آنها باید بهاندازهٔ کافی منعطف باشند تا این تغییرات را بهسرعت بهبود بخشند، تاخیرها را به حداقل برسانند و جریان کار بدون وقفه را تضمین کنند.
۳. توسعهدهندگان نرمافزار چابک باید در بازههای زمانی متناوب، محصول درخواستی مشتری را آماده کرده و تحویل دهند.
تیمهای چابک، پروژههای بزرگ را به دورهٔ زمانی کوتاه تقسیم میکنند تا تحویل منظم را تضمین کنند. در روش اسکرام، این دورهٔ زمانی بهعنوان اسپرینت شناخته میشوند که اغلب بین یک تا چهار هفته طول میکشد.
۴. افراد تجاری و توسعهدهندگان باید روزانه در طول پروژه با یکدیگر همکاری کنند.
همانطور که گفته شد، همکاری کلید مدیریت پروژه Agile است. هنگامی که ذینفعان پروژه بهصورت روزانه با یکدیگر ارتباط برقرار میکنند، خطر سردرگمی را به حداقل میرساند و این امر تضمین میکند که اهداف همه در یک راستا باقی میماند.
۵. پروژهها را حول افراد با انگیزه بسازید. به آنها محیط و حمایت لازم را بدهید و برای انجام کار به آنها اعتماد کنید.
زمانی که افراد مناسب برای این کار را داشته باشید، احتمال موفقیت پروژه بیشتر است. برای انتخاب تیم عالی وقت بگذارید، آنها را با منابع مورد نیاز تجهیز کنید و برای ارائه نتایج استثنایی به آنها اعتماد کنید.
۶. کارآمدترین و موثرترین روش انتقال اطلاعات به تیم توسعه و درون آن، گفتگوی حضوری است.
وقتی تیمها بتوانند شخصاً با هم گفتگو کنند، موانع بهراحتی از میان برداشته میشوند. تا جایی که ممکن است تیمها را برای ارتقای ارتباطات خوب و تقویت این جریان، حمایت کنید. در شرایط دورکاری، نرمافزار زوم جایگزینی عالی برای تلفن یا ایمیل است که به افراد امکان میدهد بهطور موثرتری از طریق دوربین تعامل داشته باشند.
۷. تحویل نرمافزار قابل استفاده معیار اولیه پیشرفت است.
برای اینکه مشتریان خود را راضی نگه دارید، باید نرمافزاری باکیفیت بالا ارائه دهید. این اولویت نهایی و معیار شما برای موفقیت است و هر چیز دیگری در اولویت بعدی است.
۸. فرآیندهای چابک، توسعه پایدار را ترویج میکنند. حامیان مالی، توسعهدهندگان و کاربران باید بتوانند بهطور نامحدود یک سرعت ثابت را حفظ کنند.
تیمهای چابک باید در طول چرخه عمر پروژه خود، ثابت باشند و سرعت خود را در تمام طول پروژه حفظ کنند؛ این بدان معنی است که آنها میتوانند یک محیط دائماً در حال تحول را بدون تسلیم شدن در برابر تاخیر حفظ کنند.
۹. توجه مداوم به برتری فنی و طراحی خوب، چابکی را افزایش میدهد.
در Agile، شما فقط یک محصول خوب را ارائه نمیکنید؛ تمرکز شما باید روی بهبود مستمر و نوآوری باشد. هر تکرار یا اسپریت باید بهروزرسانی، ویژگی یا پیشرفت جدیدی را به همراه داشته باشد.
۱۰. رعایت اصل سادگی، ضروری است.
رویکرد چابک این است که کارها را بیش از حد پیچیده نکنید. نیازهای خود را برآورده کنید و بهاندازه کافی برای تکمیل وظایف، کار انجام دهید. زمان را با مراحل اضافی که هیچ ارزش واقعی به محصول شما اضافه نمیکند، تلف نکنید.
۱۱. بهترین معماریها، نیازمندیها و طرحها از تیمهای خودسازمانده پدید میآیند.
چرا تیمها را خود مدیریت میکنید، وقتی آنها به اندازه کافی مهارت دارند تا خودشان کار کنند؟ با اجازه دادن به آنها برای کار در ساختارهای خود، فضای بیشتری برای شکوفایی ایدهها ایجاد کرده و در نهایت، نتایج بهتری را ارائه میدهید.
۱۲. در فواصل زمانی معین، تیم در مورد چگونگی موثرتر شدن فکر میکند، سپس رفتار خود را براساس آن بازسازی و تنظیم میکند.
وقتی عملکرد تیم را بهطور منظم بررسی میکنید، میتوانید مشکلات را قبل از تشدید آنها و همچنین زمینههای بالقوه برای بهبود را تشخیص دهید. یک تیم چابک سالم، تیمی است که بهمنظور حذف شیوههای غیرمفید و ارتقای مهارتها، خود را بهروز رسانی میکند.
با مطالعه ۴ ارزش و ۱۲ اصلِ مانیفست چابک، تیمهای توسعهٔ نرمافزار درک روشنی از معنای واقعی چابک بودن خواهند داشت.
برخی استدلال میکنند که Agile یک روش نیست؛ بلکه مجموعهای از اصول و اعتقادات است. ما آن را بیشتر در قالب یک «فلسفه» توسعه نرمافزار در نظر میگیریم. این فلسفه کسبوکارها را تشویق میکند تا با شرایط در حال تغییر سازگار شوند و محصولات با ارزش را بهطور مداوم به مشتریان ارائه دهند. این طرز فکر صاحبان محصول را به سمت رویکردی مدرنتر برای توسعه محصول سوق میدهد.
متدولوژی (روششناسی) مدیریت پروژه چابک، مجموعهای از اصول، ابزارها و تکنیکهایی است که برای برنامهریزی، اجرا و مدیریت پروژهها استفاده میشود. این متدها یا روشها به شما نشان میدهند که چگونه کارها را همسو با فرآیندها، ارزشها و اصول Agile انجام دهید.
روششناسی چابک استدلال میکند که بیش از هر چیز، ما باید رضایت مشتری را از طریق تحویل مداوم نرمافزار، برقراری ارتباط مداوم با مشتری و همچنین با تمرکز بر ارتباط بین اعضای تیم، برقرار کنیم. در جهت رسیدن به این اهداف، متدولوژیها و تکنیکهای برنامه ریزی Agile، یک پروژه را به بخشهای کوچک تقسیم کرده و از این مراحل برای مدیریت پروژه استفاده میکنند.
اساساً توسعه Agile از یک مدل افزایشی (Incremental) پیروی میکند که باعث ایجاد همکاری در تیم و برنامهریزی مستمر و همچنین تکامل و یادگیری ابدی میشود. روششناسی چابک باید به چرخه توسعه نرمافزار (برنامهریزی، اجرا و تحویل نهایی) احترام بگذارد که همین امر، شناسایی و رفع اشکالات یا نیازهای جدید را آسانتر میکند.
اگر بخواهیم به طور خلاصه بگوییم: متدولوژی چابک یک پویایی «گامبهگام» است که بر روی دید کوتاهمدت متمرکز است؛ اما هرگز هدف بلندمدت محصول را از دست نمیدهد.
اگرچه متدهای برنامهریزی مدیریت پروژه چابک انواع مختلفی دارد؛ اما اصول موجود در مانیفست چابک زیربنای همه آنهاست. ما در اینجا ۵ تا از محبوبترین انواع برنامه ریزی را که در بسیاری از بخشها مانند توسعه نرمافزار و تحقیق و توسعه محصول اعمال میشوند، مرور خواهیم کرد.
بدون شک اسکرام بیشترین استفاده را در میان بسیاری از چهارچوبهای متدولوژی چابک دارد. Scrum با چرخهها یا مراحل توسعهٔ معروف به اسپرینت و با حداکثر کردن دورههای زمانی توسعه برای یک محصول نرمافزاری به سمت هدف محصول، مشخص میشود. این هدف محصول یک هدف ارزشی بزرگتر است که در طی هر اسپرینت، یک قدم به آن نزدیکتر میشوید.
اسکرام معمولاً در مدیریت توسعه محصولات نرمافزاری استفاده میشود اما قابلیت این را دارد که در زمینههای مرتبط با تجارت هم مورد استفاده قرار گیرد.
اسکرام در شرکتهایی با همکاری متقابل تیمی بهخوبی کار میکند. برای تیمهای کوچک، حداکثر ۳ تا ۹ نفر مناسب است. این یک انتخاب خوب برای تیمهایی است که در چرخههای توسعه کوتاه با تمرکز بر انتشار بهموقع کار میکنند.
چارچوب اسکرام همچنین برای «تازهکاران» در Agile عالی است؛ زیرا دستورالعملهای واضحی را ارائه میدهد.
کلمه کانبان ریشه ژاپنی دارد و معنای آن با مفهوم «در زمان» مرتبط است. در عمل، روش کانبان بر روی یک تابلو یا جدول (تابلو کانبان)، به ستونهایی تقسیم میشود که هر جریانی را در پروژه تولید نرمافزار نشان میدهد. با تکمیل شدن فرآیند توسعه، اطلاعات موجود در جدول تغییر میکند و هر زمان که یک کار جدید وارد بازی میشود، یک کارت جدید ایجاد میشود.
این روش همچنین در بخشهای تجاری فردی مانند منابع انسانی، بازاریابی و غیره مفید است و دید مطلوب را بر روی تمام وظایف تیم به ارمغان میآورد.
روش کانبان مستلزم ارتباط و شفافیت است تا دقیقاً اعضای هر تیم بدانند که توسعه در چه مرحلهای است و در هر زمان میتوانند وضعیت یک پروژه را ببینند. در درجه اول بر ظرفیت تیم متمرکز است و برای فرآیندهایی که دستخوش تغییرات کوچک میشوند، بهترین است.
Kanban راهی برای تیمهایی است که وظایف با اندازههای مختلف را انجام میدهند و نیاز به تغییر مکرر نیازهای محصول دارند. روش کانبان بهواضحی اسکرام تعریف نشده است؛ بنابراین به تیمهای چابک بیتجربه توصیه نمیشود.
Kanban معمولاً به تیمهای کوچکتری توصیه میشود که روی کارهای تکراری کار میکنند و به دیگران وابسته نیستند. اگر تیم شما سرعت بازاریابی را در اولویت قرار میدهد و در استفاده از روشهای Agile بیتجربه نیست، Kanban یک انتخاب عالی است.
این متد میتواند با شرکتهای توسعهدهنده در ابعاد مختلف سازگار شود و بر ارزشهایی مانند ارتباطات، سادگی، بازخورد، شجاعت و احترام تاکید دارد و رضایت مشتری را بر هر چیز دیگری اولویت میدهد. این متدولوژی با ایجاد انگیزه در توسعهدهندگان برای پذیرش تغییرات در الزامات مشتری، حتی اگر در مراحل آخر چرخه توسعه باشد، اعتماد را تقویت میکند.
کار تیمی در XP بسیار مهم است؛ زیرا وقتی مشکلی وجود دارد، توسط کل تیم مدیران، توسعهدهندگان یا مشتریان حل میشود و همه آنها به قطعات ضروری یک پازل تبدیل میشوند و محیطی حاصلخیز برای بهرهوری و کارایی بالا در تیمها ایجاد میکنند. مشابه اسکرام، این روش نیز از اسپرینت یا چرخههای توسعه کوتاه استفاده میکند. در XP، نرمافزار از روز اول آزمایش میشود و برای بهبود توسعه، بازخوردها را جمعآوری میکند.
توسعه ناب (Lean) روشی است که مستقیماً توسط تویوتا ایجاد شده و در توسعه نرمافزار اعمال میشود.
این روش تیم را مجبور میکند تا هرگونه فعالیتی را که ارزش نهایی برای محصول ندارد، بیرحمانه حذف کند.
در این روش برنامهریزی، هفت اصل اساسی زیر وجود دارد:
با استفاده از این روش ناب، زمان و منابع توسعه بهینه میشود. این روش بهراحتی مقیاسپذیر و قابل انطباق با پروژهها در هر اندازه است.
کریستال یکی از انعطافپذیرترین متدولوژیهای اجایل است که آزادی فوقالعادهای به تیم برای توسعه فرآیندهای خود میدهد. بیشتر بر افراد و نحوه تعامل آنها متمرکز است تا بر فرآیند یا ابزارها. Crystal بر اصولی مانند افراد، تعاملات، جامعه، مهارتها، استعدادها و ارتباطات تمرکز دارد و هدف آن ارائه بهترین فرآیند توسعه نرمافزار ممکن است. هسته اصلی این فرآیند توسعه، تعامل و همزیستی است که باید بین افراد اختصاص داده شده به پروژهها و فرآیندها وجود داشته باشد تا کارایی پروژه را به ارمغان آورد؛ بنابراین ارتباط یک جنبه کلیدی ضروری در آن است.
کریستال دارای انواعی مانند Crystal Clear (یک تیم ۸ نفره)، Crystal Yellow (یک تیم حداکثر ۱۰ تا ۲۰ نفره)، کریستال نارنجی (یک تیم ۲۰ تا ۵۰ نفره) و Crystal Red (برای تیمهای بزرگ ۵۰ تا ۱۰۰۰ نفر) است.
به گفته بنیانگذار آن، آلیستر کاکبرن، «کریستال یک خانواده از متدولوژیهای توسعه نرمافزار است که با قدرت سرمایهگذاری شده توسط افراد کار میکند و بسیار سبک و منعطف است.»
رویکرد کریستال انتخاب خوبی برای تیمهایی است که بهطور مکرر ارتباط برقرار میکنند و بدون دخالت روزانه مدیریت بالاتر، همکاری دارند. این روش به تیمهای چابک بیتجربه توصیه نمیشود.
حالا که صحبت از برنامهریزی شده، خوب است که در اینجا فرصت را غنیمت شماریم و در رابطه با یکی از روشهای جدید برنامهریزی که شاید اسمش هنوز به گوشتان نخورده، صحبت کنیم. این قسمت خیلی به درد دانشجویانی میخورد که مخاطب ما هستند؛ البته این نوع برنامهریزی چه در کار و چه برای اهداف تحصیلی و درسی میتواند مفید باشد.
روش برنامه ریزی نویل مدورا یکی از سادهترین و در عین حال کاربردیترین روشهای برنامهریزی است که بیشتر بر روی چشمانداز کوتاهمدت تمرکز دارد. مدورا به همه افراد از یک نوجوان محصل گرفته تا یک مدیر بالا رتبه در یک شرکت تجاری، کمک میکند تا به اهدافی که دارند با موفقیت دست پیدا کنند.
۴ مرحله اساسی برای برنامهریزی نِویل مدورا باید برداشته شود که از قرار زیر است:
۱) مشخص کردن تمام وظایف برای یک روز؛
۲) اولویتبندی کارها و نوشتن آنها بر اساس اهمیت؛
۳) تغییر دادن ترتیب اولویتها در ابتدای روز (ممکن است گاهی برحسب شرایطی نیاز باشد که اولویتها تغییر کنند)؛
۴) کامل کردن کارها تا پایان روز.
حتما الان به این فکر میکنید که همه ما این موارد را میدانستیم و براساس همین اصول برنامهریزی میکردیم! درست است که این روش تا حدودی در وجود همه ما ریشه دوانده و بسیار ساده است؛ اما بسیار مهم است که دقیق و کامل اجرا شود و قبل از آن، همه کارها با دقت و وضوح نوشته شوند. مطمئن باشید که نوشتن برنامهها و تعیین اولویتها بین آنها به شما کمک زیادی میکند تا ذهن خود را متمرکز کنید.
با این روش میتوانید اهداف بزرگ خود را به پارتهای کوچک تقسیم کرده و برای هر پارت مشخص، از روش برنامه ریزی نویل مدورا استفاده کنید. بعد از مدتی که به این برنامه پایبند میمانید، خواهید دید که چقدر ساده توانستهاید کارهای بزرگی را به اتمام برسانید و حتی به آرزوهای بزرگ خود دست یابید.
این روش شاید دقیقا مثل متدهای چابک نباشد؛ ولی دور از آن هم نیست و شما در این روش مثل چابک میتوانید در چرخهای یک روزه، یکسری وظایف را انجام دهید و در حین فرآیند هم منعطف باشید و با تغییر الویتها، خود را سازگار کنید. حتما یکبار هم که شده این روش را امتحان کنید.
توسعه کسبوکار، در حال تبدیل شدن به یک زمین بازی غیرقابل پیشبینی است؛ درست مانند توسعه نرمافزار. بنابراین چالش اکنون این است که چرا متدولوژیهای Agile را در مدیریت فرآیند کسبوکار پیاده نمیکنیم؟ همه این را میدانیم که چقدر روشهای چابک قابل انطباق هستند و امکان تصمیمگیری سریع و تاثیر فوری بر توسعه کسبوکار را فراهم میکنند. چابکی راز موفقیت پروژهها در محیطهای پیچیده و غیرقابل پیشبینی امروزی است.
تیمهای توسعه محصول، استارتاپها، تحلیلگران و برنامهنویسان و واحدهای تحقیق و توسعه و … همه میتوانند از دورهای که آکادمی همراه تحت عنوان مبانی چابک تدارک دیده، بهره ببرند تا بتوانند سازگاری بیشتری با شرایط پیشامده داشته باشند و درصد موفقیت خود را افزایش دهند.
منابع:
این روزها مرز بین نقشهای مختلف در دنیای تکنولوژی آنقدر باریک شده که حتی افراد حرفهای هم گاهی نمیدانند دقیقاً مدیر محصول کیست و چه کسی مدیر محصول نیست. با اینکه مقالات بسیار زیادی درباره وظایف مدیر محصول، مسیر شغلی، درآمد و مهارتهای مورد نیاز مدیر محصول منتشر شده اما هنوز برای خیلیها این سؤال […]
در سالهای اخیر، هوش مصنوعی پیشرفتهای زیادی داشته است، اما جدیدترین پروژه ایلان ماسک به نام هوش مصنوعی گروک یا همان Grok AI وعدهای برای تغییر چشمانداز این حوزه است. هوش مصنوعی گروک grok یک دستیار هوش مصنوعی است که توسط xAI (شرکت ایلان ماسک) توسعه یافته و بهطور عمیق با پلتفرم X (که قبلاً […]
در بازار جذب و استخدام مدرن، داشتن مدارک تحصیلی معتبر و تخصصهای فنی فقط بخش کوچکی از داستان موفقیت و جلب توجه کارفرماست. کارفرمایان به دنبال افراد هستند که علاوه بر دانش تخصصی، تواناییهای نرم و ویژگیهای شخصی برجستهای داشته باشند که آنها را از دیگر متقاضیان متمایز کند. پس بنابراین اگر میخواهید در مصاحبههای […]
در دنیای امروز، ظهور دستیارهای همهکارهی جدید مبتنی بر هوش مصنوعی مثل دیپسیک ( DeepSeek ) یا چتجیپیتی ( ChatGPT ) به یکی از داغترین موضوعات روز تبدیل شده. طوری که شاید به نظر برسد پیشرفت و دگرگونیهای انقلابی این فناوری به دنیای فیلمهای علمیتخیلی تعلق دارد، اما واقعیت این است که هوش مصنوعی در حال حاضر […]
در دنیای رقابتی امروز، آگاهی و درک چرخه عمر محصول (Product Life Cycle) نهتنها یک مزیت، بلکه ضرورتی انکارناپذیر برای هر کسبوکاری محسوب میشود که به دنبال ماندگاری و رشد در بازار است. چرخه عمر محصول، نقشهای از سفر یک محصول را ترسیم میکند؛ از لحظه تولد و معرفی به بازار تا اوجگیری، بلوغ و […]
کارآموزی یکی از مهمترین گامها برای ورود به دنیای حرفهای کار است. چرا که این دورهها برای افرادی طراحی شدهاند که میخواهند مهارتهای عملی خود را تقویت کرده و تجربه کاری واقعی به دست آورند. اما با اینکه تجربه کارآموزی یک فرصت طلایی به شمار میرود، در بسیاری از موارد با مشکلاتی نیز همراه است […]
آکادمی همراه اول با هدف تربیت، توسعه و توانمندسازی نیروی انسانی در اکوسیستم دیجیتال در تابستان ۹۹ آغاز به کار کرده است. آکادمی به پشتوانهی تجربهی آموزش و توسعهی نیروی انسانی همراهاول میکوشد نیازهای آموزشی عمومی، تخصصی و شکاف میان تحصیلات آکادمیک و فضای کار بابرگزاری مسیرهای شغلی از جمله هوش مصنوعی، تحلیل گر داده ، کارشناس محصول و … پوشش دهد.