آموزش مقدماتی متدلوژی اجایل

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

بررسی اجمالی متد و فرآیند اجایل

هریک از تیم های سازنده وب و نرم افزار بخشی از متدلوژی اسکرام و اجایل را به کار میگیرند.
در ادامه بررسی اجمالی بر فرآیند اجایل خواهیم داشت که به سادگی توضیح خواهیم داد متدلوژی اجایل در توسعه و طراحی نرم افزار چیست و چگونه می توان در شرکت های طراحی نرم افزار آن را به کار گرفت.
 
لیست متدلوژی های اجایل که به طور وسیعی استفاده شده است:
 
  • متدلوژی اسکرام اجایل
  • توسعه نرم افزار lean
  • کانبان
  • برنامه نویسی صرف XP
  • کریستال
  • متد توسعه نرم افزار پویا DSDM
  • توسعه FDD
 
 

تعریف متد اجایل

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

اصول کلی متد اجایل

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

بیشتر بخوانید: بیانیه اجایل
 


تاریخچه متد اجایل

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

شرکت های استفاده کننده از متد اجایل

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

مزایای استفاده از متد اجایل

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

نقدها و انتقادات به توسعه اجایل

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

تفاوت های اجایل و روش های توسعه سنتی (آبشاری یا حلزونی)

 

فرضیات پایه

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

کنترل

سنتی: فرآیند محور
اجایل: انسان محور
 

روش مدیریت

سنتی: دستور و کنترل
اجایل: هدایت و همکاری
 

مدیریت دانش

سنتی: صریح
اجایل: ضمنی
 

واگذاری نقش

سنتی: تخصص شخص محور
اجایل: قابلیت تعویض نقش بر اساس تشویق تیم ها به خودسازمانی
 

ارتباطات

سنتی: رسمی
اجایل: غیر رسمی
 

نقش مشتری

سنتی: مهم
اجایل: حیاتی
 

چرخه پروژه

سنتی: وظایف و فعالیت ها
اجایل: ویژگی های محصول
 

مدل توسعه

سنتی: مدل چرخه حیات (آبشاری، حلزونی و ..)
اجایل: مدل ارائه تکاملی
 

ساختار سازمانی

سنتی: مکانیک
اجایل: ارگانیک
 

تکنولوژی

سنتی: بدون محدودیت
اجایل: تکنولوژی شی گرا
 
 
پیشنهاد برای مطالعه

دیدگاه‌ خود را بنویسید

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