متن مقاله
مقدمه
اتوماسیون در Revit زمانی مفید است که مسئله درست انتخاب شده باشد. تکراری بودن یک فعالیت بهتنهایی دلیل کافی برای توسعه Dynamo، Python یا پلاگین نیست؛ ثبات ورودی، میزان قضاوت انسانی، احتمال خطا، دفعات تکرار و هزینه نگهداری نیز اهمیت دارند. این مقاله معیارهایی برای انتخاب فرایند مناسب ارائه میکند و نشان میدهد چرا ابتدا باید خود گردشکار استاندارد و قابل پیشبینی باشد تا اتوماسیون بتواند واقعاً زمان و خطا را کاهش دهد، نه اینکه پیچیدگی تازهای به سیستم اضافه کند.
چرا هر فرایند تکراری در Revit ارزش اتوماسیون ندارد؟
وقتی کاری در Revit بارها تکرار میشود، اولین واکنش معمولاً این است که باید آن را با Dynamo، Python یا یک پلاگین اتوماتیک کرد. این برداشت در بسیاری از موارد درست است، اما تکراری بودن یک فعالیت به تنهایی دلیل کافی برای اتوماسیون نیست.
ممکن است یک فرایند بسیار تکراری باشد، اما فقط در یک پروژه خاص استفاده شود. ممکن است ورودیهای آن هر بار متفاوت باشند، به تصمیم متخصص نیاز داشته باشد یا آن قدر در حال تغییر باشد که نگهداری ابزار اتوماسیون از انجام دستی کار پر هزینهتر شود. در مقابل، یک فعالیت نسبتاً کوتاه میتواند به دلیل تعداد زیاد کاربران، نرخ بالای خطا یا تکرار در چندین پروژه، ارزش بالایی برای اتوماسیون داشته باشد.
بنابراین سؤال اصلی این نیست که «آیا این کار قابل اتوماسیون است؟». در Revit تقریباً برای بسیاری از فعالیتها میتوان نوعی راهکار فنی پیدا کرد. سؤال مهمتر این است که:
آیا اتوماسیون این فرایند ارزش عملیاتی ایجاد میکند؟
برای پاسخ به این سؤال باید علاوه بر تعداد دفعات تکرار، عواملی مانند زمان مصرفشده، خطای انسانی، تعداد کاربران، ثبات فرایند، یکنواختی ورودیها، میزان قضاوت انسانی، عمر مورد انتظار راهکار و هزینه نگهداری آن بررسی شوند.
اتوماسیون زمانی ارزشمند است که نتیجه آن در عملکرد واقعی تیم دیده شود؛ برای مثال کاهش زمان، کاهش خطا، افزایش قابلیت اطمینان یا حذف یک گلوگاه مشخص.
به همین دلیل، تصمیم درباره اتوماسیون باید پیش از انتخاب ابزار و نوشتن اسکریپت گرفته شود.
قبل از اتوماسیون، خود فرایند را بررسی کنید
این بررسی بخشی از منطق بهینهسازی BIM است: ابتدا گلوگاه و علت اتلاف مشخص میشود و بعد ابزار یا مداخله انتخاب میشود.
در بسیاری از تیمها، درخواست اتوماسیون زمانی مطرح میشود که یک فعالیت دستی کند، تکراری یا خسته کننده شده است. اما قبل از اینکه برای آن اسکریپت یا پلاگین نوشته شود، باید خود فرایند بررسی شود.
ممکن است مسئله اصلی اصلاً کمبود اتوماسیون نباشد. گاهی یک فرایند به دلیل نامگذاری نامنظم، ورود چند باره اطلاعات، گردشکار پیچیده، مسئولیتهای نامشخص یا وجود مراحل غیر ضروری کند شده است. اگر همان ساختار بدون بازنگری اتوماتیک شود، ابزار جدید فقط مشکلات موجود را با سرعت بیشتری تکرار میکند.
اتوماسیون یک فرایند ناکارآمد، آن را به فرایندی ناکارآمد ولی سریعتر تبدیل میکند.
برای مثال، اگر اطلاعات یک عنصر در چند فایل و چند پارامتر مختلف به صورت دستی وارد میشود، اولین سؤال نباید این باشد که چگونه تمام این انتقالها را اتوماتیک کنیم. ابتدا باید بررسی شود که آیا اصلاً لازم است اطلاعات در چند محل نگهداری شود یا میتوان منبع داده و مسیر انتقال را سادهتر کرد.
پیش از تصمیم به اتوماسیون، باید چند سؤال روشن پاسخ داده شود: این مرحله چرا وجود دارد؟ چه کسی آن را انجام میدهد؟ ورودی و خروجی آن چیست؟ کدام بخش واقعاً ارزش ایجاد میکند و کدام بخش صرفاً نتیجه یک گردشکار قدیمی یا نامناسب است؟
در بسیاری از موارد، بهترین نتیجه ترکیبی از حذف مراحل غیرضروری، استانداردسازی فرایند و سپس اتوماسیون بخشهای باقیمانده است.
اتوماسیون باید آخرین مرحله اصلاح فرایند باشد، نه اولین واکنش به یک فرایند دشوار.
چرا استانداردسازی پیش نیاز اتوماسیون قابل اعتماد است؟
وقتی روش مشترک، قواعد و منابع پایه هنوز تثبیت نشدهاند، ابتدا باید مسئله در سطح پیادهسازی BIM حل شود؛ اتوماسیون روی ورودیهای ناپایدار قابل اتکا نیست.
بسیاری از مشکلات اتوماسیون در Revit از خود اسکریپت شروع نمیشوند؛ از نا منظم بودن محیطی شروع میشوند که قرار است اسکریپت در آن کار کند. اگر نامگذاریها، پارامترها، Familyها، Templateها یا روش انجام کار بین پروژهها و کاربران متفاوت باشد، حتی یک ابزار فنی خوب هم به سختی میتواند نتیجهای پایدار ایجاد کند.
اتوماسیون زمانی قابلاعتمادتر میشود که ورودیها قابل پیشبینی باشند و قواعد مشخصی بر فرایند حاکم باشد. برای مثال، اگر یک اسکریپت قرار است اطلاعات عناصر را بر اساس پارامترهای مشخص پردازش کند، باید مطمئن باشیم همان پارامترها با نام، نوع داده و کاربرد یکسان در پروژهها استفاده میشوند. در غیر این صورت، بخش بزرگی از توسعه صرف مدیریت استثناها خواهد شد.
هرچه ورودی استانداردتر باشد، اتوماسیون قابل اعتمادتر و نگهداری آن سادهتر است.
استانداردسازی فقط به نامگذاری محدود نمیشود. این موضوع میتواند شامل ساختار Familyها، Shared Parameterها، View Templateها، روش مدلسازی، طبقه بندی اطلاعات، ساختار فایلها و حتی مسئولیت کاربران باشد.
اگر هر تیم یک فعالیت را به روشی متفاوت انجام دهد، هنوز مسئله اصلی اتوماسیون نیست؛ مسئله این است که فرایند سازمانی تثبیت نشده است. در چنین وضعیتی، مسئله به پیادهسازی BIM نزدیکتر است تا توسعه یک ابزار جدید.
در چنین شرایطی، بهتر است ابتدا روش کار مشترک تعریف و آزمایش شود و سپس بخشهای تکراری آن اتوماتیک شوند. این ترتیب باعث میشود ابزار اتوماسیون به یک راهکار قابل استفاده در چند پروژه تبدیل شود، نه اسکریپتی شکننده که فقط در شرایط خاص کار میکند.
چه عواملی ارزش اتوماسیون یک فرایند را تعیین میکنند؟
ارزش اتوماسیون را نمیتوان فقط با یک عامل سنجید. یک فرایند ممکن است بسیار تکراری باشد، اما زمان کمی مصرف کند؛ یا برعکس، به ندرت انجام شود ولی هر بار ساعتها زمان چند نفر را بگیرد. برای تصمیم گیری درست، باید چند عامل بهصورت همزمان بررسی شوند.
مهمترین معیارها را میتوان در چهار گروه دید:
ارزش عملیاتی: تعداد دفعات تکرار، حجم کار، زمان مصرف شده و تعداد افرادی که درگیر فرایند هستند.
قابلیت پیشبینی: میزان ثبات ورودیها، وضوح خروجی مورد انتظار و پایداری خود گردشکار.
ریسک: نرخ خطای انسانی، هزینه اشتباه و امکان شناسایی یا بازگرداندن نتیجه نادرست.
صرفه اقتصادی: عمر مورد انتظار راهکار، هزینه توسعه و میزان نگهداری مورد نیاز در آینده.
برای مثال، فرایندی که در هر پروژه صدها بار تکرار میشود، ورودی مشخص دارد، نتیجه آن دقیقاً قابل تعریف است و توسط چند نفر انجام میشود، معمولاً گزینه مناسبی برای اتوماسیون است.
در مقابل، فرایندی که فقط چند بار در سال اتفاق میافتد، شرایط آن دائماً تغییر میکند و تصمیم گیری در آن وابسته به تجربه فرد است، حتی اگر از نظر فنی قابل اتوماسیون باشد، ممکن است ارزش توسعه نداشته باشد.
ارزش اتوماسیون از ترکیب صرفه جویی، قابلیت پیش بینی و پایداری فرایند به دست میآید، نه فقط از امکان فنی اجرای آن.
به همین دلیل، دو فرایند ظاهراً مشابه در دو سازمان مختلف میتوانند تصمیم کاملاً متفاوتی برای اتوماسیون داشته باشند.
چه زمانی قضاوت انسانی مانع اتوماسیون کامل میشود؟
بعضی از فرایندهای Revit تکراری هستند، اما نتیجه درست آنها فقط با اجرای یک مجموعه قانون ثابت تعیین نمیشود. در این موارد، تجربه، شناخت پروژه و قضاوت فنی کاربر بخشی از خود فرایند است.
برای مثال، در هماهنگی مدلهای تأسیسات، شناسایی یک تداخل میتواند به سادگی اتوماتیک شود، اما تصمیم درباره نحوه رفع آن معمولاً به عوامل مختلفی وابسته است: محدودیتهای معماری و سازه، شیب و مسیر سیستم، فضای تعمیر و نگهداری، اولویت رشتهها و شرایط اجرایی پروژه. در چنین شرایطی، جابهجایی خودکار یک عنصر صرفاً به این دلیل که با عنصر دیگری تداخل دارد، میتواند مسئله جدیدی ایجاد کند.
همین موضوع درباره فعالیتهایی مانند انتخاب محل اندازهگذاریها، جانمایی بعضی اجزا یا تصمیم درباره روش مدلسازی نیز وجود دارد. ابزار میتواند اطلاعات را تحلیل کند، گزینهها را محدود کند یا بخشهای تکراری را انجام دهد، اما تصمیم نهایی ممکن است همچنان به متخصص نیاز داشته باشد.
وجود قضاوت انسانی به این معنا نیست که یک فرایند قابل اتوماسیون نیست؛ معمولاً به این معناست که اتوماسیون کامل انتخاب مناسبی نیست.
در چنین فرایندهایی بهتر است مشخص شود کدام بخشها کاملاً قابل پیش بینیاند و کدام بخشها نیازمند تصمیم انسانی هستند.
اتوماسیون حرفهای همیشه به معنای حذف کاربر از فرایند نیست. گاهی بهترین راهکار این است که سیستم کارهای تکراری را حذف کند، اطلاعات لازم را آماده کند و تصمیم گیری را سریعتر و مطمئنتر در اختیار متخصص قرار دهد.
اتوماسیون کامل، اتوماسیون کمکی یا پشتیبانی از تصمیم؟
اتوماسیون در Revit یک انتخاب دوحالتی نیست که یک فرایند یا کاملاً دستی باشد یا کاملاً خودکار. در بسیاری از موارد، بهترین نتیجه زمانی به دست میآید که سطح اتوماسیون متناسب با ماهیت فرایند انتخاب شود.
میتوان سه سطح اصلی در نظر گرفت:
اتوماسیون کامل: ورودیها مشخصاند، قواعد روشن هستند و خروجی قابل پیش بینی است. ابزار میتواند فرایند را بدون تصمیم گیری مستمر کاربر اجرا کند؛ مانند ایجاد مجموعهای از Viewها، اعمال View Template یا تکمیل پارامترهای مشخص.
اتوماسیون کمکی: بخشی از کار توسط ابزار انجام میشود، اما کاربر همچنان در نقاط مشخص تصمیم میگیرد. برای مثال، ابزار میتواند عناصر مسئله دار را شناسایی و دسته بندی کند و کاربر درباره اقدام بعدی تصمیم بگیرد.
پشتیبانی از تصمیم: ابزار مستقیماً تغییری در مدل ایجاد نمیکند، بلکه اطلاعات لازم برای تصمیم گیری را آماده میکند؛ مانند گزارش کنترل کیفیت، شناسایی دادههای ناقص یا نمایش الگوهای خطا.
هدف اتوماسیون همیشه حذف انسان از فرایند نیست؛ هدف میتواند کاهش کار تکراری و افزایش کیفیت تصمیم انسانی باشد.
انتخاب سطح نامناسب میتواند ریسک ایجاد کند. اگر فرایندی وابسته به قضاوت تخصصی باشد، تلاش برای اتوماسیون کامل ممکن است به ساخت ابزاری پیچیده، شکننده و دشوار برای نگهداری منجر شود.
در مقابل، یک راهکار کمکی سادهتر میتواند بخش عمده زمان تلف شده را حذف کند و در عین حال کنترل تصمیم نهایی را در اختیار متخصص نگه دارد.
نمونه یک فرایند با ارزش بالای اتوماسیون در Revit
فرض کنید در یک پروژه باید صدها View ایجاد شوند، نامگذاری آنها طبق یک الگوی مشخص انجام شود، View Template مناسب اعمال شود و بخشی از پارامترهای هر View نیز مقداردهی شوند.
این فرایند از چند جهت کاندید مناسبی برای اتوماسیون است:
تعداد دفعات تکرار زیاد است.
ورودیها و قواعد نامگذاری مشخصاند.
خروجی مورد انتظار به وضوح قابل تعریف است.
بخش عمده کار نیازمند قضاوت تخصصی نیست.
خطای دستی در نامگذاری، انتخاب Template یا مقداردهی پارامترها محتمل است.
همان منطق میتواند در پروژههای بعدی نیز استفاده شود.
اگر انجام هر مورد فقط یک یا دو دقیقه زمان بگیرد، در مقیاس چندصد View، مجموع زمان قابل توجه خواهد بود. علاوه بر آن، هرچه تعداد کاربران بیشتر شود، احتمال تفاوت در روش انجام کار نیز افزایش پیدا میکند.
در چنین شرایطی، یک ابزار اتوماسیون میتواند فرایند را سریعتر، یکنواختتر و قابلکنترلتر کند.
یک کاندید مناسب برای اتوماسیون معمولاً کاری است که زیاد تکرار میشود، قواعد آن روشن است و نتیجه درست آن قابل پیشبینی است.
نکته مهم این است که ارزش این راهکار از توانایی Dynamo یا Revit API برای انجام کار به وجود نمیآید. ارزش آن از این واقعیت میآید که یک فرایند پر حجم و پایدار با صرف زمان کمتر و خطای کمتر اجرا میشود.
این تفاوت میان «کاری که میتوان اتوماتیک کرد» و «کاری که ارزش اتوماسیون دارد» است.
نمونه یک فرایند با ارزش پایین برای اتوماسیون کامل
فرض کنید هدف این باشد که تداخلهای میان مدل تأسیسات و سایر رشتهها شناسایی شوند و سپس ابزار به صورت خودکار مسیر لوله یا کانال را تغییر دهد تا تداخل برطرف شود.
در نگاه اول، این فرایند کاندید جذابی برای اتوماسیون به نظر میرسد. تداخلها تکراریاند، بررسی آنها زمان میبرد و ابزارهای مختلف نیز میتوانند محل برخورد عناصر را تشخیص دهند. اما بخش دشوار فرایند، شناسایی تداخل نیست؛ تصمیم درباره نحوه رفع آن است.
برای تغییر مسیر یک سیستم باید عواملی مانند شیب، فضای نصب، دسترسی برای تعمیر و نگهداری، محدودیتهای سازهای، ارتفاع آزاد، اولویت رشتهها و شرایط اجرایی پروژه در نظر گرفته شوند. بسیاری از این عوامل در هر موقعیت متفاوتاند و نمیتوان همیشه آنها را به مجموعهای ساده از قواعد ثابت تبدیل کرد.
در نتیجه، تلاش برای اتوماسیون کامل چنین فرایندی میتواند به ابزاری پیچیده، پرریسک و پرهزینه برای نگهداری منجر شود.
فرایندی که شناسایی مسئله در آن ساده اما تصمیم گیری درباره راه حل پیچیده است، معمولاً کاندید مناسبی برای اتوماسیون کامل نیست.
با این حال، همین فرایند میتواند کاندید بسیار خوبی برای اتوماسیون کمکی باشد. ابزار میتواند تداخلها را شناسایی، دستهبندی، اولویتبندی و اطلاعات لازم را آماده کند، در حالی که تصمیم نهایی درباره اصلاح مدل همچنان در اختیار BIM Coordinator یا متخصص رشته باقی بماند.
در تیمهایی که همین فعالیتهای دستی در مقیاس چند کاربر و چند پروژه تکرار میشوند، مسئله معمولاً فقط سرعت یک عملیات نیست؛ بهرهوری کل تیم Revit باید بررسی شود.
چگونه ارزش اتوماسیون را قبل از توسعه ارزیابی کنیم؟
قبل از اینکه زمان توسعه برای یک اسکریپت، ابزار Dynamo یا پلاگین Revit صرف شود، بهتر است ارزش فرایند به صورت ساختاری ارزیابی شود. این کار کمک میکند تصمیم از حالت سلیقهای خارج شود و بتوان چند فرصت اتوماسیون را با یکدیگر مقایسه کرد.
برای این ارزیابی میتوان هر فرایند را بر اساس چند معیار امتیازدهی کرد:
میزان تکرار و حجم کار
زمان مصرفشده
تعداد کاربران درگیر
نرخ خطای انسانی
ثبات ورودیها
وضوح خروجی مورد انتظار
پایداری گردشکار
عمر مورد انتظار راهکار
میزان وابستگی به قضاوت انسانی
ریسک خطای اتوماسیون
هزینه توسعه و نگهداری
امتیاز بالا در تکرار، زمان، ثبات و عمر مفید معمولاً ارزش اتوماسیون را افزایش میدهد. در مقابل، وابستگی شدید به قضاوت انسانی، تغییر مداوم فرایند یا هزینه نگهداری بالا میتواند این ارزش را کاهش دهد.
بهترین فرصت اتوماسیون الزاماً پیچیدهترین یا جذابترین مسئله فنی نیست؛ مسئلهای است که بیشترین بهبود عملیاتی را با هزینه و ریسک قابل قبول ایجاد کند.
چنین ارزیابیای به سازمان اجازه میدهد به جای توسعه ابزارها بر اساس درخواستهای پراکنده، یک فهرست اولویت دار از فرصتهای اتوماسیون ایجاد کند.
بعد از پیادهسازی، موفقیت اتوماسیون را چگونه اندازهگیری کنیم؟
اجرای موفق یک اسکریپت به این معنا نیست که اتوماسیون موفق بوده است. معیار واقعی موفقیت باید در عملکرد فرایند دیده شود.
برای ارزیابی نتیجه، بهتر است وضعیت قبل و بعد از اتوماسیون با چند شاخص مشخص مقایسه شود:
زمان لازم برای انجام فرایند
مجموع نفرساعت مصرفشده در پروژه
تعداد خطاها و اصلاحات مجدد
میزان استفاده واقعی کاربران از ابزار
تعداد مواردی که نیاز به دخالت دستی دارند
زمان صرفشده برای پشتیبانی و نگهداری
میزان یکنواختی خروجی بین کاربران و پروژهها
ممکن است ابزاری از نظر فنی بسیار خوب عمل کند، اما کاربران از آن استفاده نکنند، نیاز به اصلاح مداوم داشته باشد یا فقط بخش کوچکی از زمان واقعی فرایند را کاهش دهد. در این حالت، موفقیت فنی لزوماً به معنی موفقیت عملیاتی نیست.
موفقیت اتوماسیون با اجرا شدن اسکریپت سنجیده نمیشود؛ با بهبود قابل اندازه گیری فرایند سنجیده میشود.
به همین دلیل، بهتر است پیش از توسعه مشخص شود قرار است چه چیزی بهبود پیدا کند. اگر هدف کاهش زمان است، زمان قبل و بعد اندازه گیری شود. اگر هدف کاهش خطاست، نرخ خطا ثبت شود. اگر هدف افزایش یکنواختی است، کیفیت خروجی کاربران مختلف مقایسه شود.
اتوماسیون باید مانند هر اقدام بهینه سازی دیگری ارزیابی شود. اگر نتیجه آن در زمان، خطا، قابلیت اطمینان یا کیفیت تحویل دیده نشود، باید خود راهکار یا حتی تصمیم اولیه برای اتوماسیون دوباره بررسی شود.
اگر قرار است اتوماسیون بخشی از یک مداخله بزرگتر باشد، خدمت بهینهسازی BIM مسیر تشخیص گلوگاه، انتخاب مداخله و سنجش نتیجه را توضیح میدهد.
جمعبندی
اتوماسیون زمانی ارزش ایجاد میکند که یک فرایند مناسب را سریعتر، پایدارتر یا کمخطاتر کند؛ نه اینکه یک روش ضعیف را با سرعت بیشتری تکرار کند. پیش از توسعه اسکریپت یا پلاگین باید مشخص شود فعالیت تا چه حد تکرارشونده، استانداردپذیر، پرهزینه و قابل اندازهگیری است و آیا ورودیها و قواعد آن ثبات کافی دارند یا نه. پس از اجرا نیز موفقیت باید با کاهش زمان، خطا، دوبارهکاری یا وابستگی به فعالیت دستی سنجیده شود. بنابراین انتخاب فرایند مناسب از انتخاب ابزار مهمتر است. بهترین فرصتهای اتوماسیون معمولاً جایی هستند که مسئله بهخوبی تعریف شده، روش کار تثبیت شده و نتیجه قابل اندازهگیری است.
