جلسه بیست و چهارم دیماه 1402 کارگروه مدیریت فرآیند نصر


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

نگاه مدیریت فرآیند (BPMS) با هدف اصلی ارتباط پذیری سامانه های موجود

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

طراحی موتور فرآیند در کنار سامانه های جامع (ERP)

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

پلتفرم توسعه نرم افزار کم کد (Low Code Platform)

با توجه به گستردگی بحث در خصوص پلتفرمهای مورد نظر ما، قطعا نمیتوان به پلتفرمهای کم کد توجه نداشت. معمولا خواستگاه اولیه این نوع پلتفرمها سادگی طراحی فرمهای اطلاعاتی و قابلیت بهره برداری سریع از آنها بوده است. همین سادگی در اغلب اوقات منجر به ارائه این نوع زیرساختها بصورت ابری (Cloud Based) نموده است. این نوع نرم افزارها سعی در ساده سازی فرآیند تولید با استفاده از امکانات انتخاب کامپوننت و کشیدن و رها کردن (Drag and Drop) مینمایند. در بسیاری از این محصولات با توجه به اصل رعایت سادگی از ورود به حوزه فرآیندی اجتناب شده و عملا شاید ساخت سیستم های پیچیده نیز مق

پلتفرمهای توسعه نرم افزار کد کد مجهز به موتور فرآیندساز

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

پلتفرم های توسعه سیستم های اطلاعاتی فرآیندگرا (سیستم ساز)

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

پلتفرمهای خط تولید نرم افزار (SPL)

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