پوکا یوکه – تکنیک خطاناپذیرسازی فرآیندها

  • یوسف مهرداد

کتاب پوکا یوکه تکنیک خطاناپذیرسازی فرآیندها تألیف مایکل آر. بیوریگارد، ریموند جی.میکولاک، رابین ای مک درموت و ترجمه مهندس سارا صلواتی کتاب جالبی است. این کتاب را از حسین هدیه گرفتم و چه هدیه باارزشی. بخش‌هایی از کتاب را در زیر آورده‌ام:
“در لغت‌نامه ژاپنی، پوکایوکه به معنی حماقت‌ناپذیری ترجمه شده بود و لیکن به تشخیص اساتید من، … ترجمه آن را خطاناپذیری نامیدند.
پس از بازگشت به آمریکا متوجه شدم که اکثر شرکتهای ما نیز ازخطاناپذیری فقط در همان زمینه (یعنی به عنوان ابزار ایمنی) استفاده می‌کنند و خطاناپذیرسازی در زمنیه بهبود تولید و بهره‌وری کاربردی ندارد. درحالیکه امروزه استفاده از این تکنیک تغییر کرده و من از اینکه می‌بینم خطاناپذیرسازی در جریان اصلی بهبود فرآیند کاربرد پیدا کرده است، خوشحالم.
به نظر من، موفقیت نصیب کسانی خواهد شد که روشهای خطاناپذیرسازی را در درازمدت دنبال کنند.
خطاناپذیرسازی روشی جهت غیرممکن ساختن اشتباهات است. این تکنیک می‌تواند با ایجاد تغییرات دائمی در تجهیزات، عملیات و یا رویه‌ها، فرصت بروز اشتباهات را حذف یا در صورت بروز یک اشتباه، با ارسال سیگنال، سریعاً جلوی انجام کار اشتباه را بگیرد.
تمرکز تکنیک خطاناپذیرسازی بر سلب فاکتورهای انسانی در مواقعی است که انجام کاری بر اثر تکراری بودن آن نیاز به حافظه، توجه و تمرکز دارد. البته این بدان معنی نیست که فکرکردن را در انجام کارها حذف کنیم، بلکه باید کاری کرد که زمان و ذهن افراد آزاد شده، با انجام یک سیستم خلاق و یک فعالیت ارزش‌آفرین(Value Adding) کارها بدون ترس از اشتباه بودن آنها و به صورتی صحیح انجام شوند.
مطمئناً اغلب اشتباهات به طور عمدی ایجاد نمی‌شوند، آنها معمولاً بر اثر پیچیدگی فرآیندها ایجاد می‌شوند.
در زمینه بروز اشتباهات، دو طرز تفکر متفاوت وجود دارد:
۱- اشتباهات اجتناب ناپذیرند و شما باید بیاموزید که چگونه با آنها زندگی کنید. این طرز تفکر موجب کاهش بهره‌وری شده و همیشه ما را به سوی شکست سوق می‌دهد.
۲- اشتباهات می‌توانند و باید حذف شوند. اگر چه این طرز تفکر به تنهایی چاره‌ساز نیست و لیکن زمینه‌ساز فعالیتهای بعدی جهت دستیابی به محصولات با عیوب صفر است.
نمونه‌هایی از خطاناپذیرسازی در زندگی روزمره:
۱-اغلب اتوها در صورت عدم استفاده از آنها به طور خودکار خاموش می‌شوند.
۲-نوارهای صوتی-تصویری و دیسکتهای کامپیوتر که با برداشتن زبانه ایمنی آنها از پاک شدن و یا ضبط مجدد بر روی آنها جلوگیری می‌شود.
۳-دیسکتهای کامپیوتری را نمی‌توان به صورت اشتباه وارد درایو نمود. “

مطالعه این کتاب باعث شد که خیلی در مورد به کارگیری این روش در تولید نرم‌افزار فکر کنم.
ما از دو سو با فرآیند درگیر هستیم.
اول: در تولید نرم‌افزار همه ما از یک فرآیند و روش استفاده می‌کنیم. منظورم از روش، روشهایی مانند RUP، Agile، … نیست. بلکه گامهای انجام کار تولید نرم‌افزار است.
دوم:در اکثر قریب به اتفاق نرم‌افزارهایی که تولید می‌کنیم، روش و فرآیند انجام کار مشتری را مکانیزه و گاه دستخوش تغییر می‎‌‌کنیم.
اگر بتوانیم این ایده و تکنیک را در این دو مقوله به کار بگیریم، شاید بتوانیم درصد اشتباهات را کاهش دهیم، اشتباهات حین تولیدمان و اشتباهات کاربر محصولمان.
یک مجموعه از ایده‌ها در ذهنم است ولی هنوز پخته نیست.
اگر شما هم نمونه‌ها و یا ایده‌هایی در این زمینه دارید، برایم یادداشت بگذارید.

https://bibalan.com/?p=949
یوسف مهرداد

یوسف مهرداد


کانال تلگرام

نظرات (2)

wave
  • نیوشا

    ۱۲ آذر ۱۳۸۵ در ۰۰:۰۰

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

    پاسخ
  • علی نوبر

    ۱۶ آذر ۱۳۸۵ در ۰۰:۰۰

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

    پاسخ

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

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

برای خروج از جستجو کلید ESC را بفشارید