چارچوب Extreme Programming، مدیریت از مسیری سخت اما کارآمد! (قسمت 3)

در قسمت‌های پیشین در مورد متد XP که مخصوص تیم‌های برنامه‌نویسی هست توضیحاتی ارائه دادیم، در این قسمت به برخی دیگر از فرآیندهای مدیریتی در این متد می‌پردازیم که اجرای درست و دقیق آن‌ها نیازمند یک تیم منسجم است و با تمرین و کار گروهی می‌توان آن‌ها را پیاده‌سازی کرد. پیاده‌سازی و اجرای درست این روش‌ها مطمئنا ارزش پیمودن راه سختی که برای رسیدن به آن‌ها در پیش روی تیم‌‌ها می‌باشد، دارد، چرا که ممکن است در ابتدا باعث کند پیش رفتن کارها شوند اما در دراز مدت زمان بسیار زیادی را برای شما خواهند خرید و علاوه بر بهینه‌سازی زمانی در بهینه سازی کیفی هم تاثیر شگرفی خواهند داشت.

ایجاد تاخیر قابل پیش‌بینی(Slack)

ممنظور از ایجاد تاخیر قابل پیش‌بینی از نظر XP افزودن برخی از کارهای یا داستان‌ها (stories) با اولویت کم در چرخه هفتگی و سه ماهه شما است که در صورت عقب ماندن تیم از کارهای مهم یا داستان های مهمتر ، می توانند کنار گذاشته شوند. در واقع با این روش، سعی میکنید تنوع ذاتی موجود در تخمین ها را حساب کنید و همیشه حاشیه‌ی‌ زمانی مناسبی دشته باشید تا مطمئن شوید شانس خوبی برای تحقق پیش بینی های خود دارید.

 

ساخت ده دقیقه ای

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

این روش تیم شما را تشویق می کند تا روند ساخت را به صورت خودکار انجام دهند و احتمال بیشتری برای انجام منظم آن وجود داشته باشد، و بدین صورت برای اجرای تمام آزمایشات خود از  فرایند ساخت خودکار استفاده نمایند.

این عمل از ادغام مداوم پشتیبانی می کند و با Test First Development همراه می‌شود می شود.

 

ادغام مداوم(CD)

ادغام مداوم عملی است که در آن تغییرات کد هنگامی که به یک پایگاه کد بزرگتر اضافه می شوند بلافاصله آزمایش می شوند. مزیت این عمل این است که شما می توانید مسائل ادغام را زودتر برطرف و رفع کنید.

بیشتر تیم ها از مرحله ادغام کد به دلیل کشف ذاتی تضادها و مسائلی که ایجاد می کند، وحشت دارند. اکثر تیم ها رویکرد “اگر مشکلی پیش آمد، تا آنجا که ممکن است از آن اجتناب کنید” را دنبال می کنند.

متخصصان متد XP پیشنهاد می کنند “اگر مشکلی پیش آمد ، بیشتر اوقات این کار را انجام دهید”.

دلیل این رویکرد این است که اگر هر بار که کد را ادغام می کنید با مشکلی روبرو می شوید و یافتن محل مشکلات مدتی طول می کشد ، شاید باید بیشتر این فرظایند را تکرار کنید تا اگر مشکلی وجود دارد ، پیدا کردن آن بسیار راحت تر باشد زیرا تغییرات کمتری در ساخت کد گنجانده شده است.

این عمل نیاز به نظم و انضباط زیاد دارد و به فرآیند ساخت و آزمایش ده دقیقه ای وابسته است.

 

برنامه نویسی با رویکرد Test-First

به جای اینکه مسیر عادی را دنبال کنید:

توسعه کد -> نوشتن تست -> اجرای آزمون

عمل برنامه نویسی Test-First مسیر زیر را دنبال می کند:

آزمون تست  خودکار را بنویسید -> اجرای آزمون -> توسعه کد برای گذراندن آزمون -> اجرای آزمون-> تکرار

 

همانند ادغام مداوم (CD)، برنامه نویسی Test-First چرخه بازخورد توسعه دهندگان را برای شناسایی و حل مشکلات کاهش می دهد ، در نتیجه تعداد اشکالات وارد شده در تولید را کاهش می دهد.

 

طراحی افزایشی

روش طراحی افزایشی پیشنهاد می کند که برای درک چشم انداز مناسب طراحی سیستم ، کمی از آینده به سیستم نگاه کنید و آن را تحلیل کنید و سپس هنگام ارائه ویژگی های خاص ، به جزئیات یک جنبه خاص از آن بپردازید. این روش هزینه تغییرات را کاهش می دهد و به شما امکان می دهد در صورت لزوم براساس جدیدترین اطلاعات موجود تصمیم گیری کنید.

در این فرآیند شما می توانید در صورت نیاز به refactor کردن قبل از کدنویسی فکر کنید و بدین ترتیب زمان زیادی را برای تیم توسعه بخرید. گاهی با بررسی‌های اینچنینی به نتایج جالبی می‌رسید که تیم توسعه را از یک مشکل بزرگ نجات می‌دهد.

 

کلام آخر در مورد روش XP

سهم اصلی XP در دنیای توسعه نرم افزار، مجموعه‌ای وابسته به روشهای مهندسی است که تیمها می توانند برای کارآیی بیشتر و تولید کد با کیفیت بالاتر از آن استفاده کنند. بسیاری از تیم های چابک با استفاده از چارچوبی متفاوت شروع می کنند و هنگامی که نیاز به روشهای مهندسی منظم تری را تشخیص می دهند ،اگر نه همه شیوه های مهندسی مورد حمایت XP، بلکه چندین مورد را اتخاذ می کنند.

 

هدف XP ، تمرکز بر بهینه‌سازی کارهاست. این روش تعداد كمی از اقدامات كاملاً ضروری را تجویز می كند و تیم ها را ترغیب می كند كه این تمرینات را تا آنجا كه می توانند انجام دهند، در بالاترین و شدید‌ترین حالت ممکن! این نام(extreme) از همین نشات میگیرد. نه به این دلیل که این تمرینات لزوماً رادیکال هستند (گرچه برخی از این روش ها در بعضی از تیم‌ها دور از دسترس شمرده می‌شوند)، بلکه به این دلیل که تیمها میبایست به طور مداوم بر بهبود توانایی خود در انجام چند تمرین تمرکز کنند.

درباره‌ی گلسا ماهیان

حتما ببینید

مدیریت به سبک استیو جابز، موفقیت سازمانی به سبک اپل

شاید اگر ده سال پیش نام ” استیو جابز” را جایی می‌­شنیدیم یا در موردش …

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *