تیم توسعه
تیم توسعه یکی دیگر از زیرمجموعههای اصلی تیم بزرگتر اسکرام است. این تیم از متخصصانی تشکیل میشود که درپایان هر اسپرینت، Increment یا بخش افزایشی محصول بالقوه را تحویل میدهند.
اندازهی ایدهآل تیم توسعه
اندازهی بهینهی تیمهای توسعه با هیچ عدد مشخصی تعریف نمیشود و ممکن است از تیمی به تیم دیگر، متفاوت باشد. بهترین حالت این است که تیم بهاندازهای کوچک باشد که «چابک» باقی بماند و درعینحال بهاندازهای بزرگ باشد که حجم درخورتوجهی از کار را در یک اسپرینت تکمیل کند. تنها دراینصورت تیم میتواند بیشترین ارزش ممکن را ارائه دهد.
اگر اعضای تیم توسعه کمتر از سه نفر باشد، نرخ تعاملات و پیرو آن بهرهوری کاهش مییابد. مشکلی که تیمهای بسیار کوچک با آن مواجهاند، محدودیت مهارتهای ضروری در طول اسپرینت جاری است؛ بههمیندلیل، در تکمیل Increment محصول شکست میخورند. البته، بزرگبودن تیم توسعه نیز به همین اندازه بد است.
اگر اعضای تیم توسعه بیشتر از ۹ نفر باشند، مشکلات هماهنگی اعضا افزایش مییابد و پیچیدگیهای غیرضروری نیز بیشتر میشود. در این حالت، فرایندهای تجربی زیاد استفاده نمیشوند.
توجه کنید اسکراممستر و مالک محصول اعضای تیم توسعه محسوب نمیشوند؛ مگر اینکه آنها هم فعالانه مشغول انجام کارهای بکلاگ اسپرینت باشند.
مشخصات تیم توسعه
- تیمهای توسعه خودسازمان هستند. هیچکس (حتی اسکراممستر) تیم توسعه را دربارهی شیوهی تبدیل بکلاگ محصول به Incrementها جهتدهی و هدایت نمیکند.
- تیمهای توسعه معمولا چندوظیفهای (Cross-Functional) هستند؛ یعنی اعضای تیم از مهارتهای مختلفی بهره میبرند. بهعنوان تیم، این مهارتهای ترکیبی برای ایجاد Increment محصول ضروری هستند.
- اعضای تیم توسعه عناوین فردی ندارند. هر عضو صرفنظر از کاری که انجام میدهد، فقط بهعنوان بخشی از تیم شناخته میشود.
- اسکرام هیچ تیمی را بهعنوان زیرمجموعهی تیم توسعه بهرسمیت نمیشناسد؛ حتی اگر این تیمها در حوزههایی مانند آزمون، تجزیهوتحلیل کسبوکار، عملیات یا معماری تشکیلشده باشند.
- کل تیم توسعه بهعنوان گروهی منسجم مسئولیت پروژه را برعهده دارد. بهعبارتِدیگر، هیچیک از اعضا بهتنهایی مسئول پروژه نیستند.
مسئولیتهای تیم توسعه
تیم توسعه در درجهی اول مسئولیتهای زیر را برعهده دارد:
اجرای اسپرینت
اعضای تیم توسعه در طول اسپرینت، وظایف طراحی، ساخت، ادغام و آزمون آیتمهای بکلاگ محصول به Incrementها را برعهده دارند. برای این منظور، آنها خود را سازماندهی میکنند و تصمیم میگیرند چگونه کار را برنامهریزی، مدیریت، اجرا و تفسیر کنند. بیشترین زمان تیم توسعه صرف اجرای کار میشود.
ارزیابی و تعدیل
همهی اعضای تیم توسعه باید در اسکرام روزانه شرکت کنند. در این جلسات، اعضای تیم پیشرفت خود را در جهت اهداف اسپرینت و ارزیابی و برنامهی کار روزانهی خود را برایناساس تعدیل میکنند.
پاکسازی بکلاگ محصول
اعضای تیم توسعه در هر اسپرینت، بخشی از زمان خود را به آمادهشدن برای اسپرینت بعدی اختصاص میدهند. پاکسازی بکلاگ (Product Backlog Grooming) محصول بهمعنی ایجاد، تصحیح، تخمین و اولویتبندی آیتمهای انجامنشدهی محصول است. ۱۰ درصد از ظرفیت تیم در هر اسپرینت، باید به مشارکت با PO و انجام این فعالیتها تعلق گیرد.
برنامهریزی اسپرینت
تیم توسعه در ابتدای هر اسپرینت، در جلسهی برنامهریزی حضور مییابد و با همکاری مالک محصول هدف اسپرینت را تصویب میکند. پس از مشخصشدن هدف اسپرینت، تیم توسعه زیرمجموعهای از آیتمهای بکلاگ محصول را انتخاب میکند که برای رسیدن به هدف از بیشترین اولویت برخوردار هستند. زمان لازم برای جلسهی برنامهریزی، مستقیما متناسب با اسپرینت است.
بررسی و تطبیق محصول و فرایندها
در پایان هر اسپرینت، تیم توسعه باید در دو فعالیت ارزیابی و تطبیق شرکت کند: جلسات بررسی و بازنگری اسپرینت.