چارچوب Nexus

چارچوب Nexus

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

  • اختلاف بین مالکین محصول تیم‌ها در اولویت بندی نیازمندی‌ها
  • عدم وجود مدیریت و کنترل مناسب بین اعضای تیم‌ها
  • اتلاف زمانی زیاد در کارهای وابسته به چند تیم
  • مشکلات فراوان یکپارچه سازی کارهای انجام شده تیم‌ها
  • عدم پذیرش اشتباهات از سمت تیم‌ها
  • بوجود آمدن باگ‌های زیاد بعد از یکپارچه سازی
  • متعهد نبودن کل افراد تیم‌ها نسبت به کل محصول
  • نبود روحیه همکاری تیمی بین تیم‌ها
  • و …

برای مدیریت فرآیند این نوع از توسعه محصول نیازمند چارچوبی هستیم که ارتباطات تیم‌ها و روند کارها را کنترل کنیم تا بتوانیم به صورت برنامه ریزی شده فرآیند را پیش ببریم و بخش‌های محصول را با کیفیت و در بازه‌های زمانی معقول به مشتری تحویل دهیم. یکی از چارچوب‌های اجایل که برای پروژه‌هایی با این ماهیت در نظر گرفته شده، چارچوب نکسوس است. این چارچوب یک رویکرد Iterative و Incremental است که برای مقیاس پذیر کردن نرم افزار و توسعه محصول مناسب است. پایه و مفاهیم بنیادی این چارچوب مبتنی بر چارچوب اسکرام است و برای پروژه‌هایی که ۳ تا ۹ تیم اسکرام روی بک لاگ یک محصول واحد کار می‌کنند و در نهایت یک محصول یکپارچه شده ایجاد می‌کنند، مناسب است .  می‌توان گفت که نکسوس یک چارچوب یا ساختاری در سطح مدیریتی و نظارتی بالاتر است که تمرکزش بر روی فرایند کل محصول است. تمام مفاهیم و جلسات و خروجی‌های مربوط به اسکرام در تمام تیم‌ها به طور مجزا حاکم است، فقط در سطح بالاتر تیم‌ها، یکسری نقش و رویداد جدید داریم.

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

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

رویدادهای فرآیند نکسوس

۱- پالایش بک لاگ محصول: با پالایش بک لاگ محصول وابستگی‌ها مشخص شده و کارها طوری برنامه‌ریزی می‌شود که این وابستگی‌ها به حداقل برسد تا تیم‌ها بطور مستقل بتوانند بر روی آنها کار کنند. در این‌صورت اتلاف زمانی به علت وابسته بودن کارها به یکدیگر را نخواهیم داشت و مغایرت کارها کمتر می‌شود.

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

۳- کار توسعه: هرکدام از تیم‌ها در طول اسپرینت مشغول توسعه بخش‌های مربوط به خود می‌شوند و یکپارچه‌سازی بخش‌های مختلف هم در یک محیط مشترک در طول اسپرینت به طور مداوم انجام می‌شود تا از محصول یکپارچه شده هم اطمینان داشته باشند.

۴- جلسه روزانه نکسوس: روزانه نمایندگان تیم‌ها با هم جلسه daily برگزار می‌کنند و مشکلات مربوط به یکپارچه‌سازی را بررسی و شناسایی می‌کنند که اگر موردی شناسایی شد این مشکلات به تفکیک در جلسات روزانه هر یک از تیم‌ها که بعد از این جلسه تشکیل می‌شود منتقل می‌شود. در طول  جلسه  روزانه نکسوس، اعضا باید بر روی تأثیر هر تیم بر روی فرآورده  یکپارچه شده متمرکز شده و مسائل زیر را موردبحث قرار دهند:

  • آیا کار روز گذشته با موفقیت یکپارچه شده است؟
  • اگرنه چه وابستگی‌های تازه‌ای شناسایی شده‌اند؟
  • چه اطلاعاتی باید درطول اسپرینت نکسوس بین تیم‌ها به اشتراک گذاشته شود؟

۵- جلسه مرور نکسوس: این جلسه جایگزین جلسات مرور تیم‌های اسکرام است. این جلسه با حضور تمام اعضای تیم‌های اسکرام و تیم نکسوس در پایان اسپرینت نکسوس برگزار می‌شود. این جلسه جهت بازبینی محصول یکپارچه شده نهایی در طول اسپرینت می‌باشد. در این جلسه ذینفعان در مورد محصول یکپارچه شده فیدبک می‌دهند و ممکن است بک لاگ محصول تغییر کند. همه اعضای تیم‌ها در مورد محصول نهایی متعهد هستند و در موردش باید احساس مسئولیت کنند.

۶- جلسه بازنگری نکسوس: این جلسه فرصتی برای بررسی و بهبود است. این جلسه خود شامل ۳ جلسه است، نمایندگان هر تیم برای شناسایی چالش‌ها و مشکلات مشترک، باهم جلسه تشکیل می‌دهند. سپس هر یک از تیم‌های اسکرام به طور مجزا جلسه بازنگری اسپرینت ویژه خود را تشکیل می‌دهند. مجدد نمایندگان تیم برای تبادل نظر در خصوص اقدامات موردنیاز برای چالشهای مشترک، باهم ملاقات می‌کنند. مواردی که در جلسه بازنگری مورد بررسی قرار می‌گیرد شامل:

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

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

 

مزایای نکسوس

  • تیم را در جهت بهبود بهره‌وری سازماندهی می‌کند
  • افراد را به صورت درست در تیم‌ها سازماندهی می‌کند تا تلاش افراد بهینه شود
  • چگونگی مدیریت تعداد زیادی تیم را در راستای توسعه سریع و موفق محصول سازماندهی می‌کند
  • به مدیران و مالک محصول‌ها کمک می‌کند تا ناهنجاری‌ها را سریع شناسایی کنند
  • برای حل ناهنجاری‌ها تکنیک‌هایی را فراهم می‌کند
  • الگوهایی را برای self-organize شدن تعداد زیادی توسعه دهنده فراهم می‌کند
  • و …

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

پاسخ دهید

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