[ad_1]

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

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

اما اگر نرمافزار عامل اصلی ماندن در رقابت باشد ، شرکت ها باید بهره وری از توسعه دهندگان نرم افزار گران و کمیاب خود را به حداکثر برسانند. خودکار کردن کارهای اتلاف وقت سریع ترین راه برای انجام این کار است.

نگاهی به رابط کاربری سیستم های جدید سرگرمی اتومبیل بیندازید – اکثر آنها تقریباً به همان شکل پنج سال پیش در اتومبیل ها به نظر می رسند. بیشتر رانندگان به دلیل رابط کاربری عالی و دقت دست دوم ، Google Maps را به سیستم نقشه ماشین خودشان ترجیح می دهند. شرکت های خدمات غذایی به دلیل اینکه قادر به پیش بینی تقاضا نیستند ، همچنان مواد غذایی را هدر می دهند. چنین نمونه هایی در همه جا وجود دارد ، اما نه به این دلیل که راه حل های بهتری وجود ندارد. وقتی توسعه دهندگان برای کنار آمدن با آنها تلاش می کنند ، پروژه ها عقب مانده و مورد تریاژ قرار می گیرند.

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

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

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

هوش مصنوعی می تواند گلوگاه هایی ایجاد کند – اما همچنین آنها را برطرف می کند.

هر گردش کار توسعه نرم افزار نمی تواند خودکار باشد ، اما پیشرفت تدریجی در فناوری امکان اتوماتیک کردن کارهای مهم را ممکن کرده است: بیست سال پیش ، یک توسعه دهنده در SUN Microsystems یک سیستم خودکار ایجاد کرد – که در نهایت Jenkins نام گرفت – که بسیاری از موانع موجود ادغام و تحویل مداوم نرم افزار. سه سال پیش ، فیس بوک ابزاری به نام Getafix را منتشر کرد که از تعمیرات گذشته مهندسان برای رفع اشکالات می آموزد. در نهایت ، این پیشرفت ها – که باعث صرفه جویی زیادی در توسعه دهندگان می شود – خرابی و خرابی را محدود می کند و قابلیت اطمینان و پایداری را فراهم می کند ، که می تواند به طور مستقیم بر درآمد تأثیر بگذارد.

اما از آنجا که هوش مصنوعی سرعت توسعه نرم افزار را تسریع می کند ، مقدار کدی که باید آزمایش شود سریعتر از آن است که توسعه دهندگان بتوانند به طور موثر آن را حفظ کنند. خوشبختانه اتوماسیون – و ابزارهای جدید خودکار – نیز می توانند کمک کنند.

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

اما نوشتن تست های واحدی تمرین خسته کننده ، مستعد خطا و زمان بری است که باعث می شود کارهای خلاقانه تری از آنها گرفته شود – کاری که برای کسب و کار نیز درآمد کسب می کند – در حالی که آزمایش کنندگان کار همکاران خود را در نظر می گیرند. و تست از بسیاری جهات نسبت به ایجاد نرم افزار زمان بر است. تست های عملکرد ، عملکرد ، امنیت و … باید برای هر واحد نرم افزار نوشته شود. این یک صنعت 12 میلیارد دلاری است ، اما تقریباً تمام این پول صرف کار دستی می شود و بیشتر آن را به منابع خارجی سپرده ایم.

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

استفاده از این نوع اتوماسیون چندین مزیت قابل توجه را به شرکت ها ارائه می دهد.

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

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

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

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

آینده توسعه نرم افزار اتوماسیون است.

اتوماسیون در تمام قسمتهای فرایند توسعه نرم افزار وجود دارد ، بعضی زودتر از قسمت های دیگر – با قدرتمندتر شدن سیستم های هوش مصنوعی ، گزینه های اتوماسیون فقط رشد می کنند. مدل زبان عظیم OpenAI ، GPT-3 ، هم اکنون می تواند برای ترجمه زبان طبیعی انسان به طراحی صفحه وب مورد استفاده قرار گیرد و در نهایت می تواند برای خودکار کردن کارهای کدگذاری استفاده شود. اما در نهایت بخشهای زیادی از زنجیره تامین ، تحویل و نگهداری نرم افزار توسط ماشین آلات اداره می شود. با گذشت زمان ، هوش مصنوعی نوشتن نرم افزارهای کاربردی را کاملاً خودکار می کند.

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

[ad_2]

منبع: bighat-news.ir