نماد سایت برنامه چی | Barnamechi

تکنیک Agile یا چابک در برنامه نویسی چیست؟

معمولا این سوال از من پرسیده میشود که Agile یا به زبان فارسی، چابک چیست؟ در جواب باید بگویم یک مفهوم ساده است. یا بهتر است بگویم Agile یک کلمه دهن پرکن است که در صنعت IT به عنوان یک جایگزین برای مدیریت پروژه استفاده میشود. برای آشنایی کامل با این مفهوم با برنامه چی همراه باشید.

در این مقاله سرفصل های زیر بررسی میشوند:
تعریف چابک (Agile) به زبان ساده
Agile (چابک) از کجا آمده است؟
Agile چگونه کار میکند؟
*یک لیست درست میکنید
*همه چیز را اندازه گیری میکنید
*کارهای خودتان را اولویت بندی کنید
*اجرای نرم افزار را شروع کنید
هنگام پیشرفت کردن باید برنامه خودتان را آپدیت کنید
چرا Agile متفاوت است؟
منابع بیشتر برای مطالعه


تعریف چابک (Agile) به زبان ساده

چابک یک تکنیک در توسعه نرم افزار است که با استفاده از کارهای زمان بندی شده و تکراری، باعث میشود نرم افزار به تدریج ساخته شود. به جای اینکه سعی کنید همه آن را یکدفعه بسازید.

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

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

در اصل Agile یک متدولوژی یا روش کار است که باید در هنگام برنامه نویسی و ساخت برنامه های موبایل آن را اجرا کنید. یعنی یک تکنیک برای برنامه نویسی میباشد که با استفاده از آن باید کدها را بنویسید. پس یک مرحله قبل از نوشتن کدها باید سراغ آن بروید و زیاد با خود نوشتن کدها سر و کار ندارد.


Agile (چابک) از کجا آمده است؟

در سال ۲۰۰۱، تعدادی از مردم که از روش های سنتی برای توسعه نرم افزار خسته شده بودند، تکنیک Agile را طراحی کردند. پس یک روش قدرتمند تر برای مدیریت پیشرفت در پروژه های نرم افزاری است.

کل ایده چابک چهار ارزش مهم را دنبال میکند:

۱۲ اصل اساسی در توسعه نرم افزار با تکنیک Agile وجود دارد:


Agile چگونه کار میکند؟

Agile اینگونه کار میکند که ابتدا پروژه را به قسمت های کوچکی بر اساس عملکرد کاربر به نام User Strories تقسیم میکنیم، آنها را اولویت بندی میکنیم، سپس سعی میکنیم هرکدام از آنها را در چرخه های زمانی ۲ هفته ای تکمیل کنیم که به این چرخه ها iteration (به معنی تکرار) گفته میشود.

به زبان ساده تر چابک همان کاری را انجام میدهد که من و شما وقتی کارهای زیاد و زمان کمی داریم انجام میدهیم. حالا مرحله های این کار را با یکدیگر مرور میکنیم:


۱- یک لیست درست میکنید

وقتی که با مشتری یا کارفرمای خودتان صحبت میکنید، یک لیست از خصوصیت ها و ویژگی هایی که آنها میخواهند در نرم افزار خودشان داشته باشند درست میکنید. ما به مواردی که در این لیست هستند User Stories میگوییم. این موارد به یک To Do List تبدیل میشوند که برای پروژه باید از آن استفاده کنید.


۲- همه چیز را اندازه گیری میکنید

در این مرحله باید از تکنیک های تخمین زدن مربوط به Agile استفاده کنید، سپس همه این User Story ها را نسبت به یکدیگر زمان دهی کنید. باید بتوانید حدس بزنید که چه مدت زمان میبرد هرکدام از این موارد چه مقدار طول خواهد کشید.


۳- کارهای خودتان را اولویت بندی کنید

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


۴- اجرای نرم افزار را شروع کنید

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


۵- هنگام پیشرفت کردن باید برنامه خودتان را آپدیت کنید

وقتی که شما و مشتری (کارفرما) ساختن را شروع میکنید، یکی از این دو مورد اتفاق خواهد افتاد. متوجه میشوید که:

  1. شما دارید با سرعت مناسب پیشروی میکنید، همه چیز خوب است. یا،
  2. کارهای بسیار زیادی برای انجام دادن دارید و وقت کافی ندارید.

در این مرحله شما دو انتخاب دارید. شما میتوانید یا کار کمتری انجام بدهید و محدوده کاری را کوتاه تر کنید (که همین روش پیشنهاد میشه). یا اینکه از کارفرمای خودتان زمان بیشتر و پول بیشتری را بخواهید.


چرا Agile متفاوت است؟

آنالیز کردن، طراحی، کدنویسی و تست کردن فعالیت هایی هستند که همواره با آنها درگیر هستید.

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

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


منابع بیشتر برای مطالعه

تکنیک های Agile (چابک) بحث های بسیار گسترده ای دارد که در فرصت های بعدی درباره آنها توضیحات بیشتری ارائه میدهیم. اکنون میتوانید با استفاده از منابعی که در این قسمت معرفی میکنیم، اطلاعات خودتان را کامل تر کنید.

اگر شما هم در این باره تجربه یا اطلاعاتی دارید، آن ها را با دیگر کاربران و ما، در قسمت نظرات (همین پایین)، به اشتراک بگذارید.

خروج از نسخه موبایل