آموزش توسعه نرم افزار Agile

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

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

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

مدیران پروژه و توسعه دهندگان نرم افزار نیز پس از آن، این نقشه‌ها را به کارگیری می‌کردند.

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

برخی پروژه‌ها حتی به طور کامل از کار می‌افتادند.

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

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

پیام بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

− three = 2