ریشه های اصلی جنبش نرم افزار ناب از موفقیت های تویوتا و سیستم تولید تویوتا ناشی شد. این سیستم شامل مجموعه ای از دانش های تولید اقتصادی، اصول و تجربه های ناب است که باعث شد تویوتا در سال ۲۰۰۷ تولید کننده پیشتاز خودرو در جهان باشد. در حقیقت، سیستم تولید تویوتا باعث رشد جنبش نرم افزار ناب شد که توسط تفکر نویسندگانی در کتاب های مختلفی رواج پیدا کرد. تفکر ناب دارای زمینه گسترده تر و عمیق تری از متدهای چابک خاص مثل اسکرام و ایکس پی است. همچنین تاثیر تفکر ناب در طول زمان بیشتر از تاثیر متد های چابک خواهد بود. در حقیقت، به سادگی می توانیم اسکرام، ایکس پی و دیگر متدهای چابک را نمونه های از نرم افزار ناب مشاهده کنیم. همچنین متدهای ناب یک چارچوب وسیع تری برای بهبود اقتصاد توسعه محصول جدید در سازمان های وابسته به نرم افزار فراهم می کنند.

اصول و تجربه هایی که بر تولید ناب، توسعه محصول ناب، خدمات ناب و تفکر ناب اعمال می شوند معمولا عمیق و گسترده هستند. اگرچه بدنه عمومی کار بزرگ است، اما لارمن و وود چارچوبی را برای تفکر نرم افزار ناب توصیف کرده اند که به موجب آن بسیاری از اصول و تجربه های اصلی را به متن نرم افزار قابل مدیریت ترجمه می کند. آن ها برای انجام این کار، تصویر «خانه تفکر ناب» را مجددا ارائه می کنند، به طوری که از خانه های ناب قبلی همانند تویوتا و ... الهام گرفته شده است. خانه نرم افزار ناب در شکل ذیل قابل مشاهده است.

خانه نرم افزار ناب شامل پنج جزء ذیل است:

  • سقف، هدف: پایداری به تحویل ارزش سرعت می بخشد 
  • ستون اول: به افراد احترام بگذارید 
  • ستون دوم: بهبود مداوم 
  • شالوده: حمایتِ مدیریت 
  • محتویات: جریان توسعه محصول
خانه نرم افزار ناب
(خانه نرم افزار ناب) 

سقف خانه ناب: پایداری به تحویل ارزش سرعت می بخشد

هدف ناب قابل مذاکره نیست: در کوتاه ترین زمان ممکن باید بتوانیم ارزش تحویلی به مشتری را حداکثر کنیم.

در ادامه، نحوی نگرش دیگران در این مورد بیان می‌شود:

 تایچی اوهنو: از زمانی که مشتری سفارشی را به ما می دهد تا زمانی که هزینه آن را دریافت کنیم، آنچه که انجام می دهیم این است که به محور زمان نگاه می‌کنیم تا آن را با کنار گذاشتن کارهای بدون ارزش افزوده کاهش دهیم.

 پوپن دیک: روشی برای تحویل بسیار سریع نرم افزار نیاز داریم تا مشتریان زمان کافی برای تغییر طرز فکر خود نداشته باشند.

لارمن و وود: بر روی چوب دستی متمرکز شوید نه بر روی دونده ها. «به جای اینکه به مشغول بودن افراد یا بهینه محلی فکر کنید بر روی جریان ارزش و نرخ ارزش/ اتلاف متمرکز شوید»

بنابراین، به نکات ذیل در مورد نیازمندی ها توجه می کنیم:

  • بجای تمرکز بر روی افراد یا سازمان هایی که نیازمندی ها را مدیریت می کنند، بر روی نیازمندی های مشتری متمرکز می شویم.
  •  فعالیت های بدون ارزش افزوده را کشف می‌ کنیم و آن‌ها را فعالانه به حداقل می‌رسانیم.

 از دیدگاه نیازمندی های نرم افزار می توانیم «زنجیره ارزش» تحویل نرم فزار سازمان را همانند شکل ذیل نمایش دهیم.

زنجیره ارزش

برای بهینه کردن زمان تحویل و بازگشت سرمایه باید گام های موجود در زنجیره ارزش را بهینه کنیم. همچنین برای افزایش واقعی سرعت باید تمام تاخیرهای موجود در زنجیره ارزش را به حداقل برسانیم.

ستون اول خانه ناب: به افراد احترام بگذارید
با وجود اینکه تمرکز بر نیازمندی ها موضوع مهمی است، اما همیشه باید آگاه باشیم که در حقیقت تمام کارهای با ارزش افزوده را افراد انجام می دهند و احترام به آن ها موجب آرامش و راحتی شان می‌شود. علاوه بر این، احترام به افراد از اصول پایه ای ناب و چابک نیز است (اصل چابکی متناظر: پروژه ها را حول اشخاص با انگیزه بسازید. برای آن ها محیط و پشتیبانی لازم را محیا کنید و به آن ها اعتماد کنید تا کار را انجام دهند.). همچنین، افراد در ناب توانایی رشد تجربیات و بهبود خود را نیز پیدا می‌کنند.

ستون دوم خانه ناب: بهبود مداوم

بهبود مداوم یا «کایزن» ستون دوم ناب است. با کایزن، از طریق بازبینی و بهبود مداوم به سوی یک سازمان یادگیرنده هدایت می شویم. 

  • منشاء مسئله را کشف نماید و برای حل آن و بهبود فرایند شخصاً داده‌ها را مشاهده و بررسی کنید. 
  • تصمیم گیری ها را تدریجی و با توافق انجام دهید و همه گزینه ها را در نظر بگیرید. سپس تصمیم ها را به سرعت پیاده سازی کنید. 
  • برای تشخیص علت اصلی ناکارآمدی، بهبود مداوم را به کار بگیرید و اقدامات متقابل موثر را اعمال کنید. 
  • از طریق پرورش پرسنل با ثبات، ارتقاء تدریجی و سیستم های جانشینی دقیق از پایگاه دانش سازمانی محافظت کنید. 
  • در نقاط عطف اصلی تفکر کنید و پس از پایان پروژه به طور آشکار کاستی های پروژه را شناسایی نمایید.

شالوده خانه ناب: حمایتِ مدیریت

حمایتِ مدیریت شالوده تفکر ناب است. در حقیقت، «حمایت» واژه مناسبی نیست تا به وسیله آن نقش اصلی و فعال مدیریت در پیاده سازی و هدایت ناب توصیف گردد. واژه «رهبری» ممکن است انتخاب بهتری باشد. در ناب، مدیریت با به کارگیری تجربه ها و ابزارهای تفکر ناب و بهبود مداوم، اعمال همیشگی آن ها و تعلیم به کارمندان، آموزش می بیند.

در این مورد، ناب از بیشتر تجربه های ما در توسعه چابک فاصله می گیرد. براساس تجربه‌ای که داریم، چابک اغلب به صورت فرایند تیم محور ترویج پیدا کرده است و در بدترین حالت تمایل به کنار گذاشتن مدیریت از فرایند و تجربه های اصلی را دارد. البته، کنار گذاشتن مدیریت از مشارکت و حل مسئله رویکرد مناسبی نیست. موارد ذیل تفاوت های میان چابک و ناب را بیان میکنند:

  • در چابک، انتظار داریم مدیریت ما را حمایت کند و در برطرف کردن موانع کمک نماید. 
  • در ناب، انتظار می رود که مدیریت ما را رهبری کند و نقش فعالی را در انجام بهبود مداوم بازی نماید.

این اصل مهم برای ناب هدایت کننده ای با اهمیت در سازمان نرم افزاری است. مدیران و هیئت رئیسه به جای پیگیری، رهبری می کنند و برای پیشبرد مداوم تجربه ها پاسخگو هستند.


محتویات خانه ناب: اصول جریان توسعه محصول

در مرکز خانه نرم افزار ناب اصول و تجربه هایی قرار دارند که توسط تیم برای توسعه و تحویل نرم افزار به کاربران پایانی استفاده می شوند. برای انجام این کار تنها یک روش درست وجود ندارد بلکه کتاب هایی هستند که دیدگاه های مختلفی را فراهم می‌کنند. در کتاب «اصول جریان توسعه محصول» هشت موضوع مهم مطرح شده است که هر کدام توسط تعدادی اصول کمکی پشتیبانی می شوند. این موضوعات به همراه اصول مربوطه راهنمای جامعی برای ناب فراهم می‌کنند. از دیدگاه من، این بهترین و معمول‌ترین رویکر برای توصیف اصول ناب است که بر روی توسعه محصول اعمال می‌شود. همچنین، این اصول راهنمای عالی و با اهمیتی برای تیم توسعه نرم افزار است. این هشت موضوع شامل موارد ذیل هستند: 

  • دید اقتصادی داشته باشید 
  • به طور فعال صف ها را مدیریت نمایید 
  • تغییرپذیری را درک نمایید و از آن بهره‌برداری کنید 
  • اندازه  بسته ها را کاهش دهید 
  • محدودیت های کار در جریان را اعمال کنید 
  • جریان تحت عدم قطعیت را کنترل کنید(ریتم و همگام سازی) 
  • بازخورد را تا حد ممکن سریع دریافت کنید 
  • کنترل را نامتمرکز کنید