در این مقاله به صورت بولت وار قوانین متدولوژی XP را مرور می کنیم. در مقالات آتی هر کدام از این بولت ها را مفصلاً بررسی می کنیم.
برنامه ریزی | Planning
- یوزر استوری ها (User Stories) نوشته می شوند.
- برای تهیه برنامه انتشار یا Release Schedule از جلسه برنامه ریزی انتشار یا Release Planning استفاده می شود.
- مکرراً انتشارهای کوچک اتفاق می افتد.
- پروژه با رویکرد توسعه دورهای (Iterative Development) به چندین دوره (Iteration) تقسیم می شود.
- با شروع هر دوره، جلسه برنامه ریزی دوره ای (Iteration Planning) خواهیم داشت.
مدیریت | Managing
- به تیم فضای کاری باز (Open Work Space) اختصاص دهید.
- سرعت پیشرفت کار باید به گونه ای تنظیم شود که پایداری اتفاق بیفتد.
- جلسه استندآپ (Stand up Meeting) به صورت روزانه برگزار می شود.
- ظرفیت پروژه اندازه گیری می شود.
- افراد دائماً باید در حرکت باشند.
- وقتی XP از کار می افتد آنرا اصلاح کنید.
طراحی | Designing
- سادگی در سراسر پروژه رعایت می شود.
- برای سیستم یک استعاره انتخاب کنید.
- از کارت های CRC برای جلسات طراحی استفاده کنید.
- از اسپایک (Spike Solutions) برای کاهش ریسک استفاده کنید.
- هیچ فیچر کاربردی از ابتدا اضافه نمی شود.
- ریفکتور (Refactor) باید هر وقت و هر جا که ممکن است اتفاق بیفتد.
کد نویسی | Coding
- مشتری همیشه باید در دسترس باشد.
- کد باید بر اساس استانداردهای قابل قبول نوشته شود.
- کد نویسی یونیت تست (Unit Test) اول از همه باید اتفاق بیفتد.
- تمامی کدهایی که در محیط Production گذاشته می شوند باید از طریق Pair Programming نوشته شده باشند.
- در هر زمان تنها یک جفت از کدها ادغام (Integrate) می شود.
- مرتباً در حال ادغام یا Integrate کدها باشید.
- یک کامپیوتر اختصاصی را برای ادغام کردن کدها در نظر بگیرید.
- از مالکیت گروهی استفاده کنید.
تست | Testing
- تمام کدها باید یونیت تست (Unit Test) داشته باشند.
- تمام کدها قبل از آنکه منتشر شوند باید یونیت تست ها (Unit Test) را پشت سر بگذارند.
- بعد از آنکه باگی پیدا شود تست ها ایجاد می شوند.
- تست های پذیرش یا Acceptance Tests اغلب اجرا شده و امتیاز آن منتشر می شوند.