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

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

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

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

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

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

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

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

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

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

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