سیستم توسعه نرم افزار اجایل یا چابک چیست؟ آیا در کنترلاعداد از اجایل استفاده میکنیم؟
سعید کشاورز کرمانی (سردبیر)
در 11 تا 13 فوریه 2001، هفده نفر در یک کلبه در اسنوبرد واقع در میان کوههای پر برف واساچ یوتا دور هم جمع شدند. برنامه آنها گپ زدن، اسکی کردن، استراحت و غذا خوردن بود. البته هدف دیگری هم داشتند که نتیجه آن پیامدهای قابل توجهی بر روند توسعه نرم افزار داشته است!
این هفده نفر همان کارشناسان و متخصصانی بودند که بیانیه اجایل را برای «توسعه نرم افزار» تنظیم کردند.
چابک (Agile) چیست؟
توسعه نرمافزار اجایل (Agile) به گروهی از روشهای توسعه تکرار شونده گفته میشود که در آن تیمهایی از حوزههای مختلف با هم کار میکنند تا راه حل هایی را برای الزامات پروژه ارائه دهند. در اجایل روشها یا فرآیندهایی پیشنهاد میشود که فلسفه رهبری، کار تیمی، خودسازماندهی و مسئولیتپذیری را تشویق میکند. اجایل مجموعهای از بهترین شیوههای مهندسی میباشد که برای سرعت بخشیدن به ارائه نرم افزارهایی با کیفیت بالا طراحی شده است و از طرفی یک متد مدیریت پروژه است که فرایند ساخت نرم افزار را با نیازهای مشتری و اهداف شرکت هماهنگ می کند.
اصول چابک
متد اجایل (Agile) دوازده اصل را ارائه میکند که منجر به روان شدن و انعطافپذیری ساخت پروژه نرم افزاری میشود که در نهایت رضایت و سودآوری برای مشتریان و شرکت را به دنبال دارد. در اینجا اصول و قوانین ارئه شده را ذکر میکنیم:
- اولین اولویت ما جلب رضایت مشتری از طریق تحویل ورژن های به موقع و مستمر نرم افزار است.
- از درخواست تغییر نترسید، در متد چابک (اجایل) شما به راحتی میتوانید حتی در مراحل آخری توسعه و ساخت نرم افزار تغییرات را ایجاد کنید تا مشتریان را در رقابت های خود با سایر رقیبان کمک و یاری دهید.
- به طور مکرر و در بازه زمانی کوتاه مثلا هر هفته یا هر ماه نرم افزار را به کارفرما ارائه دهید.
- توسعه دهندگان و در کل افرادی که در پروژه مشغول به کار هستند باید روزانه در طول پروژه با یکدیگر همکاری کنند.
- پروژهها را به وسیله افراد با انگیزه بسازید. محیط مناسب و حمایت لازم را در اختیار آنها بگذارید و بعد برای انجام کار به آنها اعتماد کنید.
- کارآمدترین و مؤثرترین روش انتقال اطلاعات به تیمهای مختلف توسعهدهنده و اعضای آن، گفتگوی حضوری است.
- کارکرد نرم افزار مهمترین معیار برای میزان پیشرفت پروژه است.
- فرآیندهای اجایل توسعه پایدار را ترویج می کنند. حامیان مالی، توسعه دهندگان و کاربران باید همیشه بتوانند یک سرعت ثابت را حفظ کنند.
- توجه مداوم به برتری فنی و طراحی مناسب، سرعت را افزایش می دهد.
- سادگی امری ضروریست که به معنی هنر جلوگیری از کارهای غیرلازم و دوبارهکاریهای غیر الزامی میباشد.
- بهترین معماریها، نیازمندیها و طرحها از تیمهای خود ساخته پدید میآیند.
- تیمها همیشه باید به این مورد توجه کنند که چگونه بهرهوری بیشتری داشته باشند، بعد از آن باید رفتار خود را بر اساس آن تنظیم و هماهنگ کنند.
چگونه در شرکت کنترلاعداد از اجایل استفاده می کنیم
متد اجایل (Agile) پروژه را به چند بخش کوچکتر و قابل مدیریت به نام Epic تقسیم می کند. توسعه دهندگان کار خود را بر روی یک Epic در یک بازه زمانی به نام Sprint شروع می کنند. تکمیل یک نسخه از نرم افزار از آن Epic در بازه زمانی 2 هفته نکته مهمی است که باعث سرعت بخشیدن به کار میشود. به این ترتیب، مشتری در فرآیند توسعه همکاری می کند و روش اجایل امکان انعطاف پذیری بیشتری را در گردش کار پروژه فراهم می کند.
هنگامی که رضایت مشتری را برآورده کردیم، Epic کامل می شود و کار بر روی Epic بعدی می تواند آغاز شود.
ما، تیم کنترلاعداد، پروژه را به چند مرحله تقسیم می کنیم تا درخواستهای در حال تغییر را برآورده سازیم. همچنین مراحل بر اساس نیازها و ترجیحات مشتری اولویت بندی می شوند. علاوه بر آن مشتری به تمام اسناد پروژه دسترسی کامل دارد و تمامی فرآیندها طبق برنامه در حال انجام است.
طبق اظهارات مشتریان، استفاده از متد اجایل (Agile) در پروژه ها برای مشتری و شرکت سودمند بوده است.
Lawazm یکی از پروژه های ما است که از طریق روش اجایل (Agile) توسعه یافته است، می توانید از وب سایت آن بازدید کنید یا نسخه iOS و Android برنامه Lawazm را امتحان کنید. برنامه های تلفن همراه با استفاده از Flutter توسعه یافته اند، بنابراین تجربه کاربری در دو پلتفرم دقیقاً یکسان است.