Lean در خدمت Agile

http://blog.irscrum.com/wp-content/uploads/2010/10/ninjasuit.jpg?w=300چشم بادامی ها یا مردمان خاور دور همیشه در همه بحث ها  در آسیا و کل دنیا زبان زد عام و خاص بوده اند به طوری که هم اکنون برتری آسیا نسبت به آفریقا فقط 3 کشور ژاپن ,  چین و کره می باشند. به عبارتی قاره کهن به داشتن این 3 کشور به خود می بالد حتی در محافل بین المللی  نماد آسیا چشم بادامی هایند  . حالا گذشته از سامورایی های ژاپنی ,  کونگ فو کاران چینی ,  فوتبالیست های کره ای ,  معبد شائولین ,  بروس لی و جکی چان و … ,   این مردمان همیشه مبدع سیستم های فکری و متدلوژی های زندگی بوده اند . سیستم های فکری آنها فقط در حوزه ورزش و یا زندگی نبوده است یعنی آنها فقط تای چی کار نمی کنند ,  بلکه تای چی را در صنعت به کار می گیرند . این مردمان بی ادعا در دنیا سیستم های تولیدی متعددی را بنا نهاده اند که Lean یکی از شاهکارهای تولیدی آنها می باشد .

Lean یک سیستم فکری با رویکرد روشهای بهبود تولید می باشد که اساس آن بر روی تولید ناب بنا نهاده شده است .  به طور کلی در Lean  در این فکر هستیم که چگونه به طور مستمر برای مشتری ارزش آفرینی کنیم و هزینه ها را کاهش دهیم و اتلافات را ازبین ببریم .در واقع تولید ناب در این قالب قابل تعریف خواهد بود که : در تولید ناب هدف اصلی ارزش آفرینی مستمر می باشد ,  البته ارزش آفرینی با هزینه کم و تلفات مالی و زمانی حداقل .

ارزش – هزینه – تلفات : اینها عوامل کلیدی در تولید می باشند که کنترل کردن و یا نکردن آنها منجر به پیروزی یا شکست صنعت خواهد شد . تفکر Lean اگر همراه سیستم “برنده/برنده” نباشد به درد نخواهد خورد به عبارتی باید در Lean سیستم “برنده/برنده” نهادینه شده باشد . در تولید دو رکن اصلی وجود دارد : تولید کننده و مصرف کننده . در سیستم غیر “برنده / برنده” تولید کننده یا مصرف کننده به فکر منافع خود هستند (“برنده/بازنده” یا “بازنده/برنده” یا “بازنده/بازنده”) . اگر سیستم فکری بر اساس “برنده/برنده” باشد این سیستم قادر به گرایش به سیستم تولید ناب یا Lean خواهد بود .

درسیستم “برنده/برنده” منافع همه ذینفعان باید برآورده شود : یعنی هم مصرف کننده و هم تولید کننده . منافع مصرف کننده در واقع ارزش های مستمری که در سیستم تولید ناب دریافت می کند می باشد و منافع تولید کننده هزینه کم و اتلاف منابع حداقلی می باشد . یعنی Lean خود یک سیستم “برنده/برنده” است بدلیل اینکه در اینجا هم منافع مشتری در نظر گرفته می شود و هم تولید کننده .

از اصلی ترین اصول Lean می توان به موارد زیر اشاره کرد :

  • از بین بردن اتلافات (Waste)
  • ایجاد کیفیت در ارزش آفرینی
  • خلق و کسب دانش

از بین بردن اتلافات

هر چیزی که ارزش آفرین نباشد و یا مانع ارزش آفرینی باشد جزو اتلافات حساب می شود و باید از بین برود . در عرصه توسعه نرم افزار موارد زیر می توانند جزو اتلافات باشند :

  • انجام کارها به صورت ناقص و ناتکمیل
  • امکانات و ویژگی های اضافی
  • دست به دست کردن های بی مورد و زیاد
  • Task Switching
  • تاخییر ها
  • Defects and bugs

ایجاد کیفیت در ارزش آفرینی

بی کیفتی در ارزش آفرینی باعث به وجود آمدن هزینه های اضافی و اتلاف منابع برای رفع مشکلات محصول بی کیفیت خواهد شد . پس Lean  برای جلوگیری از این موارد اصل ایجاد کیفیت در ارزش آفرینی را پیش بینی کرده است .  یعنی در طی تولید و از آغاز باید محصول با کیفیت تولید شود و نه اینکه محصول تولید شود و بعدا به آن کیفیت تزریق بشود  .

خلق و کسب دانش

برای ارزش آفرینی نیاز به سازمان ها و انسان های یادگیرنده داریم . سازمان و یا شخص یاد گیرنده کسی است که کاری را جز برای یاد گرفتن نکند . اگر ما در ارائه و یا تولید در فکر یادگرفتن بیشتر ارزش های مشتری باشیم ,  می توانیم محصولی با ارزش های مشتری تولید کنیم ,  می توانیم از تولید امکانات و ویژگی های اضافی جلوگیری نماییم ,  می توانیم در پروسه تولید بهبود به وجود آوریم و می تواینم هزینه ها را کاهش دهیم .بنابر این یکی از اصول Lean  کسب دانش در طی تولید می باشد .

ربط Agile و Lean چیست ؟

مطالبی که در بالا به آن اشاره شد ,  اشاره مختصری به بحث Lean بود و قابل ذکر است که قصد اصلی بنده آموزش خود بحث Lean نیست ( زیرا مقالات خوبی چه به انگلیسی و چه به فارسی در این باب نوشته شده است و دوستان می توانند به آنها مراجعه کنند) ,  قصد بنده تشریح ربط Agile و Lean است .

http://blog.irscrum.com/wp-content/uploads/2010/04/agile-pills.png?w=228&h=152همانطور که بیان شد بحث Lean مربوط به بحت تولید و یا Production می باشد در حالیکه ما در صنعت نرم افزار عملا توسعه یا Development  می کنیم و نه تولید (قبلا در همین باب مقاله ای نوشته شده است ) . با این حساب شاید به نظر برسد که Lean در بحث توسعه کاربردی ندارد !؟ نه اصلا اینگونه نیست . برای اینکه بتوان به تفکر Lean در محیط توسعه نرم افزار رسید می توان از تفکر Agile استفاده کرد .

Agile – Agile – Agile . دوستی می گفت ما هرچه به شما گفتیم چکار کنیم شما گفتی : Agile . این بار هم می گویم Agile .

در واقع یکی از پایه های محکم Agile همان Lean  می باشد . یعنی دوستانی که لطف کردند و بیانیه Agile را ساختند کاملا بر بحث Lean واقف بودند و کاملا بعضی از اصول Agile  مبتنی بر اصول Lean می باشد .

  • بالاترین اولویت ما رضایت مشتری از طریق تحویل به موقع و مداوم نرم افزار ارزشمند می باشد (اصول توسعه چابک )
  • در فواصل منظم , تیم برچگونگی موثرتر شدن تامل وتفکر می نماید و سپس تیم رفتار خود را بر اساس بازتاب این تفکر تنظیم و هم سو می نماید (اصول توسعه چابک )
  • تحویل نرم افزار کارکننده غالبا از چند هفته تا چند ماه یک بار انجام می شود که زمانبندی کوتاه تر ترجیح داده می شود (اصول توسعه چابک )
  • مشتریان و توسعه دهندگان باید هر روزه در طول پروژه با هم کار کنند(اصول توسعه چابک )

این موارد را می توان در دسته اصل خلق و کسب دانش Lean دسته بندی کرد .

  • توجه مداوم به برتری فنی و طراحی خوب باعث افزایش چابکی می شود(اصول توسعه چابک )
  • پروژه ها را بر روی افراد با انگیزه بنا کنید. محیط لازم را به آنها بدهید و از نیازهای آن ها پشتیبانی نمایید وبه آنها اعتماد نمایید تا کارها را انجام بدهند(اصول توسعه چابک )
  • حفظ اصل سادگی(اصول توسعه چابک )
  • بهترین معماری ها , نیاز مندی ها و طراحی ها از تیم های خود سازمانده پدید آور می شود(اصول توسعه چابک )

این موارد را نیز می توان در دسته های از بین بردن اتلافات (Waste) و ایجاد کیفیت در ارزش آفرینی دسته بندی کرد .

شاید یعضی از موارد که ذکر شد بی ربط به موضوع به نظر بیاید ولی اینطور نیست . خود تفکر Agile از روی یک سری تفکرات مانند Lean , Toyota way و از همه مهمتر تجربیات توسعه گران نرم افزار توسعه داده شده است . وجود تفکر Lean در داخل هسته ی Agile  کاملا مشهود است و کسانی که از Agile در محیط واقعی خود بهره جسته اند می توانند بر این موضوع صحه بگذارند که بعد از استفاده از این تفکر اتلافات آنها کم شده است – هزینه ها پایین تر آمده است – محصولاتشان با کیفیت تر شده است و … .

شاید سوال پیش بیاید که آیا ما در کنار Agile باید از Lean هم استفاده کنیم ؟ مسلما جواب بلی است ولی نه اینکه Lean با یک پروسه جدید . در واقع شما اگر تفکر Agile را به درستی (درست به معنی کامل نیست) در سازمان خود نهادینه کرده باشید ,  خواسته یا ناخواسته متد Lean  را هم اجرا کرده اید .

پس اگر Lean داخل Agile هست ,  پس چرا شما برای این مورد مقاله می نویسید و وقت ما را تلف می کنید ؟ دغدغه نوشتن مقاله و تشریح مسئله Lean از آنجایی حادث می شود که بنده مشاهده می کنم که سازمان هایی و یا اشخاصی از عناوین Agile ما/من استفاده می کنند (“ما اینگونه Agile کار می کنیم / ما در Agile فلان اصل را انجام نمی دهم / من فلان اصل را دوست ندارم /  ما نمی توانیم با مشتری همکاری بکنیم/ همه نیروهای کار ما احمق هستند و فلان اصل اینجا قابل اجرا نیست / … “) . اینکه سازمان ها و یا اشخاص به بلوغی رسیده اند که از Agile خود استفاده می کنند بسیار خوب است و من هم همه این دوستان را تحسین می کنم ولی دغدغه من این است که با حذف مواردی از اصول Agile  یا حتی حذف روش های متدی مانند اسکرام نکند که Lean را کنار بگذاریم ؟ نکند محصول بی کیفیت تولید کنیم ؟ نکند اوضاع بدتر شود ؟ و … .

http://blog.irscrum.com/wp-content/uploads/2010/10/iiff_2.jpg?w=500

شاید بپرسید که ما نرم افزار بی کیفیت تولید می کنیم , چرا برای شما دغدغه ایجاد می شود ؟ کسی که Agile را یاد گرفته است و آن را در سازمان خود اجرا می کند ,  اگر مواردی را حذف کند بدون اینکه بداند چه ارزش هایی را حذف کرده است ,  نباید منتظر دستیابی به آن ارزش ها در آینده باشند . دوستان مواردی را از Agile حذف می کنند و بعد به نتیجه ای که مثلا در فلان وبلاگ و یا فلان کتاب خوانده بودند (کیفیت بالا – هزینه کم – مشتری رضایت مند – نیروی کار با انگیزه – سود بیشتر ) نمی رسند که باید هم همینطور باشد . البته باز هم عرض می کنم من با بومی سازی و یا همسان سازی Agile با سازمان به هیچ وجه مخالف نیستم و همیشه هم تشویق می کنم که دوستان انجام بدهند ولی وقتی اصلی را قبول ندارید باید اصل دیگری را که به همان نتیجه می رساند مصوب بکنید و جایگزین نمایید .

زمانیکه دوستان با روش های شبه Agile خود کار می کنند و نتایج قابل قبول را نمی گیرند شروع به تبلیغ منفی و رواج شعار “این در ایران به درد نمی خورد ” یا “من می دونم نمی شه ” می کنند و ناکامی های خود را ناشی از نواقصات و معایب روش Agile می دانند و نه روش شبه Agile خود : زمانیکه از این روش استفاده می کنند همیشه از لفظ Agile من/ما استفاده می کنند ولی وقتی ناکام می شوند از Agile آن وبلاگ/سایت/کتاب یاد می کنند در حالیکه Agile مشکلی ندارد بلکه Agile من/ما مشکل دارد .

سازمان های بزرگ زیادی در خود آمریکا با همین روش Agile چندین میلیون دلار ضرر کرده اند یعنی اول MY Agile و بعدا Their Agile کرده اند و به همان روش قبلی سوئیچ کرده اند . پس در استفاده کردن و یا نکردن از روش Agile کمی دقت نمایید .

Lean فکر کنید و Agile باشید .

یاشیاسیز

درباره اسد صفری

اسد صفری – مربی تحول چابک سازمان و تیم های نرم افزاری. مدارک حرفه ای: CSP - CSM - PSM - PSPO - CDA - Management 3.0 برخی تجربیات: رئیس دفتر تحول چابک شرکت داده ورزی سداد(بیشتر از ده تیم نرم افزاری) - مربی چابک شرکت رامند (تیم های موبایل و گیم سازی) - مدیر تولید نرم افزار SimplyDesk برای شرکت فرانسوی PCI - مربی مشاور شرکت های:خدمات انفورماتیک، ارکید فارمد، فراداده، الفبا برخی از سوابق مشاوره کوتاه مدت و تدریس : علی بابا، فناپ، تجارت الکترونیک پارسیان، بیمه سامان، مهندسین مشاور تجارت (بانک تجارت)، بیمه ایران، پارس آنلاین، شرکت رهنما، ورانگر، انتشارات پزشکی کوثر، فولا آلیاژی یزد، پارک علم فناوری کردستان و ... . عضو انجمن های بین المللی Agile Alliance - Scrum Alliance

5 دیدگاه در “Lean در خدمت Agile

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.