پلتفرمهای Low-Code و No-Code به بخشهای تخصصی وعده میدهند که میتوانند نرمافزارهای مرتبط با کسبوکار را خودشان توسعه دهند. اما آیا این واقعیت دارد؟
تصور کنید که برای لحظهای دیگر در زمینه توسعه نرمافزار کار نمیکنید و به جای آن، متخصصی در حوزه بیمهنامهها هستید. شما در یک شرکت بیمه در بخش تخصصی کار میکنید. برنامهنویسی و توسعه نرمافزار اصلاً موضوع شما نیست، اما در عوض با تمام جنبههای محتوایی مانند بیمهنامهها، خسارات، مسئولیتها و بازپرداختها کاملاً آشنا هستید.
اکنون به یک قطعه نرمافزار کوچک نیاز دارید: شاید یک ابزار ساده برای ثبت اطلاعات مشتریان بهصورت کارآمدتر یا گزارشی که به شما امکان دهد بیمهنامههای خود را برای سال آینده بهتر بهینه کنید. اینکه دقیقاً چه چیزی باشد مهم نیست. بحث بر سر چیزی کوچک و ساده است که زندگی شما و همکارانتان را آسانتر کند و کسبوکار شما را پیش ببرد.
حالا چگونه میتوانید به این نرمافزار دست پیدا کنید؟ واضح است که میتوانید به بخش فناوری اطلاعات داخلی شرکت مراجعه کنید و درخواست خود را مطرح کنید. اگر خوششانس باشید، همکار خوشبرخورد و مهربان بخش فناوری اطلاعات به شما خواهد گفت که این کار مشکلی ندارد و او در کنار سایر وظایف خود این نرمافزار را برای شما طراحی میکند. البته، بعدها مشخص میشود که او نمیتواند به اندازهای که وعده داده بود وقت بگذارد و شاید دقیقاً هم متوجه نشده باشد که شما چه چیزی میخواستید.
بنابراین در نهایت نرمافزاری که ساخته شده دقیقاً کار مورد نظر شما را انجام نمیدهد. اما خب، شکایتی هم ندارید: حداقل چیزی به دست آوردهاید! چون شرایط میتوانست بدتر هم باشد: اگر به جای این همکار خوشبرخورد، به همکار بداخلاقش برخورد کرده بودید، احتمالاً به شما بهوضوح میفهماند که برای چنین کارهایی وقت ندارد، بخش فناوری اطلاعات به هر حال بسیار شلوغ است و بدون دریافت مجوز بودجهای از هفت خوان اداری، بهتر است دیگر مزاحم نشوید.
چقدر خوب بود اگر اصلاً به بخش فناوری اطلاعات نیازی نداشتید و میتوانستید آنچه را که نیاز دارید، خودتان بدون هیچگونه دانش برنامهنویسی بسازید! به دنیای پلتفرمهای Low-Code و No-Code خوش آمدید!
وعده پشت Low-Code
آنچه که خواندید، در واقع همان وعده تبلیغاتی پلتفرمهای Low-Code و No-Code است. ایده اصلی این است که بسیاری از فرآیندها در برنامههای تخصصی به نوعی همیشه یکسان هستند: ورودیهای فرم، فراخوانی دادهها از SharePoint، نمایشهای جدولی یا گرافیکی – همه اینها الگوهای تکراری هستند. این پلتفرمها چنین فعالیتهایی را بهعنوان بلوکهای آماده ارائه میدهند و شما میتوانید با کنار هم قرار دادن آنها، برنامههای مورد نظر خود را بسازید، بدون اینکه نیاز به دانستن جزئیات فنی داشته باشید.
یک تجربه عملی:
به عنوان یک تجربه ی عملی، از Microsoft Power Platform و بهطور خاص Power Automate استفاده شد. هدف یک کاربرد ساده بود: فراخوانی دادهها از یک API و نمایش آن. بعد از سه یا چهار ساعت تلاش، مشکلات مختلف روبرو مشاهده شد و مشخص شد یا افراد حاضردر پروژه (۲ نفر) برای این کار کافی نبودند(که بعید میدانم) یا کاربرد موردنظر کمی خارج از مسیرهای پیشبینیشده این پلتفرم بود. در نهایت، از یک توسعهدهنده حرفهای Power Platform را به کمک گرفته شد– فردی که برای پلتفرمی که ادعا میکند نیاز به توسعهدهندگان را برطرف میکند، گواهینامه داشت! این واقعاً تناقضآمیز است.
ناامیدی بیشتر از سود
این تجربه بهتنهایی ممکن است نماینده همه پلتفرمهای Low-Code و No-Code نباشد. اما یک مشکل اساسی را نشان میدهد: این پلتفرمها وعدههای بزرگ میدهند و انتظارات زیادی ایجاد میکنند – اما در عمل نتایج آنها معمولاً مطابق انتظار نیست. بخشهای تخصصی نمیتوانند بهطور معجزهآسا همه مشکلات خود را به تنهایی حل کنند. نمیتوانند کاملاً از بخش فناوری اطلاعات و توسعهدهندگان بینیاز شوند و در نهایت، اغلب نه در زمان و نه در هزینه صرفهجویی میکنند. در بدترین حالت، حتی برعکس آن رخ میدهد.
مشکلات اساسی
- برنامهنویسی به معنای یادگیری یک زبان است. چه زبان فرانسوی باشد، چه یک زبان برنامهنویسی، شما باید واژگان و دستور زبان را یاد بگیرید، بخوانید، بنویسید، صحبت کنید – و تمرین کنید.
- پلتفرمهای Low-Code بلوکهایی را ارائه میدهند که اغلب برای نیازهای پیچیده کافی نیستند. این بلوکها پیچیدگی فنی و موضوعی را حذف نمیکنند – بلکه فقط آن را پنهان میکنند.
- بسیاری از این پلتفرمها اختصاصی هستند. وقتی یک برنامه را بر اساس چنین پلتفرمی ایجاد میکنید، به نوعی قفل در آن فناوری میشوید (Vendor Lock-in).
پلتفرمهای Low-Code و No-Code جایگاه خود را دارند؛ برای مثال، در سادهترین موارد یا برای ایجاد پروتوتایپها. اما برای پروژههای پیچیده، همکاری نزدیک بین بخش تخصصی و توسعهدهندگان همچنان ضروری است. آنچه اهمیت دارد، ایجاد یک همکاری سازنده و مؤثر است، نه جایگزینی افراد متخصص با ابزارهایی که در نهایت نمیتوانند پیچیدگی واقعی مسائل را مدیریت کنند.

