بخشی از مقاله

چکیده

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

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

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

واژگان کلیدی: چابک سازی، توسعه نرم افزاری، فعالیتهای چتری

مقدمه:

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

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

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

این روش توسط Kent Beck در سال 1999 ابداع شد و به عنوان نقطه شروع روش های سریع الانتقال بسیار مورد توجه قرار گرفت. به دلیل استقبال بسیار که از روش XP شد محققان به طور گسترده به تحقیق و پژوهش در این زمینه پرداختند و متدولوژی های جدید سریع الانتقال یکی پس از دیگری ابداع شدند.چابکی توانایی ایجاد و پاسخ به تغییرات به منظور کسب سود در محیط متلاطم حرفه میباشد و ارتباط تنگاتنگی با مسئله ی تغییر دارد که از دگرگونی های محیطی حرفه ناشی میشود و سازمانها را ملزم به مقابله میدارد .سازمانی که نخواهد و یا نتواند در مقابل تغییرات عکس العمل مناسب نشان دهد بایستی منتظر لطمات شدید و در نهایت مرگ باشد .

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

در متن اصلی مقاله به هم ریختگی وجود ندارد. برای مطالعه بیشتر مقاله آن را خریداری کنید