بیش از 60 سال است که شرکتهای تولید کننده نرم افزار از روشهای سنتی برای تولید محصولات نرم افزاری خود استفاده می کنند. در این مدت فرصت مناسبی بوده که این روشهای توسعه به طور مناسبی مدون شده و به نوعی استاندارد مناسبی برای توسعه نرم افزار در اختیار توسعه دهندگان قرار دهند. از اوائل قرن جدید و همزمان با توسعه روز افزون اینترنت و وب و همچنین فراگیر شدن استفاده از بسته های نرم افزاری مشکلات سنتی روشهای توسعه نرم افزار بیش از پیش خود را نشان دادند. تاخیر در تحویل بسته های نرم افزاری، امکان عدم تغییر در نیازمندی های مشتریان و در نهایت نارضایتی مشتریان موارد است که توسعه نرم افزار با روشهای سنتی را نج میدهد. ظهور روشهای نوین توسعه که مستلزم ساز و کاری جدید در محیط توسعه نیز می باشد به عنوان راه حلی برای مشکلات مزبور در نظر گرفته شد. روشهای نوین که آنها را روشهای توسعه چابک نامیده اند، سعی دارند که با ارائه فرایندهای توسعه جدید چابکی مناسبی به شرکتهای تولید کننده نرم افزار بدهد.
2-1- بیان مسئله اساسی تحقیق به طور کلی
امروزه روشهای چابک در توسعه نرم افزار (Agile methodologies) در حال جایگزینی با روشهای سنتی توسعه نرم افزار(Traditional methodologies) هستند [1]. روشهای چابک که به نوعی واکنشی به روشهای سنتی هستند، ارزشهای متفاوتی را در مقایسه با روشهای سنتی دنبال میکنند [2]. یکی از مسائلی که شرکتها و سازمانهای نرم افزاری در مسیر تغییر روش خود از سنتی به چابک به کرات با آن مواجه هستند، اندازه گیری میزان چابکی است که در هر برهه زمانی حاصل نموده اند. نکته در اینجاست که این تغییر، فرایندی ناگهانی نیست و گاها بیش از یکسال زمان نیاز دارند و گاها با دشواری های فراوانی نیز همراه است [3]. این امر، میزان نیاز به یک ابزار سنجش را بیشتر نشان میدهد. متاسفانه ابزار سنجشی که توافق مناسبی بر آن باشد هنوز وجود ندارد. معیار اندازه گیری مناسب، باید به نحوی
باشد که ضمن داشتن پشتوانه علمی مناسب، از سادگی نیز برخوردار بوده و به راحتی توسط شرکتها و سازمانها ( حتی سازمانهای کوچک) قابل بهره برداری باشد. استفاده از اصول چابک به عنوان معیاری که توافق کلی بر روی آن وجود دارد میتواند در این راستا کمک کننده باشد [4]. بر این اساس ارزشهای چابک که در بیانه چابک [2] و الحاقیه آن مطرح شده اند به عنوان معیاری برای چابک سازی سازمانی در نظر گرفته شود. اما مسلما ارزشها و اصول چابک برای آنکه بتوانند در یک محیط عملی مورد قضاوت واقع شوند چندان مناسب نیستند. چرا که هر کدام از روشهای چابک مانند اسکرام(Scrum) [5]یا اکس پی (XP) [6]و یا روشهای دیگر دارای فعالیت ها، نقش ها و ویژگی های خاص بوده که با روشهای دیگر قابل مقایسه نخواند بود. به عنوان یک پیشنهاد بهتر استفاده از تمرینات چابک به عنوان هسته اولیه ابزار اندازه گیزی مزبور می باشد. در واقع بر اساس تطبیق این تمرینات در سازمان و میزان تمریناتی که در سازمان به صورت نهادینه شده در حال استفاده می باشند، می توان چابکی سازمان را برآورد کرد. این معیار زیربنای اندازه گیری مورد نظر این تحقیق می باشد.
3-1- ضرورت تحقیق
شرکتهای متعددی که در حال تغییر روش های توسعه نرم افزار خود از روشهای سنتی به روشهای چابک هستند، در مقاطع زمانی مختلف نیازمند بررسی میزان پیشرفت خود در چابک سازی هستند. این مساله هم میتواند در راستای بررسی پتانسیل ارزشهای قابل حصول در سازمان کمک نماید و هم می تواند با ایجاد فضای مثبت ناشی از پیشرفت فرایند چابک سازی در روحیه تیمی افراد در افزایش راندمان و منافع سازمانی مفید واقع شود. داشتن ابزاری که بتواند بر اساس یک تحقیق علمی میزان چابکی را نشان دهد میتواند به شدت مورد توجه شرکتهای مزبور باشد. همچنین این ابزار میتواند یک مبنایی برای تعیین فرایندهای آتی قابل انتخاب برای چابک کردن سازمان باشد. به این ترتیب علاوه بر بحث اندازه گیری راهنمای مناسبی نیز برای فرایند تغییر رفتار سازمان نیز خواهد بود.
4-1- نوآوری
آنچه این تحقیق را در نوع خود نوآور می نماید، ارائه یک مدل اندازه گیری چابکی است که وظیفه اصلی آن نشان دادن میزان چابکی است که تا کنون سازمان به آن دست یافته است. همچنین در یک گام اضافه میتواند تمریناتی که هنوز در سازمان نهادینه نشده اند را با میزان تاثیر آنها در چابکی سازمان نشان دهد.
چنین مدلی میتواند به عنوان راهنمایی برای چابک تر شدن شرکتهای نرم افزاری باشد. شاید به عنوان یک ابزار کمکی در فرایند چابک شدن شرکتهای نرم افزاری نیز قابل به کار گیری باشد.
5-1- اهداف
در پایان این پروژه، یک ابزار ساده اندازه گیری چابکی در قالب یک برنامه کاربردی یا وب سایت تهیه خواهد شد. در این وب سایت سازمانها بایستی سوالاتی را که از آنها در مورد تمرینات چابک پرسیده می شود پاسخ دهند. بر اساس این پاسخ ها، میزان چابکی سازمان نشان داده می شود.
سازمانها یا شرکتهای تولید کننده نرم افزار با کمک این ابزار میتوانند رشد خود در دستیابی به آرمانهای چابکی را محک بزنند. این ابزار هم برای شرکتهایی که خواهان استفاده از روشهای چابک میباشند مناسب است و هم برای آنانی که در حال استفاده از برخی از جنبه های چابکی می باشند.
6-1- فرضیه های تحقیق
موارد زیر در این تحقیق مفروض می باشند:
– این تحقیق به بحث تطبیق متدولوژی های چابک با سازمان و پروژه های نرم افزاری وارد نخواهد شد.
– به دلیل نیاز به ارائه یک مدل مورد پذیرش عمومی، تنها مدارک و مستنداتی که در چارچوب روشهای چابک مورد توجه شرکتهای نرم افزاری است، مورد توجه قرار میگیرید.
– این تحقیق مستقل از متدولوژی می باشد. بدین ترتیب همه سازمانها و شرکتهای نرم افزاری که در همه یا بخشی از پروژه های خود، یک یا چند روش توسعه نرم افزار چابک را به کار میگیرند، قادر به بهره گیری از نتایج تحقیق خواهند بود.
7-1- روش تحقیق
انجام هر کار تحقیقاتی مستلزم بستر سازی مناسب برای انجام موضوع تحقیق است. اهمیت استفاده از روش تحقیق مناسب تا حدی است که می تواند به شدت نتایج تحقیق را متاثر سازد. از این روی است که در همه تحقیقات پژوهشی به منطور شفاف سازی و ایجاد درک مناسب از نتایج تحقیق، پیش از شروع عملیات تحقیق، روش و گامهای انجام پژوهش به صورت مشخص بیان می گردد.
در این تحقیق موارد زیر انجام خواهد شد:
1- استخراج معیارهای اندازه گیری چابکی.
2- کلاسه بندی کردن این معیارها به منظور سادگی تفسیر نتایج.
3- تعیین وزن هر کدام از معیارها بر اساس نظر سنجی از متخصصین.
4- تدوین ساختار مدل اندازه گیری.
5- پیاده سازی ابزار.
6- مستندسازی.