در سال ۱۹۹۵، واتس هامفری (Watts Humphrey)-معروف به پدر کیفیت نرمافزار- فرایند توسعهی نرمافزاری معرفی کرد که برای توسعهدهندگان در سطح فردی طراحی شده بود.
این فرایند در عمل شکست خورد.
«فرایند نرمافزار شخصی» (Personal Software Process – PSP) به توسعهدهنده اجازه میداد فرایندی تعریفشده، قابلاندازهگیری و با امکان بهبود مستمر برای خودش داشته باشد. این فرایند روی کاغذ کار میکرد، اما سربار ثبت و مستندسازیاش عامل شکست این فرایند شد: ثبت زمان، ثبت خطاها و پر کردن فرم بعد از هر فعالیت. تقریبن هیچکس نمیتوانست این کارها را برای طولانیمدت انجام بدهد. هامفری بعدها به سراغ فرایندهای در سطح تیم (Team Processes) رفت. و ناگفته خود پیداست «تیم» کوچکترین واحد طراحی فرایند در سی سال گذشته بوده است.
به باور من این موضوع در حال تغییر و تحول است.
نگاهی کنید به آنچه یک دستیار کدنویسی هوش مصنوعی (AI Coding Assistant) واقعن در اختیار شما میگذارد:
→ مهارتها (Skills): تواناییهای ازپیشتعریفشده و قابل استفادهی مجدد برای انجام کارهای مشخص در چرخهی حیات توسعهی نرمافزار (Software Development Life Cycle – SDLC)، مانند تحلیل، طراحی، آزمون و بازبینی
→ زیرعاملها (Subagents): عاملهای تخصصی که هرکدام مسئول انجام وظیفهای مشخصاند
→ هوکها (Hooks): اقداماتی که در نقاط مشخصی از فرایند بهصورت خودکار اجرا میشوند
→ فایلهای حافظه (Memory Files): فایلهایی برای نگهداری قواعد، دستورالعملها و اطلاعاتی که عامل باید در طول کار به خاطر داشته باشد
به کمک آنها شما میتوانید یک فرایند کامل بسازید؛ فرایندی که طراح آن خود شمایید.
این نگاه، تکرار داستان «ساخت ارتشی از عاملها» (Army of Agents) که این روزها همهگیر شده نیست. عاملها هیچوقت موضوع اصلی این داستان نبودهاند. اصل ماجرا این است که این روزها ماشین (یا همان هوش مصنوعی) میتواند همان سرباری که PSP را از پا درآورد یک تنه به دوش بکشد: ثبت پیوسته، اندازهگیری و اعمال قواعد.
هامفری درست میگفت؛ فقط سی سال زود گفته بود!
من اسم این ایده را «فرایند تک نفره» (Process of One) گذاشتهام و این روزها سخت مشغول فکر کردن و ساختن آن هستم.
سرگرم طراحی و راهاندازی فرایندی هستم برای خودم و زندگیام: فعالیتها، نقشها، دروازههای کیفیت (Quality Gates) و بازنگریها (Retrospectives). همهی کارهایی که زمانی برای تیمها انجام میدادم، حالا برای تیم یکنفرهی خودم انجام میدهم. با این تفاوت که این بار، ماشین (دستیار هوش مصنوعی) کارهای ثبت و پیگیریای را انجام میدهد؛ همان کارهایی که فرایند هامفری را از پا درآورد ولی اینبار نمیتواند فرایند من را به چالش بکشد.
این اصل مهندسی هوش مصنوعی (AI Engineering) را هم برای این کار میتوان استفاده کرد: چیزی را که اندازه نمیگیرید، دربارهاش فقط میتوانید حدس بزنید (if you don’t measure it, you’re guessing). پس برای ارزیابی کارایی فرایند شخصیام مدام میپرسم : آیا واقعن داره کار میکنه؟
نتیجه اینکه با وجود دستیارهای هوشمصنوعی، شما عملن یک تیم یکنفرهاید با یک فرایند یکنفره.
شما فرایند خودتان را چگونه طراحی میکنید؟
پانوشت:
ساخت یک کاتالوگ از این الگوها (Patterns) رو شروع کردم؛ تا امروز ۱۹ الگو با کمک ایآی بررسی و مدون شده. همهی الگوها با یک ساختار یکسان نوشته شده: موقعیت (Situation)، مساله (Problem)، راهکار (Solution) و منبع (Source). میتونید اونها رو در این آدرس در گیتهاب پیدا کنید: لینک
گزیده:
بیرون ز تو نیست هرچه در عالم هست
در خود بطلب هر آنچه خواهی که توئی
مولانا
