سه پیاده سازی توسعه نرم افزار با روش چابک

توسط سمیرا گلکار
6 minutes read
توسعه نرم‌افزار

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

در ادامه مطلب یک توضیح مختصر از روش‌های مختلف پیاده سازی این متد و تفاوت آنها با هم خواهیم داشت.

1.      برنامه نویسی مفرط

برنامه نویسی مفرط فرصتی برای محک زدن خودتان است و اینکه خودتان باشید و شاید متوجه شوید که عملکرد شما خوب بوده اما با افراد نامناسبی همکار بوده اید.

  • کنت بک، بنیانگذاری متد برنامه نویسی مفرط

کنت بک، یکی از اولین چهره‌های شناخته شده در حوزه توسعه چابک است. یک روز که او در حال مطالعه بود، متوجه شد که کیفیت خروجی کار یک تیم معمولاً با هم افزایی و سلامت معنوی افراد گروه ارتباط مستقیمی دارد.

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

محوریت اصلی این رویکرد، باور داشتن به قدرت دیگران و توانایی آنها برای رشد و یادگیری است. در کتاب او به اسم “معرفی برنامه نویسی مفرط” ارتباط مؤثر، دریافت و ارائه بازخوردهای مکرر و احترام دو طرفه جزء عوامل کلیدی رسیدن به موفقیت بیان شده اند.

در این روش که مستلزم تبادل نظر مکرر است، کوتاه شدن چرخه توسعه هم نقش بسزایی دارد. به این ترتیب محصولات و خود تیم نسبت به تغییرات محیط واکنش پذیرتر می‌شوند و می‌توانند محصولات را با سرعت بیشتری طراحی کنند.

2.   SAFe

SAFe

فریم ورک چابک مقیاس پذیر (Scaled Agile Framework) در اصل همان روش توسعه نرم افزار به روش چابک است که قابلیت مقیاس پذیری را هم دارد.

بدون شک مدیریت یک میز آبمیوه فروشی کوچک که مقابل منزلتان راه اندازی کرده باشید تفاوت بسیار زیادی با مدیریت یک شرکت بزرگ دارد. آنچه که در ابتدای مسیر راه یک سازمان پاسخ‌دهی و تأثیر خوبی دارد، با رشد و پیشرفت آن سازمان تأثیر خود را از دست خواهد داد.

وقتی هر روز با 3 مشتری سر و کار داشته باشید، احتمالاً بیشتر کارها را خودتان انجام می‌دهید اما رسیدگی به 300 مشتری در روز بسیار چالش برانگیزتر است. هدف SAFe هم کمک به افزایش مقیاس است و فریم ورکی ایجاد می‌کند که به رشد مؤثر و کارآمد سازمان‌ها کمک می‌کند.

یکی از مهم ترین مفاهیم در متد SAFe بحث هم ترازی است. در واقع احساس هم سو بودن کارمند با چشم انداز کل سازمان نقش یک قطب نمای اخلاقی را برای او بازی می‌کند. با کمک این ابزار راهنمایی، صرف نظر از اینکه شرایط به مرور زمان چطور تغییر می‌کند، همه در یک مسیر خواهند ماند.

SAFe چندین دسته بندی دارد که هر کدام برای رفع یک نیاز خاص طراحی شده اند:

  • سطح ضروری SAFe: این نوع از SAFe، ضروریات ساده برای قطار تحقق توسعه چابک را مشخص می‌کند. قطار تحقق توسعه چابک (Agile Release Train یا به اختصار ART) کوچکترین تیم ممکنی است که قابلیت رسیدن به یک هدف تعیین شده را دارد. این سطح از SAFE سلامت و رفاه تیم‌ها را بیشتر از هر چیز دیگری مهم می‌داند.
  • سطح راهکار عظیم SAFe: در این سطح، همه اصول سطح ضروری در نظر گرفته شده و با مقیاس کامل پیاده سازی می‌شوند. هدف این سطح کمک کردن به سازمان‌های دولتی و سایر سازمان‌های بزرگ است و سعی به مشخص کردن یک استاندارد مسئولیتی برای شرکت‌های قدرتمند در سطح جهان دارد تا بتوانند تأثیر مثبتی بر زندگی همه افراد تأثیرپذیر از این سازمان‌ها داشته باشند که شامل مشتریان، کارمندان و مدیران داخلی این سازمان‌ها هم می‌شود.
  • SAFe پورتفولیو: شرکت‌هایی که تحت این فریم ورک کار می‌کنند، کار را با پرداختن به نیازهای مشتری شروع می‌کنند. از مرحله ظهور تقاضا تا برآورده ساختن آن یک دور داریم. هر دور کاملاً با هدفی که کسب و کار مورد نظر به دنبال رسیدن به آن است همخوانی دارد و تبدیل به نیرویی می‌شود که عملکرد هر ART را نشان می‌دهد. میل به یادگیری مستمر باعث نظم بخشیدن به این جریان ارزش می‌شود – تیم‌ها سعی می‌کنند فقط آنچه که نیاز است را بسازند و حداقل اتلاف را داشته باشند.
  • SAFe کامل: در نهایت به جامع ترین روش SAFe می‌رسیم که در این سطح با در نظر گرفتن همه صلاحیت‌های اصلی، به همه نیازهای ممکن رسیدگی می‌شود.

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

3.      اسکرام

اسکرام در توسعه نرم افزار

گاهی اوقات ممکن است تا مدتها به صورت تک نفره کار کنید. به طور کلی اسکرام (Scrum) و چابک سعی دارند مانع از گیر افتادن افراد در زندگی حرفه‌ای شوند که عاری از به اشتراک گذاری دانش و همکاری است.

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

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

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

جمع بندی مطلب

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

این متد توسعه نرم‌افزار انواع بسیار زیادی دارد و قطعاً وقتی وارد این حوزه شوید از گستردگی و عظمت آن شگفت زده خواهید شد.

 

 

مطالب مرتبط

دیدگاه شما چیست؟