💡 قسمت سوم: استفاده از GenAI در توسعه نرمافزار، خوب، بد، زشت!
💡 قسمت سوم: استفاده از GenAI در توسعه نرمافزار، خوب، بد، زشت!
🏆 فصل سوم: The Good: موفقیت در سازمانهای بالغ
شنیدید که مارگزیده از ریسمون سیاه و سفید میترسه؟ در حقیقت من هم اینقدر طی این سالها شاهد جَوزَدگی اهالی نرمافزار بودهام که سعی میکنم قبل از محاسن یک تکنولوژی مستعد به حباب و جَو و هیجان، مخاطرات و الزامات و موارد کاربردش رو بگم! طی دو قسمت اول، با توجه به اقبال و وابستگی زیادی که توی اکوسیستم نسب به GenAI پدید اومده، سعی کردم تا مبتنی بر بررسیها و با حداقل رسوندن نظر شخصی، جنبههای بد و زشت رو اشاره کنم و سرنخهایی برایی مطالعه عمیقتر به اشتراک بگذارم. حالا توی قسمت سوم، بریم سراغ جنبهی خوب استفاده از GenAI در فرایند توسعه!
- کارایی در سازمانهای بالغ و دارای دیسیپلین: توی شرکتها و تیمهایی که اصول مهندسی نرمافزار و فرایندهای بازبینی کد، بهخوبی درک و نهادینه شده باشه، هوش مصنوعی مولد میتونه بدون افت کیفیت به بهبود عملکرد کمک کنه. به عنوان مثال، eBay با یه آزمایش A/B روی ۳۰۰ توسعهدهنده بهبود ۱۷٪ روی زمان مرج شدن کدها و بهبود ۱۲درصدی Lead Time for Change روی گروهی که از Copilot استفاده میکردن دیده! علاوه بر این کیفیت کد (بر اساس آنالیز Sonar) بین دو گروه آزمایشی و کنترل تفاوت معناداری نداشته. (نتیجه زمینهسازی استفاده از AI و بعد، به خدمت گرفتنش)
- فرصتی برای بزرگتر و پختهتر بودن: اگر به «شکل اصولی» استفاده بشه، آموزش داده بشه، و نه اینکه تجربی و آزمون و خطایی باشه؛ گامبهگام و با برنامه، مرحله به مرحله به فرایندها بیاد؛ شما فرصت یادگیری مداوم، بسترسازی برای بهبودها و تحلیلهای بعدی از طریق تیکتها و مستندات بهتر، تستنویسی بهینه و یادگیری رو در تیمتون فراهم کردید. مثلا به جیرا وصلش کنید تا اگر تیکت دقیق و اصولی نوشتید، چک کنه توی PR/MR آیا همه Acceptance Criteria لحاظ شده یا چیزی از قلم افتاده! مثلا مستندسازی فرایندها روی از کدهای قدیمی برای بازنویسی سیستم تسریع کنید، یا مثلا با ابزارهای غیر GenAI ترکیب کنید تا پیشگیرانه مانع از ورود الگوهای تکراری و پیچیدگی اشتباه شید (لطفا اگر علاقه داشتید مطالب مرتبط با code metricها رو در کانال مطالعه کنید)
- ذرهبینی برای واضحتر دیدن: تنبلی و رخوت و بیانگیزگی چیزی نیست که با GenAI از بین بره؛ شاید فردی که زمینهاش رو داره و عاشق «حلِمسئله» نیست، کمکم تنبلی نهان یا غیرفعالش رو نشون بده، ولی میشه از یک منظر به سرویسهای هوش مصنوعی به مثابه ذرهبینی پرداخت که میتونن کمک کنن خصوصیات منفی افراد آشکارتر بشه؛ آیا این تبعات منفی داره؟ بله حتمن داره؛ ولی یادمون نره ریشهی خصوصیات کسی که حاضره ۳ ساعت با کوپایلوت و کرسر ور بره ولی روی حل یه مسئله فکر نکنه، قدیمیتر از دوران پیدایش GenAI است و این آدم ۳ سال پیش، بدون خوندن توضیحات مردم، کدها رو از StackOverflow کپی/پیست میکرده. این آدم، در گذشتهی دورتر تواناییهایی رو کسب نکرده که حالا دیره! و من شخصا این رو یه مزیت GenAI میدونم.
یه نکته مهم و خوشبینانه اینه که ۶۸٪ سازمانها طبق گزارش World Quality Report 2024 به طور فعال از GenAI استفاده میکنن یا roadmap دارن براش و «برخی» موفق هستن؛ این عدد توی گزارشات ۲۰۲۵ رشد معنیداری کرده؛
- نکته مهم: کلی آمار توی فیشها و نوتهایی که حین بررسی جمع میکنم، برای این بخش در نظر گرفتم ولی به ذهنم رسید با این موضوع جایگزین کنم که کلی عدد و آمار وسوسهکننده از بهبود اعتماد به نفس تیم، افزایش بهرهوری، لذت برنامهنویسی و... توسط مراکز معتبر منتشر شده و خواهد شد؛ دقت کنید که خیلی از اینها درسته، ولی مثلا مایکروسافت در مورد برنامهنویسهاش اعلام کرده، ولی نکته مستتر اینه که کلی تیم به صورت تخصصی در شرکتهایی مثل مایکروسافت، گوگل، اوبر و تسلا و... به صورت تخصصی دارن زیرساخت AI و GenAI برای تیمهای توسعه فراهم میکنن، پس راهبهخطا نرفتن اون تیمها کمتر محتمل است تا شرکتی که توسعهدهندههاش خودجوش دارن با یه سری ابزار وَر میرن یا به صورت غیرساختاریافته ازشون استفاده میکنن؛ بدون هیچ guideline درونسازمانی، agent داخلی و نظارت platform engineering. یا برخی از این آمارها با حمایت سرویسدهندههایی تهیه شده که نتیجه بایاس است به سمت ترغیب شما به خرید copilot یا هر سرویس دیگهایه؛ درست مثل تبلیغ بستنی است که طبیعتا کسی از چربی و شکر و عوارضش رنج نمیکشه و همه با لذت بستنی رو میخورن!
💬 این مطلب در نظرسنجی اخیر کانال، رتبه دوم رو داشت که سعی کردم به اندازه محدودیت و بضاعت تلگرام اندکی بهش بپردازم، اگر چه میشه ساعتها در موردش صحبت و بحث کرد، ولی امیدورام حداقل سرنخهایی ارائه کرده باشم.