شرکتها، دولتها، سازمانهای غیرانتفاعی، یا تیمهای کوچک، فارغ از اندازه یا نوعشان، درگیر فعالیتهای سازمانی هستند.
فعالیتهای سازمانی از چندین فرآیند کسبوکار تشکیل شدهاند.
فرآیندهای کسبوکار میتوانند به وظایف تقسیم شوند. یک فرآیند کسبوکار زمانی عمل میکند که دپارتمانها و افراد در یک سازمان، وظایف محول شده به خود را به عنوان بخشی از نقشهای مربوطهشان اجرا کنند.
بدین ترتیب، با عملکرد فرآیندهای کسبوکار منفرد، فعالیتهای سازمانی به طور کلی نیز عملکرد خواهند داشت.
نرمافزار شیءگرا
در دنیای توسعه نرمافزار، مفهوم نرمافزار شیءگرا، به همراه متدولوژیهای طراحی و زبانهای برنامهنویسی مبتنی بر آن، توسعه یافته است.
پیش از این، نرمافزار با جداسازی دادهها و پردازش طراحی میشد و تعاریف دادهها و پردازش در داخل برنامه مستقل بودند.
به همین دلیل، تعاریف دادهها و پردازشهای مرتبط نزدیک میتوانستند در نزدیکی یکدیگر در برنامه یا در مکانهای کاملاً جداگانه قرار گیرند.
صرف نظر از محل قرارگیری آنها، تفاوتی در نحوه پردازش برنامه توسط رایانه وجود نداشت.
از سوی دیگر، هنگام اصلاح یا افزودن ویژگیها به یک برنامه توسعهیافته، کارایی کار و احتمال بروز اشکال به طور قابل توجهی بسته به کیفیت مکانیابی تفاوت میکند.
اگر تعاریف دادهها و پردازشهای مرتبط نزدیک در سراسر برنامهای که شامل دهها یا صدها هزار خط است پراکنده باشند، ایجاد تغییرات به طرز چشمگیری دشوار میشود.
نرمافزار شیءگرا یک مفهوم بنیادی برای حل چنین مشکلاتی است.
به عبارت دیگر، این ایده است که دادهها و پردازشهای مرتبط نزدیک باید به وضوح تقسیمبندی شده و در یک بخش در برنامه قرار گیرند، که این امر در هنگام اصلاح بعدی برنامه درک آن را آسانتر میکند.
این بخش برای دادهها و پردازش، مفهومی است که "شیء" نامیده میشود.
همچنین مهم است که نرمافزار را از مرحله طراحی، حول محور واحد "اشیاء" طراحی کنیم.
از سوی دیگر، ما عموماً عادت داریم که چیزهای مختلف را به عنوان شیء درک کنیم.
به عنوان مثال، وقتی زمان بیدار شدن را روی ساعت زنگدار تنظیم میکنیم، زنگ در آن زمان به صدا در میآید. ما تشخیص میدهیم که یک ساعت زنگدار، به عنوان یک شیء، دارای داده (زمان بیدار شدن) و پردازش (به صدا در آمدن زنگ) است.
منطقی است که نرمافزار را به گونهای طراحی و پیادهسازی کنیم که با این درک مشترک انسانی همسو باشد. به همین دلیل نرمافزار شیءگرا گسترش یافت.
نرمافزار فرآیندمحور کسبوکار
من یک نمای کلی از فعالیتهای سازمانی و نرمافزار شیءگرا ارائه دادم.
در اینجا، مایلم یک رویکرد جدید توسعه نرمافزار را پیشنهاد کنم: نرمافزار فرآیندمحور کسبوکار.
همانطور که در بحث نرمافزار شیءگرا توضیح داده شد، طراحی نرمافزار به گونهای که با درک انسانی همسو باشد، مزایای قابل توجهی را هنگام اصلاح یا افزودن ویژگیها به نرمافزار ارائه میدهد.
هنگام بهرهبرداری از نرمافزار در فعالیتهای سازمانی، قرار دادن اطلاعات و عملکردهای مرتبط در بخش مفهومی یک فرآیند کسبوکار – که واحد بنیادی فعالیت سازمانی است – باید اصلاح و افزودن ویژگیها را آسانتر کند.
این مفهوم بنیادی پشت نرمافزار فرآیندمحور کسبوکار است.
راهنماها و اطلاعات ورودی
در شرکتهای نسبتاً بزرگ، فرآیندهای کسبوکار معمولاً به صورت دستی تدوین میشوند. فرآیندهای کسبوکاری که به اندازه کافی واضح تعریف شدهاند تا دستی شوند، گردش کار (workflows) نیز نامیده میشوند.
سیستمهای کسبوکاری که توسط نرمافزارهای عمومی پیادهسازی میشوند، سیستمهایی هستند که این گردش کارها را تجسم میبخشند. یک فرآیند کسبوکار زمانی محقق میشود که هر فرد یا بخش مسئول، اطلاعات را بر اساس گردش کار در سیستم کسبوکار وارد کند.
در اینجا، راهنمای کسبوکار، سیستم کسبوکار، و اطلاعات ورودی به شدت به یکدیگر مرتبط هستند.
با این حال، در سازوکار شرح داده شده در اینجا، این سه عنصر مرتبط نزدیک پراکنده هستند.
مفهوم نرمافزار فرآیندمحور کسبوکار بر این موضع است که اینها باید یک واحد منسجم باشند.
سندی را تصور کنید که در آن راهنمای کسبوکار در یک فایل نوشته شده باشد، و همچنین فیلدهایی برای هر فرد یا بخش مسئول جهت وارد کردن اطلاعات وجود داشته باشد.
علاوه بر این، فرض کنید اطلاعات تماس نفر مسئول بعدی هر وظیفه نیز به طور خاص فهرست شده باشد.
سپس، میبینید که تمام عناصر فرآیند کسبوکار در این فایل فرم اطلاعات ورودی همراه با یک راهنمای کسبوکار گنجانده شدهاند.
اگر این فایل ایجاد و به مسئول وظیفه اول تحویل داده شود، فرآیند کسبوکار طبق راهنمای توصیف شده پیش خواهد رفت. و در نهایت، هنگامی که تمام اطلاعاتی که باید وارد شوند، تکمیل گردید، یک فرآیند کسبوکار به پایان خواهد رسید.
این فایل، خود نرمافزار فرآیندمحور کسبوکار است که مفهوم نرمافزار فرآیندمحور کسبوکار در آن اعمال شده است.
و با عملکرد انواع مختلف نرمافزارهای فرآیندمحور کسبوکار، کل فعالیت سازمانی نیز عملکرد خواهد داشت.
خود نرمافزار
پیشتر، من فایل فرم اطلاعات ورودی همراه با دفترچه راهنمای کسبوکار را به عنوان خود نرمافزار فرآیندمحور کسبوکار توصیف کردم.
ممکن است برخی تصور کرده باشند که این موضوع به بحث توسعه برنامهها یا سیستمها خواهد انجامید.
با این حال، اینطور نیست.
صرف نظر از برنامهها یا سیستمها، این فایل به خودی خود به عنوان نرمافزار فرآیندمحور کسبوکار عمل میکند.
همانطور که قبلاً توضیح داده شد، اگر این فایل ایجاد شده و به اولین فرد مسئول ارسال شود، متعاقباً به فرد مسئول هر وظیفه منتقل خواهد شد و فرآیند کسبوکار نوشته شده در آن اجرا میشود.
البته، بر اساس این فایل، میتوان برنامهها یا سیستمهایی را برای پیادهسازی گردش کار توصیف شده در آن توسعه داد.
اما، چقدر تفاوت بین استفاده از چنین سیستمی و صرفاً تبادل این فایل بین طرفهای مسئول وجود دارد؟
در اینجا، آنچه باید به آن توجه شود این است که توسعه برنامهها یا سیستمها، دفترچه راهنما را از پردازش جدا میکند.
این جداسازی با رویکرد فرآیندمحور کسبوکار در تضاد است. به عبارت دیگر، بهبودها و افزودن ویژگیها به فرآیندهای کسبوکار را دشوارتر میکند.
این موضوع بلافاصله آشکار میشود اگر سناریویی را تصور کنید که دفترچه راهنمای کسبوکار تغییر یابد.
هر بار که رویه یک فرآیند کسبوکار تغییر میکند، برنامهها و سیستمها باید بر اساس آن اصلاح شوند.
به همین دلیل، دفترچه راهنمای کسبوکار باید از ابتدا به طور کامل بهبود یابد، که دستی کردن آن را زمانبر میکند. علاوه بر این، حتی اگر دفترچه راهنما تغییر کند، بلافاصله در برنامهها یا سیستمها منعکس نمیشود.
علاوه بر مشکل نیاز به چنین زمانی، هزینههای بازسازی نیز وجود دارد.
این به معنای آن است که فرآیندهای کسبوکار و دفترچههای راهنما به راحتی قابل تغییر نیستند.
از سوی دیگر، اگر برنامهها و سیستمها توسعه داده نشوند و به جای آن، فایلهای فرم اطلاعات ورودی همراه با دفترچههای راهنمای کسبوکار بین طرفهای مسئول تبادل شوند، آنگاه دوره توسعه و هزینههای نگهداری/عملیاتی برای برنامهها و سیستمها غیرضروری میشود.
نرمافزار قابل اجرا
برخی ممکن است بپرسند چرا این فایل «نرمافزار» نامیده میشود.
دلیل آن این است که این فایل یک فایل اجرایی است. اما، نه به عنوان یک برنامه روی کامپیوتر اجرا میشود؛ بلکه نرمافزاری است که توسط انسانها اجرا میشود.
یک راهنمای کسبوکار مانند یک برنامه برای انسانها است. و فیلدهای اطلاعات ورودی مانند مکانهای ذخیرهسازی داده در حافظه یا پایگاه داده هستند.
با این دیدگاه، اشتباه نیست که این فایل را به عنوان نرمافزاری که توسط انسانها اجرا میشود، در نظر بگیریم.
عامل اجراکننده
وظایف نوشته شده در نرمافزار فرآیندمحور کسبوکار میتوانند توسط انسانها یا هوش مصنوعی اجرا شوند.
حتی برای یک وظیفه واحد، ممکن است مواردی وجود داشته باشد که هوش مصنوعی و انسانها با هم همکاری کنند، یا فقط انسانها یا فقط هوش مصنوعی وظیفه را اجرا کنند.
هوش مصنوعی نیز میتواند راهنمای کسبوکار را در این فایل بخواند و پردازش مناسب را انجام دهد.
بنابراین، این فایل به یک نرمافزار قابل اجرا هم برای انسانها و هم برای هوش مصنوعی تبدیل میشود.
کمک هوش مصنوعی
ابتدا، هوش مصنوعی فایل را اجرا میکند. در این فرآیند، دفترچه راهنمای کسبوکار نوشته شده در فایل را میخواند و محتوایی که نیاز به پردازش دارد را درک میکند.
برخی از بخشهای این پردازش میتوانند مستقیماً توسط هوش مصنوعی اجرا شوند، یا اطلاعات میتوانند توسط هوش مصنوعی در فیلدهای ورودی وارد شوند.
از سوی دیگر، برخی بخشها به پردازش انسانی یا ورود اطلاعات نیاز دارند.
برای این بخشها، هوش مصنوعی انسان را مطلع میکند و او را به انجام پردازش یا ورود اطلاعات ترغیب مینماید.
در این مرحله، هوش مصنوعی میتواند روش ارائه خود به انسان را بر اساس محتوای پردازش انسانی یا اطلاعات ورودی تغییر دهد.
روشهای اساسی برای ارائه به انسانها میتواند شامل انتقال وظایف لازم از طریق چت متنی یا چت صوتی، یا استخراج اطلاعاتی که باید وارد شوند، باشد.
روش دیگری نیز وجود دارد که مستقیماً فایل را باز کند. برای مثال، اگر فایل متنی باشد، یک ویرایشگر متن باز خواهد شد.
یک روش پیشرفتهتر شامل استخراج وظایف لازم و اطلاعات ورودی، و سپس تولید یک فایل موقت برای برنامهای که کار کردن با آن برای انسانها آسان است، بر اساس آن محتوا، و اجرای آن میباشد.
به عنوان مثال، اگر ورودی به صورت جدولی نیاز باشد، یک فایل صفحه گسترده میتواند برای انسان تولید شود تا اطلاعات را وارد کند. اطلاعات وارد شده در فایل موقت سپس توسط هوش مصنوعی در فیلدهای ورودی فایل اصلی رونویسی میشود.
یک روش حتی پیشرفتهتر، برنامهنویسی یک برنامه درخواستی با رابط کاربری است که با فایل و وظایف/اطلاعات ورودی مورد نیاز از انسان مطابقت دارد.
به این ترتیب، هنگامی که یک وظیفه تکمیل میشود، چه از طریق اتوماسیون هوش مصنوعی و چه از طریق کمک هوش مصنوعی به کار و ورودی انسانی، هوش مصنوعی فایل را به آدرس تماس شخص مسئول وظیفه بعدی که در دفترچه راهنمای کسبوکار نوشته شده است، منتقل میکند.
با کمک هوش مصنوعی به انسانها به این شیوه، سیستمی قابل تحقق است که در آن انسانها تنها نیاز دارند حداقل وظایف ضروری را به طور کارآمد از طریق یک رابط کاربری آسان انجام دهند.
فایلهای سازگار با هوش مصنوعی
اساساً، نرمافزار فرآیندمحور کسبوکار میتواند در هر فرمت فایلی باشد.
اما، با در نظر گرفتن کمک هوش مصنوعی، یک فرمت فایل که برای هوش مصنوعی به راحتی قابل مدیریت باشد، برای فرمت فایل اصلی مناسب است. فایلهای متنی با فرمت Markdown یک مثال معمول هستند.
همچنین خوب است که قوانین اساسی برای محتوا تعیین شود. از آنجایی که هوش مصنوعی کمک ارائه میدهد، این قوانین اساسی نوشتن نیز میتوانند به طور انعطافپذیر اصلاح یا گسترش یابند.
انباشت دانش و بهبود فرآیندهای کسبوکار
نرمافزار فرآیندمحور کسبوکار به سازمانها این امکان را میدهد که فرآیندهای کسبوکار جدیدی را اضافه کنند یا فرآیندهای موجود را به سادگی با ایجاد یا تغییر فایلهایی که راهنماها و فیلدهای ورودی را ترکیب میکنند، اصلاح نمایند، بدون اینکه نیازی به توسعه برنامهها یا سیستمها باشد.
علاوه بر این، حیاتی است که اطلاعات تماس یک نقطه تماس در دفترچه راهنمای کسبوکار برای پرسشها یا درخواستهای بهبود مربوط به آن فرآیند کسبوکار گنجانده شود.
این کار به طور قابل توجهی زمان و تلاشی را که هوش مصنوعی یا انسانها صرف دست و پنجه نرم کردن با عدم قطعیتها یا جستجوی اطلاعات میکنند، کاهش میدهد. علاوه بر این، از آنجا که پرسشها، پاسخها و درخواستهای بهبود در یک نقطه تماس متمرکز میشوند، دانش فرآیند کسبوکار به طور طبیعی انباشته شده و فرآیندهای کسبوکار میتوانند با فراوانی بالا بهبود یابند.
وظایف سیستماتیک کردن و سازماندهی دانش انباشته شده، یا اصلاح نرمافزار فرآیندمحور کسبوکار در پاسخ به درخواستهای بهبود، نیز میتواند به طور خودکار توسط هوش مصنوعی انجام شود یا توسط آن کمک شود.
علاوه بر این، در صورت لزوم، نرمافزار فرآیندمحور کسبوکار جدیدی میتواند ایجاد شود تا فرآیندهای کسبوکار جدیدی به سازمان اضافه شود.
سازمان یادگیرنده سریع
به این ترتیب، از طریق مفهوم نرمافزار فرآیندمحور کسبوکار و خودکارسازی/کمک توسط هوش مصنوعی، سازمان به طور کلی میتواند به طور طبیعی دانش را انباشته کرده و به طور مداوم خود را بهبود بخشد.
این را میتوان به عنوان یک سازمان یادگیرنده سریع توصیف کرد.
این امر فعالیتهای سازمانی را بسیار کارآمدتر از سازمانهای سنتی امکانپذیر میسازد.
در همین حال، با کمک هوش مصنوعی برای وظایف فردی، انسانها فقط نیاز به انجام حداقل کار از طریق رابطهای کاربرپسند دارند.
بنابراین، انسانها نیازی به یادگیری حجم عظیمی از اطلاعات یا درک تمام جزئیات فرآیندهای کسبوکار که به طور مکرر تغییر میکنند، ندارند.
برخلاف انسانها، هوش مصنوعی میتواند به سرعت و بدون زحمت تمام دفترچههای راهنمای کسبوکار جدید را دوباره بخواند. علاوه بر این، نیازی به زمان برای عادت کردن به فرآیندهای کسبوکار جدید ندارد و به فرآیندهای قبلی چنگ نمیزند.
بنابراین، بخشهایی که انسانها با آنها دست و پنجه نرم میکنند، مانند یادگیری حجم زیادی از دفترچههای راهنما و انطباق با تغییرات در فرآیندهای کسبوکار، توسط هوش مصنوعی جذب میشوند.
اینگونه است که یک سازمان یادگیرنده سریع میتواند محقق شود.