امروز:19 May, 2024

آشنایی با متدولوژی XP (Extreme Programming) – قسمت دوم

در قسمت اول مقاله آشنایی با متدولوژی XP (Extreme Programming) با تاریخچه، بنیانگذار، ارزش ها و نقش های متدولوژی XP آشنا شدیم.
در ادامه قصد داریم تا با 12 عملیات اصلی متدولوژی XP آشنا شویم و همچنین اصول این روش را معرفی نماییم.
12 عملیات اصلی متدولوژی XP:
همانطور که در تصویر پایین مشاهده می نمایید، متد XP در هسته اصلی خود دارای 12 عملیات اصلی می باشد که برای پیاده سازی اصولی این متد با آنها آشنا باشیم.

1- Planning Games:
برنامه ریزی در متد XP، برنامه ریزی بازی نام دارد و شامل برنامه ریزی در دو سطح برنامه ریزی انتشار و برنامه ریزی تکرار شونده می باشد، که در هر دو سطح، سه مرحله وجود دارد: اکتشاف، تعهد و هدایت.
در برنامه ریزی انتشار، برنامه نویسان و مشتریان به صورت اشتراکی تصمیم گیری می نمایند که چه نیازمندی ها و الزاماتی را می تواند برای محصول ارائه نمود و این کار را در چه زمانی به صورت تخمینی می توان انجام داد. این مهم بر اساس برآوردها، در نظر گرفتن ریسک ها، اولویت ها و ظرفیت تیم برای ارائه تحویل شدنی ها، انجام می پذیرد. با این حال همانطور که اشاره شد این یک تخمین خام می باشد، بنابراین در ادامه برنامه بر اساس تغییرات، مجدد برنامه ریزی می گردد و یا اصطلاحا تنظیم می شود.
در برنامه ریزی تکرار شونده، اعضای تیم، با ارزش ترین User Story ها را از بک لاگ انتخاب نموده و سپس آن ها را به Task های مختلف تقسیم می نمایند و در ادامه آن ها را برآورد نموده و در نتیجه متعهد می شوند که چه ارزشی در طول تکرار می توانند به صورت بالقوه تحویل دهند.

2- Simple Design:
تیم های XP، طرح های بزرگ و معماری های چشمگیر را که ممکن است برای پروژه های بسیار پیچیده چالش باشند را خلق نمی کنند. آن ها با یک طراحی ساده شروع می نمایند و از طریق تکرارها، این طرح ساده را تکمیل می نمایند. همچنین با الزاماتی که دارای تغییرات سریع هستند، هم گام می شوند. در این متد کدها به جهت رهایی از بدهی فنی، بازنویسی می شوند.
حفظ طراحی ساده، گاها کار آسانی نیست. اغلب تیم با عدم اطمینان ها در گزینه های طراحی و پیاده سازی مواجه می شود، خصوصا اگر آن ها از تکنولوژی های جدید استفاده کنند و یا عدم قطعیت بالایی در حوزه تکنیکال داشته باشند. در این زمان، تیم XP یک آزمایش کوچک یا عملیات اثبات مفهوم به نام Spike انجام می دهد. نتیچه Spike در فهم صحت این فرضیه به تیم کمک می نماید. همچنین پیچیدگی راه حل را ارزیابی کرده و برای برآورد و تصمیم در خصوص توسعه یا عدم توسعه آن بر اساس نتایج آزمایش، تصمیم گیری خواهد شد.

3- Test Driven Development – TDD:
در متد XP، قبل از تولید کد از عملیات نوشتن آزمون واحد (نوشتن تست) استفاده نمایند. این آزمون واحد، در مرحله ساخت و ادغام به یک شیوه خودکار انجام می شوند.
گام های این روش عبارتند از:
1- نوشتن آزمون واحد که با اجرای آن در شروع موفقیت آمیز نخواهد بود.
2- حداقل مقدار کد برای گذراندن آزمون را بنویسید.
3- حال در گام سوم اقدام به Refactor نمودن کد ها می نماییم و با افزودن کارکرد های مورد نیاز، کد را بازنویسی می نماییم. این گام در حالی انجام می شود که هموارده گذراندن آزمون را تضمین نماید.
مزیت اصلی TDD تضمین گذراندن آزمون می باشد و برنامه نویس می بایست دقیقا به میزانی کد بنویسد تا آزمون پاس شود. و لذا چیزی بیشتر که بی فایده نیز می باشد انجام نخواهد شد.

4- Code Standards:
سازمان‌ها از برنامه‌نویسانشان می‌خواهند که برخی از سبک‌های استاندارد و توصیف‌شده کدنویسی به نام استانداردهای کدنویسی را رعایت کنند. این یک دستورالعمل برای تیم توسعه است، مانند XP. از آنجایی که چندین جفت برنامه نویسی در بازی وجود دارد، استانداردهای کدنویسی برای ایجاد ثبات در کد، سبک، تبدیل نام، مدیریت استثنا و استفاده از پارامترها بسیار مفید هستند.
این استانداردها باید قبل از اینکه تیم کدنویسی را شروع کند، تعریف و توافق شود.
این اصل سبب می شود درک کد ساده شده و به تشخیص سریع مشکل یا مشکلات کمک می کند و همچنین کارایی نرم افزار را افزایش می دهد.


5- Refactoring:
همان‌طور که از کلمه پیداست، Refactoring بازسازی کدهای موجود است. در XP طی یک دوره زمانی، تیم کدهای کاری زیادی تولید می‌کند و این پیچیدگی را افزایش می‌دهد و باعث بدهی فنی می‌شود. برای جلوگیری از این امر، باید نکات زیر را در نظر بگیریم:
اطمینان حاصل کنید که کد یا توابع تکراری نیستند
از همه متغیرها در محدوده، تعریف شده و استفاده شده اطمینان حاصل کنید
از توابع اضافی یا روش های طولانی جلوگیری شود
حذف موارد و متغیرهای غیر ضروری
استفاده صحیح از اصلاح کننده های دسترسی و غیره
در Refactoring برنامه نویسان به دنبال بهبود کیفیت کلی کد و خوانایی آن بدون تغییر رفتار آن هستند.

پایان قسمت دوم
قسمت اول: آشنایی با متدولوژی XP (Extreme Programming)
با همراه باشید.

avatar

محمد حمیدی: بنیان‌گذار گروه مشاوره و آموزشی چابک شو؛ مربی تحول چابکی و مدرس دوره های آموزشی مدیریت پروژه چابک، اسکرام، کانبان و تحول چابکی

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

نشانی ایمیل شما منتشر نخواهد شد.