کانبان چیست؟
کانبان، چارچوب مصور و محبوبی است که برای توسعه نرمافزارها بر مبنای فرهنگ دوآپس و چابک استفاده میشود. این چارچوب مبتنی بر ارتباطات شفاف و لحظهای میان اعضا یک تیم است. در متدولوژی فوق، آیتمهای کاری بهصورت بصری روی تابلو کانبان(Kanban Board) نشان داده میشوند و به اعضا تیم اجازه میدهد هر لحظه شاهد پیشرفت بخشهای مختلف یک پروژه باشند. در واقع کانبان یک سیستم گردش اطلاعات است که روند گردش کارها را بهخوبی ترسیم کرده و نشان میدهد یک پروژه و بخشهای مرتبط با آن در چه وضعیتی قرار دارند. امروزه، نهتنها تیمهای نرمافزاری، بلکه صنایع مختلف از کانبان برای پیشبرد هرچه دقیقتر پروژهها استفاده میکنند. در شرایطی که متدولوژیهایی مثل چابک و دوآپس از الگوهای توسعه محبوب بهشمار میروند، اما به نسبت کانبان جدیدتر هستند. متدولوژی کانبان قدمتی بیش از 80 سال دارد. در اواخر دهه 1940، شرکت تویوتا شروع به بهینهسازی فرآیندهای مهندسی خود بر اساس مدلی کرد که سوپرمارکتها برای موجودی قفسههای خود از آن استفاده میکردند. بهطور معمول، سوپرمارکتها به اندازهای محصول در قفسهها میگذارند که پاسخگوی تقاضای مصرفکننده باشد؛ شیوهای که جریان بین سوپرمارکت و مصرفکننده را بهینه میکند. از آنجایی که سطح موجودی با الگوهای مصرف مطابقت دارد، سوپرمارکت با کاهش مقدار موجودی مازاد که باید در هر بازه زمانی مشخص در قفسهها نگهداری شوند، به مدیریت موجودی میپردازند. به بیان دقیقتر، تعادلی میان عرضه و تقاضا بهوجود میآورند. در چنین شرایطی، سوپرمارکتها مطمئن میشوند که محصول مورد نیاز مصرفکننده همیشه در انبار موجود است.
تویوتا از همین سیستم در بخشهای تولیدی کارخانه خود استفاده کرد تا مطمئن شود میزان مواد موجود در انبار با نیاز واقعی تناسب دارد. روش کار به این صورت بود که برای برقراری ارتباطات لحظهای بخشهای مختلف کارخانه مثل بخش تولید کارخانه با تامینکنندگان، کارکنان به یک کارت که معروف به کانبان بود تجهیز شدند. هنگامی که محفظههای مربوط به مواد مصرفی در خط تولید خالی میشد، یک کانبان به انبار فرستاده میشد که در آن مواد مورد نیاز، مقدار دقیق این مواد و غیره توضیح داده شده بود. انبار هم مواد موردنیاز را آماده میکرد و بعد برای بخش تولید کارخانه ارسال میکرد. در ادامه، کانبان خود را برای تامینکننده ارسال میکرد. تامینکننده هم مواد را آماده و برای انبار ارسال میکرد. در ادامه، با مکانیزه شدن این فرآیند از فناوری سیگنالدهی استفاده شد تا روند انجام کارها شتاب بیشتری پیدا کند و تاخیر در آمادهسازی و تحویل مواد خام به کمترین میزان ممکن برسد.
کانبان در خدمت تیمهای نرمافزاری
امروزه، تیمهای توسعه نرمافزار چابک میتوانند با تطبیق مقدار کار در حال انجام WIP سرنام Work in Progress با ظرفیت تیم، از همان تکنیک برای انجام سریعتر کارها بهره ببرند. رویکرد فوق باعث میشود تا تیمها در طول چرخه توسعه به قابلیتهای ارزشمند مثل انعطافپذیری در برنامهریزی، ارائه سریع نمونههای اولیه یک محصول، وضوح بالا در انجام کارها و کیفیت بالای کدهایی که نوشته میشوند، دست پیدا کنند.
در حالی که اصول اصلی این چارچوب تاریخ انقضاء ندارد و تقریبا برای هر صنعتی قابل استفاده است، اما تیمهای توسعه نرمافزار به موفقیت خاصی در این زمینه دست یافتهاند. تیمهای توسعه نرمافزار بهخوبی متوجه شدهاند با درک اصول اولیه، هزینه تولید نرمافزارها به میزان قابل توجهی کاهش پیدا میکند. برخلاف پیادهسازی کانبان در بخش تولید کارخانه که شامل تغییراتی در فرآیندهای فیزیکی و تامین مواد مهم بود، تنها وسیله فیزیکی که تیمهای نرمافزاری به آن نیاز دارند، تابلو اعلانات و کارت است که میتوانند مجازی باشند.
تابلو اعلانات کانبان
کار تیمهای کانبان حول محور تابلوی اعلانات کانبان میچرخد، ابزاری که برای تصویرسازی کار و بهینهسازی جریان کار بین تیم استفاده میشود. در حالی که تابلوهای فیزیکی در میان برخی از تیمها محبوب هستند، اما تابلوهای مجازی بهدلیل قابلیت ردیابی، تعامل آسانتر و قابلیت دسترسی از مکانهای مختلف، یک ویژگی مهم و حیاتی در ابزارهای توسعه نرمافزار چابک بهشمار میآیند.
صرفنظر از فیزیکی یا دیجیتالی بودن تابلوی اعلانات یک تیم، وظیفه اعضا تیم این است که تضمین کنند کارها تصویرسازی شده و مطابق با برنامهریزی انجامشده در حال انجام است و همه موانع و مشکلات بلافاصله شناسایی و برطرف میشوند. تابلوی کانبان اولیه شامل جریان کار سه مرحلهای، شامل کارهایی که باید انجام شوند (To Do)، کارهای در حال انجام (IN Progress) و کارهای انجامشده (Done) است. با این حال، بسته به اندازه، ساختار و اهداف یک تیم، جریان کار را میتوان بر اساس فرایند منحصربهفرد هر تیم، آماده کرد.
شیوه کانبان، بر شفافیت کامل کار و ارتباطات لحظهای تاکید دارد. به همین دلیل، تابلوی اعلانات کانبان تنها منبع معتبری است که اعضا تیم به آن دسترسی دارند. شکل ۱ نمونهای از این تابلو را نشان میدهد.
شکل 1
کارتهای کانبان
در زبان ژاپنی، کانبان بهمعنی نشانه بصری است. در مورد تیمهای کانبان، هر آیتم کاری بهعنوان یک کارت جداگانه روی تابلو نمایش داده میشود.
هدف اصلی از نمایش کار بهشکل یک کارت در تابلوی کانبان، این است که اعضای تیم بتوانند پیشرفت کار را از طریق روند آن بهشکل بصری دنبال کنند. کارتهای کانبان شامل اطلاعات مهم و حیاتی در مورد یک کار خاص هستند و به تمام افراد تیم نشان میدهند چه کسی مسئول انجام کار است و توضیح مختصری از کار در حال انجام و تخمینی از مدت زمان انجام آن کار ارائه میدهد. کارتهای روی تابلوی کانبان مجازی اغلب شامل اسکرینشات و جزئیات فنی هستند که برای گیرنده آن ارزشمند است. این که اعضای تیم بتوانند وضعیت هر آیتم کاری را در زمان معین به همراه تمام جزئیات مرتبط مشاهده کنند، باعث افزایش تمرکز شده و قابلیت ردیابی کامل و شناسایی سریع موانع را تضمین میکند.
فواید کانبان
کانبان یکی از محبوبترین شیوههای توسعه نرمافزار است که امروزه مورد قبول تیمهای چابک است. کانبان، امتیازات بیشتری را برای برنامهریزی کاری و توان عملیاتی تیم در هر اندازهای ارائه میدهد.
انعطافپذیری در برنامهریزی
تیم کانبان فقط روی کاری متمرکز میشود که بهطور فعال در حال پیشرفت است. هنگامی که تیم یک آیتم کاری را تکمیل میکند، آیتم بعدی را از بالای لیست انتخاب میکند. این لیست که بکلاگ (Back Log) نام دارد، در واقع لیست رتبهبندیشده از هر آن چیزی است که باید در محصول گنجانده شود و تنها به نیازمندیهای ضروری جهت هر تغییر در محصول اشاره دارد. مالک محصول میتواند بدون ایجاد اختلال در عملکرد تیم، اولویتبندی انجام کارها را تغییر دهد، زیرا تغییرات تاثیری روی کارهای فعلی که تیم انجام میدهد، نخواهد گذاشت. مالک محصول، مسئول بکلاگ محصول است که این مسئولیت شامل محتواسازی، قابلیت دسترسی و رتبهبندی اقلام میشود. تا زمانی که مالک محصول، مهمترین آیتمهای کاری را در بالای بکلاگ نگه میدارد، تیم توسعه موظفه است حداکثر تلاش برای پیشبرد هرچه بهتر وظایفی را که اولویت بالایی دارند انجام دهد.
نکته مهمی که باید در مورد کانبان به آن دقت کنید این است که همیشه هنگام بررسی تغییرات در بکلاگ، تیم توسعه را در جریان امور قرار دهید. تایید تغییرات با مشارکت تیم مهندسی همیشه این اطمینان خاطر را میدهد که هیچ یک از اعضا تیم غافلگیر نخواهند شد.
چرخههای زمانی کوتاهشده
زمان، یک معیار کلیدی برای تیمهای کانبان است و به مدت زمانی اشاره دارد که طول میکشد تیم وظیفه محوله را به سرانجام برساند. یعنی از لحظه شروع تا لحظه ارسال و به سرانجام رساندن کار را مشخص میکند. با بهینهسازی و تخصیص درست زمان برای انجام هر وظیفه، تیم میتواند با اطمینان خاطر، زمان تحویل کار را پیشبینی کند.
علاوه بر این، همپوشانی مجموعه مهارتها میتواند زمان تکمیل وظایف را کوتاهتر کند. اگر تنها یک نفر مجموعه مهارتها را در اختیار داشته باشد، آن فرد به گلوگاهی در جریان انجام کارها تبدیل میشود. بنابراین، تیمها از شاخصهای ارزیابی مهمی مثل بررسی کدها، اشتراکگذاری دانش و مشاوره در جهت انجام بهتر کارها محروم میشوند. به همین دلیل، کانبان روی مهارتهای مشترک تاکید خاصی دارد. به این معنی که اعضای تیم میتوانند کارهای ناهمگون انجام دهند تا بهشکل بهتری از زمان استفاده کنند. در چنین شرایطی، اگر گلوگاهی در انجام کارها ایجاد شود، کل تیم میتوانند روی آن متمرکز شوند تا روال انجام کارها در مسیر ازقبلتعیینشده قرار بگیرد. بهعنوان مثال، آزمایش تنها توسط مهندسان تضمین کیفیت انجام نمیشود و توسعهدهندگان نیز درگیر این کار خواهند بود. در چارچوب کانبان، این مسئولیت کل تیم است که مطمئن شوند کار در طول فرآیند بهدرستی به سرانجام میرسد.
تنگناهای کمتر
چندوظیفگی، عملکرد را به میزان قابل توجهی کاهش میدهد. هر چه تعداد آیتمهای کاری که باید در مدت زمان معین به سرانجام برسند بیشتر باشد، تعویض زمینه (context switching) بیشتر میشود و مانع تکمیل درست کارها میشود. به همین دلیل است که یکی از معیارهای کانبان، محدود کردن میزان کار در حال انجام (WIP) است. محدود کردن میزان کار در حال انجام مانع بروز مشکل گلوگاهها و انباشتگیها در فرآیند کار تیم میشود که فقدان تمرکز را بههمره دارد. محدود کردن انجام کارها، راهکار خوبی برای نشان دادن مجموعه مهارتهای افراد است. بهعنوان مثال، یک تیم نرمافزاری معمولی ممکن است چهار حالت گردش کار داشته باشد، کارهایی که باید انجام شوند، کارهایی که در حال انجام هستند، کدهایی که باید بررسی شوند و کارهایی که انجام شدهاند. آنها میتوانند محدودیت انجام کارها را برای برخی از اعضا تیم روی مقدار 2 تنظیم کنند تا افراد تنها مسئولیت بررسی کدها را بر عهده داشته باشند. ممکن است این محدودیت ناچیز بهنظر برسد، اما دلیل خوبی برای آن وجود دارد. توسعهدهندگان اغلب ترجیح میدهند بهجای اینکه وقت خود را صرف بررسی کار دیگران کنند، کد جدید بنویسند. محدودیت در انجام کارها، تیم را تشویق میکند دقت نظر ویژهای به انجام کارها داشته باشند و قبل از ارائه گزارش نهایی خود (Code Review)، یکبار دیگر کارها را مرور کنند.
معیارهای بصری
یکی از ویژگیهای مهم معیارهای بصری، تمرکز بر بهبود مستمر عملکرد و اثربخشی تیم با هر بار تکرار کار است. نمودارها، یک مکانیزم بصری برای تیمها فراهم میکنند تا به آنها اطمینان دهند در حال پیشرفت هستند. وقتی تیم بتواند دادهها را ببیند، تشخیص تنگناها در فرآیندها و حذف آنها آسانتر میشود. دو معیار رایجی که تیمهای کانبان از آن استفاده میکنند، نمودارهای کنترلی و نمودارهای جریان تجمیعی(cumulative flow diagram) هستند. یک نمودار کنترل، مدت زمان موردنیاز برای انجام یک کار و میانگین انجام کارها را نشان میدهد. در اینجا، هدف نهایی، کاهش مدت زمانی به سرانجام رساندن یک فرآیند است. کاهش میانگین زمان انجام کارها در نمودار کنترل، بیانگر موفقیت است (شکل 2).
شکل 2
نمودار جریان تجمیعی، تعداد مسائل و مشکلات را در هر حالت نشان میدهد. در این حالت، تیم میتواند با مشاهده افزایش تعداد مشکلات در هر وضعیت خاص، موانع را تشخیص دهد. موانع و مشکلات در هر وضعیت خاص، باعث بروز تنگناهای مختلفی مثل ازدسترفتن یکپارچگی محصول یا ساخت ماژولی با کیفیت پایین میشود. علاوه بر این، نمودار جریان تجمیعی مشکلات مرتبط با کارهای در حال انجام یا در حال بررسی را نشان میدهد (شکل 3).
شکل 3
تحویل مستمر
تحویل مداوم یا مستمر (CD)، شیوهای است که مشتریان یا کاربران دائما در جریان پیشرفت یک محصول قرار میگیرند. به بیان دقیقتر، نسخههای مختلفی از یک محصول به آنها نشان داده میشود. ادغام پیوسته (CI)، به شیوه ساخت خودکار و آزمایش کدها بهشکل تدریجی در طول زمان اشاره دارد. دو اصطلاح «تحویل پیوسته» و «ادغام پیوسته» (CI/CD) در کنار یکدیگر ماهیت یکپارچهای را پدید میآورند که به تیمهای توسعه و بهویژه تیمهای دواپس کمک میکند تا ضمن ساخت سریعتر نرمافزارها، کیفیت بالای کدهایی را که نوشته میشوند تضمین کنند.
جالب آنکه، کانبان و تحویل مداوم به بهترین شکل یکدیگر را کامل میکنند، زیرا هر دو تکنیک بر تحویل به موقع (و تکبهتک) کارها تمرکز دارند. هر چه تیم سریعتر بتواند محصول جدید و نوآورانه را روانه بازار کند، محصول با استقبال خوبی از سوی مصرفکنندگان روبهرو میشود و مزیت رقابتی خود نسبت به رقبا را حفظ خواهد کرد. موضوع مهمی که تیمهای کانبان باید بهشکل دقیق روی آن تمرکز کنند، بهینهسازی جریان کار همسو با نیازهای مشتریان است.
چه زمانی باید از کانبان استفاده کرد؟
همهمنظوره بودن کانبان در سادگی آن نهفته است. کانبان با قابلیت ادغام شدن با جریان فعلی کارها اجازه میدهد بهشکل دقیقی نقشها و مسئولیتها را میزان اعضا تیم تقسیم کنید. همین مسئله باعث شده تا امکان استفاده از متدولوژی فوق به غیر از صنعت فناوری اطلاعات، در حوزههای دیگر وجود داشته باشد. بهطور مثال، یک مدیر تیم محتوا میتواند از کانبان بهعنوان ابزاری برای هدایت بهتر اعضا تیم استفاده کند. بهطور معمول، مدیران پروژه از کانبان برای پروژههایی استفاده میکنند که همواره احتمال بروز موقعیتهای غیرقابل پیشبینی در آنها وجود دارد.
بهطور کلی، اگر اولویتهای کاری شما بهسرعت تغییر میکند و کارهای اضطراری و اختصاصی ممکن است هر زمانی رخ دهند، کانبان بهترین گزینه برای مدیریت شرایط غیرمنتظره است، زیرا این امکان وجود دارد که در هر مرحلهای، به کارهای اضافی رسیدگی کنید.
اصول اصلی و بنیادین کانبان
سیستم کانبان بر پایه اصول و شیوههای مشخص استوار است. اصول اصلی کانبان بهشرح زیر است:
ابتدا به سراغ جریان کار فعلی بروید
چارچوب کانبان بر ایجاد تغییرات کوچک و تدریجی تاکید دارد. بنابراین، تیم باید کار خود را با جریانکار موجود متمرکز کند و بهطور مستمر روند انجام کارها را بهبود بخشد.
وظایف موجود را محدود کنید
برای تیمها مهم است محدودیتهایی را که دارند درک کنند و بر همان اساس، وظایف محدود و مشخصی را انجام دهند. بر عهده گرفتن کارها بیشتر از حد توانایی، تنها باعث اتلاف وقت و تاثیر منفی بر پروژه میشود.
به نقشها و مسئولیتهای موجود احترام بگذارید
یکی از دلایل مهم موفقیت کانبان این است که سازمانها را ملزم نمیکند تا فرهنگ کار سازمانی را بهطور کامل تغییر دهند. بسیاری از سازمانها در مقابل روشهای مدرن مقاومت میکنند، زیرا با تغییرات بنیادین احساس راحتی نمیکنند. کانبان اجازه میدهد فرهنگ فعلی سازمانی را حفظ کنید، اما کارها را بهشیوه متفاوتی انجام دهید تا عملکرد بهبود پیدا کند.
به مدیریت در همه سطوح احترام بگذارید
در روشهای سنتی مدیریت پروژهها، برای انجام کوچکترین کارها نیاز به تایید مدیر پروژه است. کانبان آزادی عمل در تصمیمگیری به افراد میدهد. این امر باعث میشود تا مدیران لایقی پرورش پیدا کنند که حاضر هستند از اشتباهات خود درس گرفته و عملکرد خود را بهبود ببخشند.
اسکرام در مقابل کانبان
کانبان و اسکرام در برخی مفاهیم مشابه هستند، اما رویکردهای متفاوتی دارند. به همین دلیل، نباید این دو متدولوژی را با یکدیگر اشتباه گرفت. جدول زیر تفاوتهای این دو متدولوژی را نشان میدهد.
کلام آخر
برخی تیمها شاخصهای مطلوب و ایدهآل کانبان و اسکرام را در اسکرامبان (Scrumban) ترکیب میکنند. آنها نقشها و اسپرینتها با طول مدت ثابت را از اسکرام انتخاب میکنند و تمرکز را روی محدود کردن کارها و به سرانجام رساندن کارهای در دست اقدام در مدت زمان تعیینشده در کانبان قرار میدهند. با این حال، برای تیمهایی که تازه کار خود را با متدولوژی چابک آغاز کردهاند، پیشنهاد میشود قبل از استفاده از کانبان، دانش خود درباره این متدولوژی را افزایش دهند.
ماهنامه شبکه را از کجا تهیه کنیم؟
ماهنامه شبکه را میتوانید از کتابخانههای عمومی سراسر کشور و نیز از دکههای روزنامهفروشی تهیه نمائید.
ثبت اشتراک نسخه کاغذی ماهنامه شبکه
ثبت اشتراک نسخه آنلاین
کتاب الکترونیک +Network راهنمای شبکهها
- برای دانلود تنها کتاب کامل ترجمه فارسی +Network اینجا کلیک کنید.
کتاب الکترونیک دوره مقدماتی آموزش پایتون
- اگر قصد یادگیری برنامهنویسی را دارید ولی هیچ پیشزمینهای ندارید اینجا کلیک کنید.
نظر شما چیست؟