خانه > Uncategorized > Scrum و Agile و رابطه آنها

Scrum و Agile و رابطه آنها


https://i2.wp.com/agile.iragile.com/wp-content/uploads/2010/06/place-holder-story-scrum-agile-slack-225x300.jpg

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

همانطور که همه دوستان مستحضر می باشند هدف بنده از نگارش این وبلاگ اشاعه فرهنگ Agile در ایران می باشد و تقریبا همه نوشته های بنده در مورد Agile و ملحقات مربوطه بوده و خواهد بود . نحوه نوشتن بنده از پایین به بالا است . یعنی کسی که تازه به جلگه خوانندگان وبلاگ می پیوندد نمی تواند از آخرین مقاله شروع نماید {البته اگر پیش زمینه در مورد Agile نداشته باشند } . پس از جمیع دوستان تازه آشنا با مقوله Agile خواهش می کنم که قبل از مطرح کردن سوالات {ی که قبلا جواب داده شده است } مقالات پیشین را یک نیم نگاهی بیندازند و در صورتی که به پرسش جواب داده نشده است آن را مطرح فرمایید .

یکی از این سوالات تکراری » ربط اسکرام و Agile» با یکدیگر می باشد . بدلیل اینکه این سوال , پرسش دوستان زیادی می باشد , در طی یک پست مجزا به این سوال مهم و اساسی جواب داده می شود . {امید است که دوستان این جواب را مطالعه فرمایند و از مطرح کردن سوالات تکراری بپرهیزند} .

به طور خلاصه می توان گفت :» Agile یک تفکر در زمینه توسعه نرم افزار می باشد و اسکرام یک روش برای پیاده سازی این تفکر در پروژه های توسعه نرم افزار می باشد » . برای واضح تر شدن مطلب باید تعریفی از هر دو مقوله داشته باشیم :

Agile در کل چیزی نیست جز 4 ارزش . یعنی در کل Agile فقط شامل این ارزش ها می باشد :

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

نقل شده از بیانیه توسعه چابک

همانطور که بیان شد اینها ارزش های Agile می باشند یعنی مواردی که بر شمرده شد ارزشهایی می باشند که ما در محیط چابک (Agile) باید داشته باشیم . یعنی در یک محیط چابک افراد و نیروی کار و تعاملات بین آنها مهمتر از تکنولوژی و پروسه کاری می باشند یا هدف در یک محیط چابک توسعه یک نرم افزار کارا{ نرم افزاری که مسئله و یا Problem مشتری را حل و یا آسانتر نماید} می باشد یا همکاری مشتری در یک محیط چابک بسیار با ارزشتر از یک قرار داد نوشته شده که تقریبا در آخر کار 90% تغییر می کند می باشد و یا جوابگویی به تغییرات و انجام و کنترل این تغییرات جزو یکی دیگر از ارزشهای مورد نظر تفکر Agile می باشد .

ولی این ارزش ها در عمل بسیار مشکل خواهند بود برای این منظور در تفکر Agile علاوه بر ارزش ها , دوازده اصل معرفی شده است . این دوازده اصل برای دست یابی و حفظ و حراست از ارزش های Agile در محیط های چابک می باشند :

1- بالاترین اولویت ما رضایت مشتری از طریق تحویل به موقع و مداوم نرم افزار ارزشمند می باشد.

2- پذیرائی از نیازهای در حال تغییر , حتی آن هایی که در اواخر توسعه پدید آور می شوند. فرآیند های چابک تغییرات را جهت رقابت بر سر مشتری مهار و کنترل می نمایند

3- تحویل نرم افزار کارکننده غالبا از چند هفته تا چند ماه یک بار انجام می شود که زمانبندی کوتاه تر ترجیح داده می شود

4- تاجران و توسعه دهندگان باید هر روزه در طول پروژه با هم کار کنند.

5- پروژه ها را بر روی افراد با انگیزه بنا کنید. محیط لازم را به آنها بدهید و از نیازهای آن ها پشتیبانی نمایید وبه آنها اعتماد نمایید تا کارها را انجام بدهند.

6- کارآمدترین و موثرترین روش برای انتقال و رساندن اطلاعات به تیم توسعه , گفتگوی چهره به چهره و رودرو می باشد.

7- نرم افزار کارکننده اصلی ترین معیار پیشرفت می باشد فرآیند های چابک توسعه پایدار را ترویج می دهند.

8- حامیان مالی , توسعه دهندگان و کاربران باید قادر به حفظ سرعت پیشرفت ثابتی براى يک مدت نامحدود باشند.

9- توجه مداوم به برتری فنی و طراحی خوب باعث افزایش چابکی می شود.

10 – اصل سادگی ضروری می باشد.

11 – بهترین معماری ها , نیاز مندی ها و طراحی ها از تیم های خود سازمانده پدید آور می شود.

12- در فواصل منظم , تیم برچگونگی موثرتر شدن تامل وتفکر می نماید و سپس تیم رفتار خود را بر اساس بازتاب این تفکر تنظیم و هم سو می نماید .

نقل شده از اصول توسعه چابک

اگر بادقت به ارزش ها و اصول توسعه Agile توجه نموده باشید , خواهید دانست که در اصل این اصول برای دستیابی به این ارزش ها می باشند . یعنی محققان برای دستیابی به ارزش های Agile چند اصل را معرفی کرده اند که در صورت به کار بستن این اصول خواهیم توانست به ارزشهای مد نظر Agile برسیم و رسید ن به ارزش های Agile مساوی با دستیابی به ارزش های والای هرسازمانی خواهد بود . برای مثال اگر سازمانی بتواند ارزش «افراد و تعاملات بالاتر از فرآیندها و ابزارها » را در سازمان نهادینه نماید , همانا به اهداف اصلی سازمان که شامل : نیروی کار باانگیزه , بهروری بالا , کیفیت بهتر و… دست خواهد یافت .

در تفکر Agile گذشته از این که 4 ارزش و 12 اصل برای این تفکر معرفی شده است ولی راه عملی برای دست یافتن به این ارزش ها و یا اصول ارائه نگردیده است . مثلا در اصل 6 داریم : «کارآمدترین و موثرترین روش برای انتقال و رساندن اطلاعات به تیم توسعه , گفتگوی چهره به چهره و رودرو می باشد. » ولی در عمل راهی پیشنهاد نشده است و بحث عملیاتی وعملی به اجرا کننده تفکر Agile در سازمان (نسبت به متر های سازمان مربوطه ) واگذار شده است .

به عبارت ساده تر , شما که می خواهید Agile (چابک) شوید باید این دوازده اصل را رعایت نمایید و در عمل انجام بدهید ولی نوع انجام این روش مهم نیست . شما هر طوری که دوست دارید و یا با مترهای سازمان شما جور در خواهد آمد این اصول را انجام بدهید ; ولی آیا ما مرد آن هستیم که خودمان روش هایی برای انجام این اصول تعریف نماییم ؟ بدلیل اینکه ما مرد اینکار نیستیم دوست عزیز ken schwaber لطفی کردند و متد اسکرام را برای ما معرفی کردند .

https://i0.wp.com/agile.iragile.com/wp-content/uploads/2010/06/Scrum_256x256.pngدر اصلاح Scrum یک Practice یا روش عملی برای پیاده سازی و انجام اصول و ارزش های Agile در پروژه های توسعه نرم افزار می باشد . به عبارت ساده تر اسکرام یک پکیج از روش های آماده می باشد که در صورت انجام این روش ها در پروژه ها مان به اصول و ارزش های Agile دست خواهیم یافت .

مثلا در اسکرام داریم که در اول و یا آخر هر روز کاری باید Stand-Up Meeting انجام شود . همانطور که توجه دارید این یک تجویز عملی است و می گوید باید انجام بدهید {البته با کیفیت و کمیت هایی که قبلا گفته شده است} . اما با انجام این تجویز اسکرام , ما در اصل به ارزش «افراد و تعاملات » و اصل 5 اصول توسعه چابک نزدیکتر خواهیم شد . و کم کم و بعدی از مدتی خواهیم دید که چابک شده ایم .

اما مشکلی که وجود دارد این است که Scrum بر پایه ایده آل ها و یا به عبارت ساده تر با متر های ایده آل سازمان ها در کشورهای پیشرفته جهان ایجاد شده است و شاید این مترها برای ما کمی مناسب نباشد (البته نه زیاد) . پس می توانیم اسکرام را برای سازمان و یا تیم با مترهای مناسب سازمان خودمان بومی سازی نماییم {و هیچ مشکلی نیست و کمی نیاز به سعی و خطا خواهد داشت } .

البته برای انجام اصول Agile روش هایی به جز Scrum مانند XP , Crystal و… وجود دارند که توضیح این متد ها در حیطه این مقاله نمی گنجد.

دوستان اگر با موارد قید شده در مورد اسکرام مشکل دارند توصیه می شود که مقاله «اسکرام ساده شده » را مطالعه بفرمایند .

یاشیاسیز

Advertisements
دسته‌ها:Uncategorized
  1. reza
    فوریه 14, 2012 در 8:39 ق.ظ.

    با سلام و تشکر از وبلاگ خوبتان.من یه ایده در مورد کارتون داشتم و به نظرم مفیده برای کسانی مانند خودم که میتدی هستندو اینه که در جاهایی که از اصطلاحات یا تعریفات ترجمه شده استفاده میکنید کلمه انگلیسی آن هم نوشته شود تا اگر بر فرض مثال منبع انگلیسی بخواهیم استفاده کنیم با کلمات آن اشنا باشیم.مانند همکاری مشتری , افراد و تعاملات.
    با تشکر

  1. ژوئیه 4, 2010 در 3:39 ب.ظ.
  2. ژوئیه 4, 2010 در 3:41 ب.ظ.

پاسخی بگذارید

در پایین مشخصات خود را پر کنید یا برای ورود روی شمایل‌ها کلیک نمایید:

نشان‌وارهٔ وردپرس.کام

شما در حال بیان دیدگاه با حساب کاربری WordPress.com خود هستید. بیرون رفتن / تغییر دادن )

تصویر توییتر

شما در حال بیان دیدگاه با حساب کاربری Twitter خود هستید. بیرون رفتن / تغییر دادن )

عکس فیسبوک

شما در حال بیان دیدگاه با حساب کاربری Facebook خود هستید. بیرون رفتن / تغییر دادن )

عکس گوگل+

شما در حال بیان دیدگاه با حساب کاربری Google+ خود هستید. بیرون رفتن / تغییر دادن )

درحال اتصال به %s

%d وب‌نوشت‌نویس این را دوست دارند: