بخش اول ترجمه مقاله Embracing Change with Extreme Programming نوشته Kent Beck را میتوانید در اینجا مطالعه نمایید.
مترجم: آقای مهندس مهدی نگاهی
آناتومی(کالبدشناسی) XP
XP مسیر فرایند رایج توسعه نرمافزار را تغییر میدهد. XP با استفاده از کاهش هزینه اعمال تغییرات نرم افزار، به جای انجام یکباره برنامهریزی، تحلیل و طراحی برای آیندهای بسیار دور، آنها را به صورت مستمر در تمام مدت توسعه و در هر بار مقدار کمی از آنها را انجام میدهد. (بخش “اقدامات XP” در صفحه قبل، نگرش فلسفی و اقدامات XP را نشان میدهد. این اقدامات به گونهای طراحی شدهاند که امکان استفاده همزمان از آنها وجود داشته باشد و تلاش برای استفاده یکی از آنها، خیلی زود منجر به استفاده از بقیه گردد.
چرخه توسعه XP
در شکل ۲، XP در دورههای زمانی مختلفی از سالیانه تا روزانه نشان داده شده است. مشتری انتشار(release) بعدی را با انتخاب باارزشترین ویژگیها (که در XP داستان نامیده میشوند) از بین داستانهای موجود مشخص میکند. مشتری انتخاب را با اطلاع از هزینه پیادهسازی هر یک از داستانها و سرعت پیادهسازی تیم انجام میدهد.
مشتری داستانهای تکرار بعدی را نیز با انتخاب باارزشترین داستانهای باقیمانده از انتشار و اطلاع از هزینه هر یک از آنها و سرعت تیم مشخص میکند. برنامهنوسان داستانها را به وظیفههای(task) کوچکتری تبدیل میکنند تا توسط هر یک از آنها قابل انجام باشد.
سپس هر برنامهنویس یک وظیفه را به مجموعهای از موردهای آزمون(test cases) تبدیل میکند. موردهای آزمون نشاندهنده پایان درست هر وظیفه هستند. هر برنامهنویس با همراهی یکی دیگر از برنامهنویسان -همکار-، ابتدا موردهای آزمون را مینویسد(در این مرحله اجرای آنها مؤفقیتآمیز نیست چون کد برنامه نوشته نشده است) و سپس با طراحی و نوشتن کدهای برنامه باعث اجرای درست موردهای آزمون و پشتسر گذاشتن آنها میشود. طراحی با رعایت اصل “حفظ سادهترین طراحی ممکن برای کل سیستم” انجام میشود.
شکل ۲: XP در بازههای زمانی مختلف. در بازه ماه و سال، داستانهای انتشار جاری و انتشارهای آینده وجود دارند. در بازه هفته و ماه، با داستانهای تکرار جاری و داستانهای باقیمانده از انتشار جاری سروکار دارید. در بازه روز و هفته، با وظیفههایی که روی آنها کار میکنید و بعد با وظیفههای باقیمانده از تکرار جاری رو به رو هستید. در بازه دقیقه و روز، با موردآزمونهایی که روی آنها کار میکنید و بعد بقیه موارد آزمون قابل تصور سروکار دارید.
داستان
XP به دوره قبل از اولین ورود سیستم به مرحله بهرهبرداری(Production) توجه ویژهای دارد[دوره منجر به تولید نسخه یک نرمافزار]. این دوره میتواند منجر به ناهنجاری خطرناکی در پروژه شود و از این رو باید در سریعترین زمان ممکن طی گردد. به هر حال پروژه باید از جایی شروع شود.
این تصمیم که سیستم چه کاری میتواند انجام دهد و چه کاری بهتر است انجام دهد، اولین تصمیم پروژه است. این تصمیم معمولاً در حوزه تحلیل است(مستطیل آبی کم رنگ در بالای شکل ۱.c). تا زمانی که ندانید چه چیزی باید پیادهسازی شود، نمیتوانید برنامهنویسی را شروع کنید.
نتایج تحلیل در قالب داستانها در کنار هم قرار میگیرند. میتوانید آنها را مجموعهای از موردهای کاربرد(use case) فرض کنید که هر یک روی کارتی (index card) نوشته شده است. هر داستان باید کسبوکار محور (business-oriented)، آزمونپذیر و قابل برآورد باشد.
یک ماه زمان مناسبی برای شناسایی داستانهای یک پروژه ده نفر سال (ده نفر در یک سال) است. قبول داریم که این زمان برای شناسایی کامل همه موارد کافی نیست. اما توجه داشته باشید که تا پیادهسازی شروع نشود، نمیتوان همه موارد را کامل و دقیق شناسایی کرد حتی اگر تا ابد هم وقت داشته باشیم.
گزیده:
«کشندهتر از نیش مار، بچه حقناشناس است.»
ویلیام شکسپیر
بانوی باران
۱۳ آبان ۱۳۹۱ در ۰۰:۰۰سلام دوست عزیز
من دنبال مطلب میگشتم که رسیدن به این پستتون
http://somamos.blogfa.com/post-57.aspx
اما متاسفانه هیچ کدوم از این مقاله ها قابل دانلود نبود
میتونید کمکم کنید؟
———————————-
سلام
با عرض پوزش،
آدرس فایل مقالات اصلاح شد.
وقت به خیر
مهرداد
بهروز
۲۱ آبان ۱۳۹۱ در ۰۰:۰۰سلام استاد
استاد پست های خودتان را در مورد متدهای چابک ادامه نمی دهید؟ نوشته های خودتان را
——————————————–
دوست عزیز و گرامیام
سلام
نوشتن این گونه مطالب تمرکز بیشتری میخواهد. امیدوارم به زودی فرصت نوشتن دست دهد.
از شما و همه خوانندگان به خاطر دیرکرد ارسال این مجموعه از مطالب پوزش میخواهم.
به امید دیدار
مهرداد