در دنیای امروز یکی از عوامل بقا و پیشرفت سازمانها «چابکی» آنها است. در این محیط سازمانها باید ضمن حفظ موقعیت خود، بیشترین منفعت را از تغییرات کسب کرده و بتوانند پیشرفت کنند. روش های چابک سازی سازمان از جمله راهکارهای رسیدن به این اهداف است.
پیشتر گفتیم متدولوژی Agile مجموعه روشهایی است که باعث میشود نرم افزار تولید شده با نیازهای مشتریان کاملا مطابقت داشته باشد. شما میتوانید در مطلب «همه چیز درباره سیستم مدیریت چابک» به طور مفصل سیستم Agile و ویژگیهای آن آشنا شوید.
در این روش محصولات به صورت فازبندی شده به مشتریان تحویل داده میشوند. در واقع مشتری در طول مدت اجرای پروژه، با تیم کاملا در ارتباط است.
در این مطلب مدل های فرایند چابک و روش های چابک سازی سیستمها را بررسی خواهیم کرد.
عناصر اصلی متدولوژی چابک چیست؟
روش های چابک توسعه نرم افزار، اجزا و گامهای متعددی دارد. در ادامه متدها و روش های افزایش چابکی در سیستم Agile را معرفی و بررسی خواهیم کرد.
اسکرام (scrum)
یکی از محبوبترین و پرکاربردترین چارچوبها برای استفاده از روش های چابک، متد اسکرام است. این روش از همان ابتدا برای تیمهای توسعه نرم افزار طراحی شد. اسکرام به تیمها کمک میکند روی موضوعات مختلف به خوبی متمرکز شوند و آنها را اولویتبندی کنند. همچنین این روش برای نشان دادن واکنش سریع به شرایط، انعطافپذیری لازم را دارد.
اسکرام، 3 قانون کلی دارد.
- خودسازماندهی
تیمها با استفاده از خودسازماندهی میتوانند ارزشهای بیشتری عرضه کنند و موفقتر باشند.
- چارچوب بندی زمان
تقریبا در تمامی عناصر اسکرام، راهنماها و محدودیتهایی برای زمانبندی پروژه وجود دارد.
- پیشرفت مداوم
با استفاده از اسکرام میتوانید مطمئن باشید تیم شما به طور مستمر روند گردش کار خود را بهبود میبخشد.
به طور کلی، متد اسکرام سعی میکند از مهیا بودن شرایط لازم برای انجام وظایف افراد مطمئن شود، برگزاری جلسات را تسهیل کند و مراقب اجرای پروژه در مسیر مطلوب باشد. در واقع میتوانید اسکرام را مسئول موفقیت عملیاتی پروژه در نظر بگیرید.
اگر میخواهید راجع به اسکرام بیشتر بدانید، مطلب اسکرام چیست را بخوانید.
برنامه ریزی اسپرینت (Sprint)
اسکرام، محصولات و خدمات بزرگ را به بخشهای کوچک تقسیم میکند. این قسمتهای کوچک میتوانند در یک بازه زمانی کوتاه به وسیله تیم توسعه محصول، تکمیل شوند. این بازههای زمانی در اسکرام، اسپرینت نام دارد. در واقع اسپرینتها هسته اصلی اسکرام را تشکیل میدهند.
بهتر است قبل از هر چیز برای تصمیمگیری درباره مدت زمان Sprint ها یک جلسه برگزار کنید، چرا که تعیین طول زمانی هر اسپرینت مهمترین کار شما است.
این زمان معمولا بین یک تا سه هفته است. اگر کمتر از یک هفته باشد، باید هزینه زیادی بپردازید و اگر بیشتر از سه هفته باشد، انجام برنامه ریزی برای آن بسیار سخت و زمانبر خواهد بود. در گام بعدی باید کارهایی که در طول اسپرینتها انجام میدهید را مشخص کنید. برای این منظور کافی است به backlog خود مراجعه کرده و کارهایی را انتخاب کنید که از یک سو بیشترین ارزش را دارند و از سوی دیگر، میتوانید آنها را در مدت زمان در نظر گرفته شده انجام دهید.
خوب است بدانید بک لاگ (backlog) محصول، یک لیست رتبهبندی شده از تمام چیزهای مورد نیاز (فیچر، رفع باگ، تغییر فیچرهای موجود و…) برای محصول است.
اگر به تازگی قصد استفاده از روش اسکرام را دارید، بهتر است کار را با sprint های طولانیتر آغاز کنید تا حجم کار شما را کلافه و سردرگم نکند. مدتی بعد که در این روند تجربه بیشتری پیدا کردید، میتوانید sprint ها را کوتاهتر کنید.
کانبان (Kanban)
کانبان، از دیگر روش های چابک سازی سیستم ها و نوعی رویکرد برای مدیریت گردش کار است که به شما کمک میکند فعالیتهای خود را تصویرسازی کنید و به این ترتیب بهرهوری را به حداکثر برسانید. این روش، با تقسیم پروژه به بخشهای کوچکتر، برخورد با هر مرحله را بهبود میبخشد و همواره بر همکاری مداوم و بهبود مستمر تاکید میکند.
اصول روش کانبان
- بر روی کارهایی که اکنون در حال انجام آنها هستید تمرکز کرده و فرآیندها را به طور کامل بررسی و درک کنید.
- بررسی کنید که چگونه میتوانید در طول زمان، به آرامی فرآیندهای موجود را تغییر دهید. بهتر است از اعمال تغییرات سریع خودداری کنید.
- نقشها را حفظ کنید. سیستم کانبان بر کار با نقشهای قبلی تیم شما تاکید میکند.
- رهبری را تشویق و حمایت کنید. نوآوری و ایدههای خلاقانه باید در همه سطوح وجود داشته باشد. کارمندان را تشویق کنید که بدون توجه به نقش و سمت خود، همواره به عنوان یک رهبر عمل کنند.
اسکرام بان (Scrumban)
اسکرام بان ترکیبی از روشهای اسکرام و کانبان است. این روش مانند اسکرام پروژه را به بخشهای کوچکتر تقسیم میکند و مانند کانبان دارای گردش کار بصری است.
- بخش اسکرام در Scrumban
اسکرام بان با تقسیم پروژه به چرخههای کوچکتر، روند سازگاری اسکرام با تغییرات پروژه را تسریع میکند. در اسکرام بان این چرخهها، تکرار (iterations) نامیده میشود. در چارچوب اسکرام بان ابتدا باید یک جلسه برنامه ریزی داشته و یک لیست ایجاد کنید. این لیست باید شامل مواردی باشد که باید در طول پروژه حل شوند. با هر چرخه، تعدادی از این موارد را کامل میکنید تا جایی که دیگر موردی باقی نماند.
- بخش کانبان در Scrumban
اسکرام بان، برای بهبود فرآیندها، رویکرد بصری کانبان را در پیش میگیرد. به بیان دیگر، بخش مهم و اساسی روش کانبان، تجسم جریان فعالیت پروژه شما برای همگام شدن با پیشرفت هر کار است.
متدولوژی XP (Extreme Programming)
یکی از روش های چابک توسعه نرم افزار است که هدف آن افزایش کیفیت نرم افزار و پاسخگویی به نیازهای در حال تغییر کاربران است.
متد XP روشی کارآمد، انعطافپذیر، کم خطر، علمی و قابل پیش بینی برای تولید یک نرم افزار است. به بیان دیگر، این روش برای پاسخگویی به نیازهای خاص توسعه نرم افزار به وسیله تیمهای کوچک، در مواجهه با نیازهای مبهم و تغییر یافته، طراحی شده و توسعه یافته است.
روش XP ارزشها و اصولی را برای هدایت رفتار تیم تعریف میکند و انتظار دارد با اجرای آنها تیم به مرحله خودسازماندهی برسد. XP شامل نوشتن تستهای واحد قبل از برنامه نویسی است. تستهای واحد به صورت خودکار انجام میشوند و نقصها را به سرعت برطرف میکنند. بنابراین هزینهها را کاهش میدهند. همچنین شروع کار با یک طراحی ساده که دارای ویژگیهای موجود و در صورت لزوم دارای امکان طراحی مجدد باشد، خواهد بود.
متد ناب (Lean)
متدولوژی Lean نوعی سیستم فکری با رویکرد بهبود تولیدات است که اساس آن بر تولیدات ناب بنا نهاده شده است. در سیستم Lean باید به این موضوع فکر کنیم که چطور میتوانید به طور مستمر برای مشتری ارزشآفرینی کرده، هزینهها را کاهش داده و زوائد را از بین ببریم. سه عامل «ارزش، هزینه و تلفات» از عوامل کلیدی تولید هستند که کنترل یا عدم کنترل آنها منجر به پیروزی یا شکست کسب و کار شما خواهد شد. بنابراین در این روش، هدف اصلی، ارزش آفرینی مستمر با کمترین هزینه و همچنین به حداقل رساندن تلفات مالی و زمانی است.
روش ناب مبتنی بر 3 اصل کلی است:
- ارائه ارزش از دید مشتری
- حذف زوائد
- پیشرفت مداوم
متد PMBOK
عبارت PMBOK مخفف Project Management Body Of Knowledge و به معنی دانش مدیریت پروژه است. این روش معروفترین استاندارد جهانی در مدیریت پروژه و رایجترین معیار برای ارزیابی سیستمهای مدیریت پروژه و روش های چابک به شمار میرود.
استاندارد PMBOK، برای مدیریت پروژه42 فرآیند را معرفی میکند. برخی از این فرآیندها اختیاری و اکثر آنها اجباری هستند. این 42 فرآیند به دو شکل دستهبندی میشوند تا درک آنها برای مخاطب سادهتر باشد. یک دستهبندی بر طبق گروههای فرآیندی و دیگری بر اساس حوزههای دانش است.
گروههای فرآیندی
این بخش، فرآیندها را بر اساس توالی مفهومی آنها دسته بندی میکند. در PMBOK گروههای فرآیندی به 5 دسته تقسیم میشوند:
- گروه فرآیندی برنامهریزی
- گروه فرآیندی اجرا،
- گروه فرآیندی نظارت و کنترل
- گروه فرآیندی خاتمه
حوزههای دانش: این بخش فرآیندها را بر اساس نوع مهارتی که نیاز دارند، تقسیم میکنند. حوزههای دانش عبارتند از:
- حوزه دانش مدیریت یکپارچگی پروژه
- حوزه دانش مدیریت گستره پروژه
- حوزه دانش مدیریت زمان پروژه
- حوزه دانش مدیریت هزینه پروژه
- حوزه دانش مدیریت کیفیت پروژه
- حوزه دانش مدیریت منابع انسانی پروژه
- حوزه دانش مدیریت ارتباطات پروژه
- حوزه دانش مدیریت ریسک پروژه
- حوزه دانش مدیریت تدارکات پروژه
تیم مدیریت پروژه باید در همان ابتدای کار فرآیندهایی که برای پروژه لازم هستند را مشخص کرده و تعیین کند هر کدام از آنها به چه صورت در پروژه اجرا شوند. هر چند در این متد برای هر فرآیند راهنماییهای زیادی وجود دارد، اما این راهنماییها برای عملیاتی ساختن آنها کافی نیست و اجرای کامل یک سیستم مدیریت پروژه نیاز به تجربه و دانش تکمیلی دارد.
در این متد، اعتقاد بر این است که مدیر پروژه خود را درگیر مسائل تخصصی پروژه نکند، بنابراین مدیریت پروژه از جنبههای تخصصی پروژه جدا میشود.
و در انتها…
گفتیم روش های چابک سازی سیستم ها، گروهی از متدهای توسعه نرم افزار است که در آن راهکارها از طریق خودسازماندهی و همکاری میان تیمهای مختلف انجام میشود. بنابراین کسب و کارها برای تولید محصولات مورد قبول و برنامههای یکپارچه، به استفاده از روش های چابک نیاز دارند.