مقاله رایگان درباره نرم افزار، رابط کاربر، بهره بردار

بتوانند ارزشي به پروژه اضافه کنند وجود داشته باشد.
برخي از اصول AM به صورت خلاصه عبارتند از [22]:
1- فرض سادگي: فرض کنيد که ساده ترين راه حل ممکن بهترين راه حل ها است.
2- محتوا بسيار مهم تر از ظاهر است: آنچه اهميت دارد محتوا است.
3- از تغييرات استقبال کنيد: اين واقعيت که تغييرات اتفاق ميافتد را بپذيريد.
4- تلاشهاي بعدي خود را هدف دوم خود بدانيد: پروژه شما مي‌تواند ناموفق باشد، اگر آن را عرضه نموده اما به اندازه کافي توانمند براي توسعه نباشد.
5- هر کس از هر کس ديگري مي‌تواند بياموزد: بپذيريد که شما هرگز نمي‌توانيد متخصص همه امور باشيد و هميشه فرصتهايي براي يادگيري از ديگران براي شما وجود دارد.
6- تغييرات تدريجي: به جاي اين که سعي در ارائه يک سيستم کامل در يک مرحله نماييد، سعي کنيد که در هر مرحله بخش کوچکي از سيستم را تغيير دهيد.
7- مدلهاي خود را بشناسيد: براي استفاده کارا از مدلها لازم است نقاط قوت و ضعف آنها را بشناسيد.
8- انطباق محلي: مي توانيد AM را مناسب محيط خود تطبيق دهيد.
9- بيشينه سازي سرمايه ذي نفعان: ذي نفعان حق دارند در مورد چگونگي سرمايه گذاري پول خود تصميم بگيرند و آنها هستند که حرف آخر را در اين مورد بيان مي‌کنند.
10- مدل هدفمند: اگر نمي‌توانيد مشخص کنيد که چرا چيزهايي انجام مي‌دهيد، چرا خود را به زحمت مي‌اندازيد؟
11- مدلهاي چندگانه: شما تنوعي از محصولات مدلها در اختيار داريد. (مثل دياگرامهاي UML، مدلهاي داده اي و مدلهاي رابط کاربر)
12- ارتباطات باز و صادقانه: با چنين ارتباطاتي افراد مي‌توانند تصميمات بهتري بگيرند.
13- کار با کيفيت: تلاش شما بايد به نحوي باشد که محصولات ماندگار (کد و مستندات) کيفيت مناسبي داشته باشند.
14- بازخورد هاي سريع: بازخوردهاي سريع هميشه نسبت به واکنشهاي با تأخير اولويت دارند.
15- نرم افزار هدف اصلي شما است: هدف اصلي توليد نرم افزار با کيفيتي است که نيازمنديهاي ذي نفعان را برطرف کند.
16- سبک سفر کنيد: فقط مدلها و مستنداتي که لازم است را تهيه کنيد.
17- با غرايز مردم کار کنيد: غرايز شما مي‌توانند در تلاشهاي شما براي مدلسازي موثر باشند.
2-6 کارهاي مرتبط
در بين شرکتهاي نرم افزاري که به سوي چابک شدن گام برداشته اند، همواره بحث ميزان پيشرفت آنها در چابکي مورد توجه بوده است. در واقع ارزيابي چابکي به عنوان ملاکي براي سنجش توفيق آنها در انطباق روشها و تمرينات چابکي بوده است. اگر چه ابزارهاي اندکي در قالب وب سايت هاي سنجش و معيارهاي ارزيابي ارائه شده است، اما تنها چند مورد محدود آنها مقبوليت نسبي پيدا کرده است. اگر چه اين موارد نيز با انتقاداتي مواجه بوده اند و ضمن نداشتن پايه علمي مناسب، به صورت جدي مورد توجه شرکتهاي کامپيوتري نبوده اند. در ادامه اين بحث اين موارد را بررسي اجمالي خواهيم کرد.
2-6-1 چابکي نسبي (مقايسه اي)26
برخي از شرکتها به جاي اينکه بخواهند به سمت “چابکي کامل”27 حرکت کنند، تنها در تلاشند تا از رقباي خود چابک تر باشند. در واقع هدف آنها دستيابي به چابکي کامل نبوده و نگران رقباي خود در اين خصوص هستند [23]. ابزار CA به اين شرکتها کمک ميکند که ميزان چابکي خود را با شرکتهاي ديگر که اطلاعات خود را به قبلا به اين ابزار داده اند، مقايسه کنند.ابزار CA يک ابزار مبتني بر نظر سنجي است، به اين ترتيب که شرکتهاي نرم افزاري به سوالات نظرسنجي پاسخ ميدهند و ابزار CA نيز بر مبناي پاسخ هاي آنها، گزارشي مقايسه اي از ميزان چابکي آنها در بخش هاي مختلف ارائه ميدهد و ضمنا اطلاعات دريافتي را براي اصلاح بانک اطلاعاتي خود نيز به کار ميبرد. موارد مرتبط با چابکي در قالب پرسشهاي 5 جوابي چابکي را در زمينه هاي مختلفي چون کارهاي تيمي، فرهنگ سازماني، تمرينات فني، کيفيت محصول نهايي، برنامه ريزي و غيره بيان مي کند [23, 24]. در خصوص اين ابزار انتقاداتي وجود دارد که بايد به آنها توجه کرد.
قالب سوالات به گونه اي است که شايد ميزان اعتبار ارزيابي را مورد تشکيک قرار دهد [25]. مفهوم و برداشت از بسياري از سوالات، در بين پاسخ دهندگان يکسان نيست و اين امر، به عنوان يک ريسک براي کيفيت ارزيابي محسوب مي گردد. همچنين، هنگام مقايسه شرکتها، نمي توان به روشني درک کرد که آيا آنها اهداف يکساني از چابکي داشته اند يا خير، چرا که داشتن اهداف متفاوت موجب مي شود که هر کدام يک جنبه چابکي را بيشتر مورد توجه قرار داده اند. اين امر موجب مي شود که مقايسه شرکتها در حالي که اهداف متفاوتي دارند، چندان منطقي نباشند[25].
2-6-2 ابزار سنجش Thoughtworks
شرکت Thoughtworks که يکي از شرکتهاي پيشرو در زمينه خدمات مشاوره و پياده سازي روشهاي چابک مي باشد، اقدام به ارائه يک ابزار سنجش ساده بر روي وب سايت خود نموده است. اين ابزار نيز مانند CA يک ابزار مبتني بر نظر سنجي بوده و ميزان چابکي را بر اساس 20 سوال مختلف تعيين مينمايد، اگر چه بر خلاف روش قبل مقايسه شرکتها مورد توجه نيست.
در خصوص اين ابزار نيز موارد انتقاد متعددي وجود دارد. اين ابزار نيز شامل سوالاتي است که مشکلاتي مانند سوالات مطرح شده در CA در خصوص آنها نيز صادق است. اگر چه سعي شده است، ميزان چابکي بر اساس تمرينات چابک و ميزان استقرار آنها مورد توجه قرار گيرد. اما تعداد 20 مورد سوال براي چنين هدفي ناکافي به نظر مي رسد [25, 26]. نکته ديگر جايگاه اين شرکت در بازار مشاوره مي باشد. اين شرکت پس از ارائه گزارش چابکي سعي در ترغيب شرکتهاي نرم افزاري براي استفاده از خدمات خود در زمينه چابک تر شدن مي نمايد و اين امر موجب مي شود که اين شرکت در مظان اتهام بهره برداري تجاري از ابزار قرار گرفته و عملا اعتبار ارزيابي اعلام شده مورد ترديد واقع شود. در واقع سوالات مطرح شده، عمدتا چک ليستي از خدمات اين شرکت براي ارائه به شرکتهاي نرم افزاري مي باشد. ضمنا مبناي علمي چگونگي ارزيابي نيز به درستي معين نشده است، يا اينکه حداقل به اطلاع عموم نرسيده است.

2-6-3 ساير موارد
در چند کار فرعي ديگر، ميزان چابکي به صورت سطح چابکي ارائه گرديده است که در همه اين موارد با الهام از مدل کيفيت فرايند CMMI، چند سطح چابکي تدوين گرديده است[27, 28]. در اين موارد نيز به دليل ماهيت موضوعي چابکي، سطح بندي آن، کاملاً مورد ترديد بوده و مورد توجه شرکتها و فعالان چابک نيز واقع نشده است. اين سطح بندي بر مبناي قرار دادن تمرينات مختلف در سطوح مختلف چابکي مي باشد. اين امر نه تنها با ديدگاه چابکي در تضاد است، بلکه مبناي قراردادن اين تمرينات در سطوح مختلف و به نوعي اولويت بندي آنها، اثبات نشده مي باشد. [29, 30].

فصل سوم : روش اجراي تحقيق

3-1 مقدمه
فصل قبل اشاره اي به روشهاي چابک در توسعه نرم افزار شد. با توجه به هدف اصلي اين تحقيق لازم است پس از شناخت اين روشها و آشنايي با فرايند هاي توسعه نرم افزار به کمک آنها، ساز و کار مناسبي براي سنجش ميزان چابکي سازمانهاي نرم افزاري استفاده کننده از اين روشها پيدا کرد. در اين فصل، بر اساس مطالعه ادبيات موضوع معيارهاي سنجش مورد مطالعه قرار ميگيرد. اين معيارها شالوده ابزار سنجش خواهند بود و همين ويژگي نشان دهنده جايگاه خطير آنها در اين بحث مي باشد. در ادامه ضمن بيان ويژگيهاي اين معيارها به بررسي آنها خواهيم پرداخت.
3-2 نحوه گزينش معيارهاي ارزيابي
سنجش ميزان چابکي سازمان ها و شرکتهاي نرم افزاري استفاده کننده از روشهاي چابک مستقيما متاثر از نحوه انتخاب معيارهاي سنجش خواهد بود. به دليل محوريت روشهاي چابک در سنجش چابکي معيارهاي انتخاب شده بايد ويژگي هاي زير را داشته باشند:
الف- مستقل از روش28
معيار انتخاب شده نبايستي منحصر به يک روش خاص باشد و يا به نوعي نشان دهنده برتري يک روش به روشهاي ديگر باشد. به عنوان مثال تعداد “نفرات تيم” شايد نشان دهنده چابکي باشد، اما اين معيار نمي تواند ملاک مناسبي باشد چرا که هيچ روش چابکي محدوديت قطعي براي تعداد نفرات قرار نداده است، هر چند توصيه هايي در اين خصوص شده است. شايد تعداد 7-9 نفر در اسکرام بهترين باشد[5]، اما اين تعداد در روشهاي کريستال کاملا متاثر از نوع پروژه و حساسيت آن مي باشد[31].
ب- نشان دهنده چابکي
معيارهاي انتخاب شده بايستي نشان دهنده تغيير سازماني، رفتاري يا فرايندي در روش توسعه سازمان باشد[32]. به عبارت ديگر اين معيارها بايستي مستقل از روشهاي سنتي و يا معيارهايي باشند که در روشهاي سنتي نيز بکار مي آيند، باشند. اين امر موجب مي شود که سازمان في نفسه اين معيار ها را نداشته باشد و يا به ارث نبرده باشد. اين ويژگي کمک مي کند که هر بهبودي در به دست آوردن اين معيار ها و ارتقا ارزش اين معيارها مستقيما در اثر تلاش براي چابکي به دست آيد. در واقع معيار انتخابي بايستي برآمده از تفکر چابکي در سازمان باشد[33].
ج- سادگي
معيار انتخابي بايستي به اندازه کافي ساده و قابل فهم باشد. روشن است که معيار و ميزان ارزيابي تنها در صورتي ميتواند کارايي داشته باشد که قابل حس و درک باشد. اين امر موجب مي شود که ابزار سنجش در عمل کارآيي بالايي پيدا کنند و اقبال مناسبي براي استفاده در صنعت داشته باشد[32, 34].
3-3 معيارهاي ارزيابي
با توجه ويژگي هايي که در بخش قبل به آنها اشاره شد، تمرينات چابکي29 به عنوان معيارهاي ارزيابي ميزان چابکي در نظر گرفته مي شوند[35].
تمرين چابکي: فعاليتي است که در راستايي دستيابي به اهداف چابکي در بخشي از /کل سازمان ميتواند اجرا گردد.
تمرينات چابکي از حيث نوع فعاليت پوشش دهنده گام هاي مختلف توسعه نرم افزار (برنامه ريزي، جمع آوري نيازمندي ها، طراحي، تحليل، پياده سازي و تست و تحويل) مي باشند و از لحاظ پوشش نقش هاي سازماني نيز پوشش دهنده همه افراد درگير در فرايند توسعه مي باشند. در واقع اين ويژگي ها باعث مي شود که از لحاظ پوشش رفتار سازماني و فرايندهاي فني توسعه نرم افزار واجد شرايطي که قبلا اشاره شد نيز باشند. همچنين به دليل درگيري افراد و توجه خاص به افراد در اين روشها، توسعه دهندگان نرم افزار امکان درک مناسب آنها را پيدا ميکنند. شرکتهاي نرم افزاري ميتوانند بر اساس نياز خود و بستر فني و بضاعت نيروي انساني خود از همه و يا تعدادي از اين تمرينات بهره گيري نمايند. روشن است که متناسب با افزايش ميزان استفاده و استقرار اين تمرينات در سازمان بيشتر شود، ميزان چابکي سازمان در توسعه نرم افزار نيز افزايش پيدا کرده و سازمان در اين زمينه چابک تر ميگردد[35].
جدول 1 نشان دهنده تمرينات چابکي مي باشند. اگر چه استانداردي در اين زمينه وجود ندارد، مقبوليت عمومي و پذيرش جمعي اين تمرينات شايستگي آنها را براي بکارگيري در ابزار سنجش تائيد مي کند. در ادامه اين فصل هر کدام از اين تمرينات به صورت خلاصه توضيح داده مي شوند. در اين تحقيق 40 تمرين از بين تمرينات چابکي که بيش از بقيه در تيم هاي چابک مورد توجه اند، مورد بررسي قرار گرفته و به عنوان معيار به کار گرفته مي شود[4, 36-38].

يکپارچگي مداوم30
يگپارچگي مداوم يک تمرين توسعه نرم افزار است که طي آن افراد تيم به صورت تکرار شونده کارهايشان را يکپارچه سازي ميکنند[39]. به طور معمول هر فرد روزانه کار خود را يکپارچه سازي ميکند. هر يکپارچه سازي به وسيله يک سازنده اتوماتيک31 جهت يافتن خطاهاي موجود (تا حد امکان) تست و بررسي ميشود[20]. بسياري از تيم ها معتقدند اين روش مشکلات مربوط به يکپارچه سازي را به طور چشمگيري کاهش داده و اين امکان را به تيمها ميدهد تا با سرعت بيشتري يک نرم افزار جامع را توسعه دهند.
جدول 3-1- تمرينات

دیدگاهتان را بنویسید