بازار؛ گروه اقتصاد دیجیتال: صنعت نرم افزار از جمله صنایع تاثیر گذار روی رونق اقتصاد دیجیتال هر کشوری محسوب میشود. به طوریکه با بروز پاندمی این صنعت با رشد بیشتر همراه بوده و با دورکاری های کارمندان، سازمانها با بهره بردن از متخصصان نرم افزار در ایجاد بسترهای مناسب در این زمینه اقدام کرده اند. در عین حال که جهت توسعه بیشتر این صنعت به راهکارهایی نیاز است؛این درحالی است که به گفته دکتر رضا روانمهر عضو هیات علمی دانشگاه، ایجاد بستر ارتباطی مناسب بین صنعت و دانشگاه، پررنگتر شدن حضور شتابدهندهها برای بهینه سازی طرح کسب و کار و تأمین سرمایه اولیه در مسیر ارزش آفرینی سریعتر میتواند به توسعه این صنعت کمک کند.
در همین راستا گفتگویی با دکتر رضا روانمهر انجام داده ایم که متن این گفتگو در ادامه از نظرتان میگذرد.
دکتر رضا روانمهر عضو هیات علمی دانشگاه آزاد اسلامی- واحد تهران مرکزی-دپارتمان مهندسی کامپیوتر است. وی همچنین دارای سابقه ای ۲۵ ساله در سطوح مختلفی مدیریتی و مهندسی در حوزه نرمافزار و فناوری اطلاعات است. آخرین تجربه کاری ایشان مدیریت سامانه نرم افزاری تلسکوپ رصدخانه ملی ایران میباشد.
*چشم انداز صنعت نرم افزار در سال پیش رو چیست؟ چه فناوری هایی نوظهور بیشتر در این صنعت مورد استفاده قرار می گیرند؟( در بخش برنامه نویسی ، اپلیکیشن های همراه یا سایر؟
دنیای نرمافزار در سالهای اخیر تغییرات شگرفی کرده است و طبیعتاً پویا بودن این حوزه باعث شده است که در در فیلدهای مختلف شاهد پیشرفت قابل توجهی باشیم.
در توسعه اپلیکیشنهای موبایل فناوریهایی نظیر دستورات صوتی، بهرهگیری از امکانات G5، ترکیب با فناوریهای مرتبط با اینترنت اشیا و رایانش فراگیر، واقعیت مجازی و واقعیت افزوده(VR/AR)و ارتباط آن با متاورس، اپلیکیشنهای مبتنی بر سرویسهای ابری، توسعه برنامههای فوری (Instant Apps) که نیاز به نصب بر روی موبایل ندارند، خدمات سنجش حرکت و موقعیت مکانی و تجمیع با تجهیزات پوشیدنی بسیار مورد توجه قرار میگیرند.
با توجه به افزایش پیچیدگی و درهم تنیدگی توسعه نرمافزار و فناوری اطلاعات در شرکتها، هوشمند سازی DevOps میتواند توانایی سازمان را برای ارائه برنامهها و خدمات با سرعت بالا افزایش دهد. در واقع افزایش ضریب نفوذ توسعه نرمافزارهای مبتنی بر ابر و نیز معماری مایکروسرویس، مشاهده پذیری توسعه نرم افزارهای مدرن را امری حیاتی میسازد که این هدف با بکارگیریDevOps هوشمند میتواند در سازمانها جاری شود.توسعه سریع نرمافزار نیز به واسطه پارادایم کم کد/بدون کد (Low Code/No Code) به رشد خود ادامه خواهد داد. در سالهای آینده در زمینههای مختلفی نظیر اپلیکیشنهای موبایل،نرمافزارهای تحت وب و تجارت الکترونیک شاهد حضور پررنگ این مدل خواهیم بود.
هوش مصنوعی نیز در زمینههای مختلف مهندسی نرمافزار که در بردارنده کارهای خستهکننده، قابل پیشبینی و تکراری است میتواند کمک کند تا مهندسین بر روی کارهای هوشمندانهتر و تامل برانگیزتر تمرکز کنند.هوش مصنوعی میتواند این وظایف را با استفاده ازکتابخانههایNLPنظیرGPT-۳ خودکار کند همانطور که اخیرا برای تست خودکار نرمافزار استفاده شده است.دستیارهای مبتنی بر هوش مصنوعی همچنین میتوانند به طور خودکار سورس کدها را برای توسعه دهندگان ایجاد کنند. ابزارهایی نظیرTabnine، GitHub Copilot، Codota و بسیاری دیگر در حال توسعه برای این منظور هستند.
همانند سوپرمارکتهای غولپیکر که جایگزین فروشگاههای محلی میشوند، رایانش ابری نیز جایگزین مراکز داده منطقهای خواهد شد. در واقع ابر زیرساختی برای شرکتها، سازمانها و استارتآپها خواهد بود تا بتوانند کانون نوآوری دیجیتال خود را بروز کنند. ابر همچنین نقش مهمی در هدفمندی امنیت، هوش مصنوعی، بلاکچین و ارائه بسیاری از نوآوریها به روشی در دسترس برای مشتری ایفا می کند.شرکتهایی که از فناوریهایی مبتنی بر خدمات ابری در لایههای مختلف زیرساخت، پلتفرم و نرمافزار بهره میگیرند میتوانند پیشرفت چشمگیری در نوآوری نرمافزاری داشته باشند و زمان توسعه و استقرار سرویسهای خود را کاهش دهند. در واقع رایانش ابری به سرعت به پلتفرم ترجیحی برای ارایه قابلیتهای هوش مصنوعی، خدمات رایانش مرزی (Edge Computing) و …تبدیل میشود.
یقینا یکی از مهمترین تکنولوژیهایی که هر چه بیشتر در توسعه و استقرار نرمافزارها ترندینگ خواهد شد به کارگیری انواع پلتفرمهای کانتینر نظیرKubernetesو Docker میباشد. کانتینر یک انتزاع نرمافزاری در سطح اپلیکیشن است که سورس کد و تمام ملحقات آن را بستهبندی میکند تا برنامه به سرعت و با اطمینان بالا از یک محیط به محیط دیگر منتقل و اجرا شود. Docker یک فناوری منبع باز (Open Source) برای خودکار کردن توسعه و استقرار برنامهها به عنوان کانتینرهای قابل حمل و مستقل است که میتوانند در فضای ابری یا درون سازمان اجرا شوند. Kubernetesنیز یک نرم افزار ارکستراسیون منبع باز است که API های خاصی برای کنترل نحوه و مکان اجرای کانتینرها ارائه میدهد. Kubernetes این امکان را میدهد تا بتوان کانتینرهای Docker برای استقرار در سرورهای متعدد را مدیریت کرد. بر اساس مطالعهای که Flexera بر روی ۷۵۳متخصص توسعه نرمافزارهای مقیاس وسیع در سال ۲۰۲۱ انجام داده است ۶۱% از کارشناسان نرم افزار در حال حاضر از فناوری کانتینر به عنوان خدمات طراحی و توسعه محصول استفاده میکنند .
هوش تجاری (BI) علم تصمیم گیری دقیقتر بر اساس دادهها است که سازمانها را قادر میسازد رویدادها، روندها و تغییرات بازار را برای دستیابی به مزیت رقابتی تجزیه و تحلیل کنند.استفاده از ابزارهای هوش تجاری به همراه ابزارهای تحلیل داده امکاناتی را در اختیار توسعهدهنگان نرمافزارها در سطوح مختلف قرار میدهند تا علاوه بر تولید محصولات کاراتر مدیریت ریسک و تحلیل بازار و رفتار مشتری نیز به شکل موثرتر و کارامدتری انجام شود. از طرفی استفاده از انالیزهای نهفته (Embedded Analytics) باعث سهولت در طراحی و توسعه نرمافزارها و ایجاد گزارشهای آنلاین مبتنی بر زمینه، نمایش دادههای تعاملی و تحلیلهای پیشرفته یادگیری ماشین در یک برنامه تجاری را امکانپذیر میکند.
در زمینه پایگاه دادهها نیز به کارگیری و توسعه پایگاه داده چند مدله-چند منظوره نیز در حال افزایش است. با ظهور کلان داده و دادههای غیرساختارمند، NoSQL ها در مقابل با RDBMSها بسیار مورد توجه قرار گرفتهاند تا بتوانند فاکتورهای مهم کلان داده ها نظیر حجم، تنوع و نرخ تولید بالا را پشتیبانی کنند.
خالی از لطف نیست که اشاره کنیم که در آوریل ۲۰۲۲ و بر اساس شاخص تیوبی (TIOBE Index) که شاخص معیار محبوبیت زبانهای برنامهنویسی است، زبان برنامه نویسی پایتون با نرخ محبوبیت ۱۳.۹۲% در رتبه اول و C بانرخ محبوبیت ۱۲.۷۱% در رتبه دوم قرار دارد. Java ، C++ و C#در رده های بعدی این لیست هستند.
* تأثیر توسعه صنعت نرم افزار بر اقتصاد دیجیتال کشورها چیست؟
صنعت نرمافزار نقش بهسزایی در تمام ارکان مدیریتی برای ارایه خدمات موثر در سطوح مختلف جامعه دارد. اقتصاد به مفهوم کلان آن نیز تاثیرپذیری خاصی از فرآیندها و محصولات این صنعت خواهد گرفت.
راههای آسانتر برای تعامل کسبوکارها با مصرفکنندگان، بالا بردن انگیزه و توان شرکتها و سازمانها برای نوآوری با محصولات و خدمات جدید و ایجاد رویههای کارآمد و مقرون به صرفه برای ارایه خدمات به مشتری در راستای بهینه سازی تعامل، فروش و خدمات پس از فروش از دستاوردهای صنعت نرمافزار بر اقتصاد دیجیتال است.
هرچقدر که اقتصاد دیجیتال خود را به زندگی مشتریان بیشتر پیوند میدهد، تأثیرگذاری فناوریها و فرآیندهای نرمافزاری به کار گرفته شده در خدمات و فروش بیشتردر کسبوکارها نمایان میشود. صنعت نرمافزار در ابعاد مختلف آن نظیر زیرساختهای فناوری اطلاعات، تلفنهای هوشمند، توسعه اپلیکیشنهای موبایل، هوش مصنوعی،کلان داده، شبکههای اجتماعی، بلاک چین، تجارت الکترونیک، رسانههای دیجیتال، خدمات دیجیتال، اینترنت اشیا (IoT) و سایر فناوریهای اطلاعات و ارتباطات (ICT) به طور مستقیم نقش راهبردی در اقتصاد دیجیتال دارد.
کلان دادهها (Big Data)برای بسیاری از شرکتهای داده محور در عصر اقتصاد دیجیتال یک ضرورت است. بنابراین شرکتهای بیشتری در حال توسعه فناوریهایی هستند که امکان جمع آوری و یکپارچهسازی دادهها، انتقال دادهها و تجزیه و تحلیل آنها را فراهم میکند. بهینه شدن مدیریت کلان دادهها به شرکتها کمک میکند تا بتوانند از دادههایی که در داخل و خارج سازمانشان جریان مییابد، ارزش بیشتری کسب کنند.
طبیعتا در کشورهای توسعه یافته تحولات یک دهه اخیر صنعت نرمافزار بر اقتصاد دیجیتال شکوفا شده و در حال گذر تدریجی به دوران جدید است. درحالیکه در کشورهای در حال توسعه فناوریهای یادشده در حال شکل گیری و بلوغ است و میتواند منشا اثر دوگانه هم در توسعه نرمافزارهای مرتبط و هم در پویایی و کارایی هر چه بیشتر اقتصاد دیجیتال شود.
*چالش های صنعت نرم افزار در بخش های مختلف اعم از طراحی، تولید فروش و تامین مالی و سایر موارد، در ایران چیست؟
در دوران پسا پاندمیک کسبوکارها باید با مدلهای کاری جدید سازگار شوند و مدلهای کاری هایبرید مستقر در دفاتر کاری و دورکاری را مد نظر قرار دهند.خوشبختانه در دوران پاندمیک ابزارهای فراوانی مانند Slack و Trello برای مدیریت پروژهها و تیمهای نرمافزاری بشکل کاملا توزیع شده در بستر اینترنت فراهم شده است که مدل کاری هایبرید را تضمین میکند. از طرفی پارادایم work-from-anywhere به کارفرمایان این امکان را میدهد که از نیروهای متخصص بدون محدودیتهای زمانی و مکانی بتوانند استفاده کنند.
بر اساس مطالعه آماری که Sourcegraph در اکتبر ۲۰۲۰ انجام داده است برنامه نویسان ۱۰۰ برابر بیشتر از سال ۲۰۱۰ سورس کدهای مختلف را باید رسیدگی و مدیریت کنند. در واقع بیش از ۷۲ درصد از منابع ITموجود در سازمانها باید به نگهداری سیستمهای قدیمی موجود اختصاص یابد به جای آن که صرف نوآوری حضور موثر و ماندگار در فضای رقابتی بازار شود.
بسیاری از سازمانها هرگز به جایگاه شایسته توسعه نرم افزار به عنوان یک دارایی مهم نگاه نمیکنند و ترجیح آنها بر تهیه برنامههای آماده پکیج شده و در صورت نیاز بکارگیری برنامه نویسانی برای سفارشی کردن بخشهایی از محصول است. مشکل این است که برنامههای پکیج شده در بسیاری از ابعاد قابل سفارشیسازی نیستند.
ممکن است برای سیستمهای بکاند یک کسب و کار مانند منابع انسانی و مالی مناسب باشد، اما برای بخشهایی از کسبوکار که با مستقیما با مشتری روبرو هستند خیر. سوال اصلی این است که اگر از نرمافزارهایی مشابه دیگران استفاده میکنید، چگونه میتوانید متمایز شوید و مزیت رقابتی کسب کنید؟ در این بخش از کسبوکار، انتخاب شما دیگر «ساخت یا خرید»(build or buy)نیست، این در واقع "بساز یا بمیر!" (build or die!)است.
مواردی نظیر شناسایی و آموزش کارشناسان خبره در حوزه نرمافزار و مهمتر از آن حفظ نیروهای متخصص، عدم شناسایی به موقع انتظارات مشتری و اصولا بیتوجهی به فاز مهندسی و تحلیل الزامات، روحیه کار تیمی و کنار گذاشتن تمایلات و سلایق فردی، چالشهای ارتباطی با کارفرمایان که عمدتا بخش دولتی هستند و نهایتا مدیریت بودجه و منابع لازم از مهمترین چالشهای دیگری است که میتوان برای این حوزه بر شمرد.
در پایان این بخش لازم است به یک تجربه موفق با وجود تمام مسایل و چالشها اشاره کنم، پروژه طراحی و توسعه سامانه نرمافزاری تلسکوپ رصدخانه ملی ایران که دارای مسایل فنی و مدیریتی فراوان نظیر الزامات پیچیده مهندسی، ارتباطات تنگاتنگ با سامانه های بلادرنگ، توزیع شدهگی در مقیاس وسیع و... بوده است.
(تلسکوپ رصدخانه ملی ایران بعنوان بزرگترین پروژه علمی کشور در پژوهشگاه دانشهای بنیادی و در طی یک دهه گذشته انجام شده است).
*به نظر شما در بخش صادرات نرم افزاری چه راهکارهایی باید اندیشیده شود؟
صادرات نرم افزار میتواند یک راهکار بسیار مناسب، با بهره وری بالا و ریسک اندک در توسعه اقتصادی کشورها در نظر گرفته شود. اگر ایدههای خلاقانه و سرویسهای موثر با استفاده از بروزترین تکنولوژیهای روز دنیا در توسعه و ساخت محصولات نرمافزاری در نظر گرفته شود یقینا نسبت به صادرات کالاهای سنتی دارای ارزش افزوده بالایی خواهد بود. گزارش بانک مرکزی هند نشان میدهد که در بازه زمانی ۲۰۲۰-۲۰۲۱ ارزش صادرات نرم افزار هند با رشد ۲٪ به ۱۴۸.۳ میلیارد دلار رسیده است.
برای رفع موانع صادرات نرم افزاری ایران به طور خلاصه میتوان به موارد زیر اشاره کرد:
• شناسایی، درک و تحلیل صحیح نیازمندیهای بازار نرمافزار خارج از ایران
• پیروی از استانداردهای جهانی در طراحی، توسعه، آزمون ...و حتی مستندسازی نرمافزار
• ارزش گذاری صحیح و منطقی محصولات نرمافزاری
• رعایت کامل قوانین کپی رایت
• حضور مداوم و موثر در نمایشگاههای بین المللی
• حذف (یا حداقل سامان دهی) مراکز تصمیمگیری متعدد مانند اتحادیه صادرکنندگان، سازمان توسعه تجارت ایران، سازمان نظام صنفی رایانهای کشور ..... و ایجاد یک فرآیند منسجم و یکپارچه
*در پایان راهکارهای توسعه ای این صنعت را توضیح بدهید.
از دیدگاه فنی میتوان به مواردی نظیر محوریت دانش مهندسی نرمافزار، مطابقت با استانداردها و دنبالهروی از بهترین شیوههای موجود (Best Practice) ، به کارگرفتن فناوریهای بروز بخصوص در زمینه استفاده از ابزارها و پلتفرمهای پیشرفته و عدم اصرار و تعصب در ساخت چرخ پنجم اشاره کرد.
از دیدگاه مدیریتی ارزش گذاری مناسب در برخورد با نیروهای متخصص و شایسته سالاری ، آموزشهای مستمر آنلاین از منابع معتبر بینالمللی، شناسایی ظرفیتهای موجود در محیطهای دانشگاهی و ایجاد بستر ارتباطی مناسب بین صنعت و دانشگاه، برگزاری رویـدادهای آموزشی-تجربی غیـرانتـفـاعـی نظیر استارتاپ ویکند (و البته ایجاد فرهنگ حرفهای آن)، پررنگتر شدن حضور شتابدهندهها برای بهینه سازی طرح کسب و کار و تأمین سرمایه اولیه در مسیر ارزش آفرینی سریعتر، ایجاد انگیزه برای ورود سرمایهگذاران خطرپذیر (VC) برای پشتیبانی از محصولات و ایدههای ناب نرمافزاری و نهایتا ایجاد یک فضای رقابتی سالم بدون رانتهای ویژه برای مشارکت در توسعه و ساخت پروژههای نرمافزاری بزرگ میتواند توسعه این صنعت را در سالهای آینده تضمین کند.
نظر شما