xpیک خط مشی از توسعه ی نرم افزار می باشد که بر مبنای سادگی (simplicity) ، ارتباطات (communication) ، بازخورد (feedback) بنا شده است.که این با شرکت تمامی اعضای تیم در تمرینات ساده میسر می شود و با بازخورد کافی که تیم بتواند تشخیص دهد در کجا قرار دارد و تمرینات را در موقعیت منحصربفردخودشان تنظیم کند.
XP اذعان دارد که هدف نهایی یک پروژه توسعه ، تولید کدهایی با کیفیت است که قابل اجرا و نگهداری هستند.
هرچیزی که در این پروژه این هدف را بصورت مستقیم مدنظر نداشته باشد و در خور مناسب نباشد از آن دست کشیده می شود.XP ، 12نرم افزار توسعه که “بهترین تمرینات اند” را در اختیار دارد .
هر شرکت کننده ای در پروژه عضوی از تیم محسوب می شود و تیم متقابلاً بصورت روزانه با مشتری ارتباط دارد.
فازهای متدولوژی xp
تمرینات هسته ای XP :
1- بازی برنامه ریزی:
تجارت و توسعه در زمینه ی تولید حداکثر ارزش تجارتی که قابل دستیابی است ، همکاری می کنند. بازی برنامه ریزی بصورتهای مختلفی می باشد اما قوانین اولیه ی همه ی آنها مشترک است:
– تجارت با لیستی از مشخصه های موردنظر برای سیستم در نظرگرفته می شود. هر مشخصه ای بعنوان گزارش کاربری (User story) نوشته می شود. این مشخصه نامی می گیرد و اینکه چه چیزهایی احتیاج دارد را توضیح می دهد.
– گزارش کاربران معمولاً روی کارتهای 4*6 نوشته می شود.
– اینکه چه مقدار کار برای یک توسعه احتیاج است و چه مقدار تیم می تواند روی این توسعه وقت بگذارد همه تخمین زده می شود.
– تجارت تصمیم می گیرد که چه گزارشهایی برای چه درخواستهایی در بهترین موقع خودش پیاده شود و چه موقعی محصول تولید شده از سیستم منتشرشود.
2- انتشارات کوچک: تیم های XP روی انتشارات کوچک به دو روش کار می کنند: اول تیم پخش کننده شروع به کاری می کند، نرم افزار تست شده ، درهر بار ارزش کالای تحویل داده شده به مشتری تعیین می شود. مشتری می تواند این نرم افزار را برای هر نوع هدفی استفاده کند.چه برای ارزیابی یا چه برای انتشار بین کاربران نهایی.
مهمترین جنبه اینست که بعد از هر Iteration نرم افزار پدیدار شده و به مشتری تحویل داده می شود.
دوم تيم هاي XP بخوبي غالباً بين كاربران نهايي منتشر مي كنند. پروژه های وب XP غالباً بصورت روزانه منتشر می شود، پروژه های خانگی بصورت ماهانه و… .
3- طراحی ساده :XP از ساده ترین طراحی ممکن استفاده می کند و در مشاغل اعمال می کند.احتیاجات بعدها تغییر می کند بنابراین فقط احتیاجاتی که امروزه نیاز است، مدنظر قرار می گیرد.
طراحی ساده در XP مربوط به یک زمان نیست بلکه در همه ی زمانهاست.برای برنامه ریزی های انتشارات ، برنامه ریزی Iteration، بکار گماشتن تیم های مثبت در جلسات طراحی سریع و بازبینی طراحی رد ساخت مجدد در حول کل پروژه ، مراحل طراحی وجود دارد.
4- Metaphor : تيم هاي XP یک دید معمول از اینکه چطوری برنامه کار می کند را ارائه می دهند که ما ” Metaphor ” می نامیم. دربهترین نوع، Metaphor یک توصیف مهیجی از چگونگی کار برنامه می باشد.
تیم های XP از نام های معمول سیستم استفاده می کنند تا مطمئن شوند هر کسی می تواند متوجه شود چگونه سیستم کار می کند و کجا دنبال عمل موردنظر خود بگردد ، بتواند مکان مناسب برای اضافه کردن عمل موردنظرش را بیابد.
تیم هایXP تصدیق نرم افزارها را در همه ی زمان ها میزان می کنند. برنامه نویسان ابتدا نرم افزار را با نوشتن تست ها بسط می دهند و بعد با اجرای کدها ، احتیاجات تستها منعکس می شود. مشتریان تستهای را تهیه می کنند که به نتیجه رسیده باشد تا اطمینان داشته باشند همه ی جنبه هایی که نیاز دارند فراهم است.
6- ساخت مجدد:
تیم های XP هر کد دونسخه ای تولید شده را در یک جلسه کدی مجدد می سازند.
ساخت مجدد بصورت ساده ناشی از استفاده گسترده از انواع تستهای خودکار می باشد.
7- برنامه نویسی دوتایی:
همه کدهای تولید شده که توسط دوبرنامه نویسی نوشته می شود در یک ماشین جای می گیرد. این تمرین باعث می شود اطمینان حاصل کنیم کدهای ارائه شده همانگونه اند که برا ی آن منظور نوشته شدند. همچنین طراحی بهتر، تست و کدهای بهتری از این روش نتیجه می شود.
بعضی از موضوعات برنامه نویسان بصورت دوتایی است بدون اینکه تلاشی برای این منظور بکنیم . برای انجام بهتر این عمل لازم است چندین تمرین انجام دهیم که ممکن است چندهفته ای برای رسیدن به جواب، طول بکشد.90% برنامه نویسان که با برنامه نویسی دوتایی آشنایی دارند آن را ترجیح می دهند.به همین خاطر برنامه نویسی دوتایی به کل تیم ارائه شده است.
در مجموع دوتایی بودن ، منجربه تهیه کدها و تستهای بهتر می شود.همچنین باعث می شود معلومات در بین اعضای تیم بهتر رد و بدل شود.
8- یکپارچگی پیوسته:
همه ی تغییرات در داخل ساختمان کد حداقل بصورت روزانه یکپارچه می شوند.یک واحد تست 100% قبل و بعد از یکپارچگی اجرا می شود. یکپارچگی که دیر به دیر صورت گیرد مشکلات جدی در یک پروژه نرم افزاری بوجود می آورد.اول از همه چیز، اگرچه یکپارچگی برای رسیدن به کدهایی که بصورت مطلوب کار کند مهم است، تیم در این زمینه تمرینی نمی کند و اغلب این کار را به افرادی که با کل سیستم آشنا نیستند محول می کنند.
مشکلاتی در زمان یکپارچه سازی رخ می دهد که در هیچکدام از آزمایشاتی که بر روی سیستم غیریکپارچه اعمال شده ، کشف نشده است.
همچنین پردازش یکپارچه سازی ضعیف، باعث می شود که کدهای طولانی ، ثابت شوند. منظور از کدهای ثابت اینست که شما مدت زمان طولان باید صبر کنید تا اینکه برنامه نویسان بتوانند روی ویژگی های قابل حمل آن کار کنند اما آن ویژگی ها باید برگردند.
10- 40 ساعت کار هفته:
برنامه نویسان به موقع به منزل می روند. در حالت حساس بیشتر از یک هفته می توانند اضافه کاری کنند. اما چندین هفته ی پی در پی اضافه کاری بصورت اعلان در برنامه ی روزانه کار اشتباهی است.
11- جایگاه مشتری:
تیم توسعه ، دستیابی پیوسته ای دارد به مشتریانی که در واقع از سیستم استفاده خواهند کرد.برای شروع با تعداد زیادی مشتری ، یک نماینده مشتری (مثلاً مدیر محصول) برای دستیابی داشتن با تیم توسعه برگزیده می شود.
12- استانداردهای کد:
هر فردی بصورت استاندارد مشترکی کد می کند. نوع خاصی از استاندارد مهم نیست. چیزی که مهم است، اینست که کدها در مجموعه مالکیت ارائه شده ، شناخته شده باشند.
ارزش های XP :
XP یک متدولوژی بر پایه ارزش است. ارزشها سادگی ، مکاتبه ای ، بازخورد و شجاعت می باشد. هسته ی ارزش های XP به بهترین نحو در جملات Kent Beck خلاصه شده است:
” بیشتر از آن چیزی که کار می شود کار کن و کمتر از آن چیزی که انجام نمی دهی ، انجام نده.”
مهمترین های این چهار ارزش در زیر آمده است:
پیشبردهای سادگی:
– ارائه نمونه هایی به ساده ترین حالت که احتیاجات تجارت را برآورده کند.
– طراحی نرم افزارهایی که بصورت ساده ترین حالت عملکردهای موردنیاز را برآورده کند.
– ساختن برای امروز نه فردا.
– نوشتن کدهایی که به راحتی قابل خواندن ، فهمیدن ،نگهداری و ویرایش باشد.
ارتباطات بوسیله موارد زیر انجام می شود:
– همکاری فضاهای کاری
– همگام سازی توسعه و فضای تجارت
– توسعه جفتی شدن(Paired)
– تغییر دادن همکاران جفتی بصورت مکرر
– تغییر دادن دستیاران بصورت مکرر
– نمایش وضعیت عمومی
– ملاقاتهای کوتاه دائمی
– واحد آزمایش ها ، Demos و ارتباط زبانی نه ارتباطات مستنداتی
بازخورد ارائه می شود با:
– Iteration خوب و توسعه انتشارات
– انتشار بین کاربران نهایی بصورت مکرر
– همگام سازی با کاربران نهایی
– اتوماتیک کردن واحدهای آزمایش
– اتوماتیک کردن تستهای عملکردی
– Urage احتياج دارد به:
– انجام كار صحيح در روبروي كار متضاد
– انجام تمريناتي كه براي به رسيدن موفقيت لازم است.
نتيجه:xp قالب کاملی برای ارائه سازماندهی بدون هیچگون عیب و نقص نیست. Xp نسبتاً مجموعه ای از بهترین تمرینات برای مدیریت تیم توسعه و رابط آن با مشتریان می باشد. بعنوان مثال یک پردازش به تیم قابلیت رشد و تغییر می دهد و اینکه خودش را با برنامه های کاربردی و نیازهای تجارتی که با آن روبرو ست وفق می دهد.
برنامه نویسی به صورت xp
بیشتر پردازش هایی که xp با آنها روبرو می شود قابل تبدیل به سازماندهی بدون عیب و نقص است نه فقط قابل تبدیل به یک تیم توسعه.
در این مقاله به این موارد اشاره گردید
فازهای متدولوژی xp
متدولوژی xp در مهندسی نرم افزار
متدولوژی xp extreme programming
توسعه نرم افزار به روش xp
فاز های متدولوژی xp
نرم افزار چابک چیست؟
متدولوژی اسکرام
3 دیدگاه ها
Thank you for another fantastic blog. Where else could I get this kind of information written in such an incite full way? I have a project that I am just now working on, and I have been looking for such information¡ Regards¡
wow, awesome post, I was wondering how to cure acne naturally. and found your blog by bing, many userful stuff here, now i have got some idea. bookmarked and also signed up your rss. keep us updated.
سلام.من می خواهم در مورد بهبود معماری نرم افزار به روش xpکار کنم.هزینه هم پرداخت می کنم.در صورت امکان مرا راهنمایی کنین