نیازمندیهای طراحی یک تیم چابک
این مجموعه کمدی که توسط مایک جاج، جان آلتشولر و دیو کرینسکی ساخته شده، فرهنگ نرمافزاری را در زندگی واقعی که تیمهای چابک از آن نشات میگیرند، به نمایش میگذارد. توسعهدهندگان نرمافزار و ماهیت کار کدنویسی آنها، به متدهای کاری نیاز دارد که کار مشارکتی و تیمی را پشتیبانی میکند تا محصولات نرمافزاری جدید هر چه سریعتر وارد بازار شوند. به همین دلیل است که در اواخر دهه ۹۰ وقتی برنامهنویسی سیستمها به سرعت رشد کرد، این نیاز فوری ایجاد شد که متد سنتی توسعه محصول، موسوم به متد «آبشاری» بهروزرسانی شود. در مدل آبشاری، برای برنامههایی که بهشدت ساختارمند هستند، قبل از توسعه محصول، پیشنویس تهیه میشود و سپس به صورت متوالی به واحدهای ویژه در هر مرحله منتقل میشوند. این رویکرد ساختارمند و زمانبر، در میان انتقادهای دیگر، به این معنی بود که محصولات قبل از آماده شدن و رسیدن به دست مشتری، از رده خارج میشدند.
در سال ۲۰۰۱، هفده مهندس نرمافزار برجسته در رویدادی در ایالت اوتا گرد هم آمدند تا علاوه بر اسکی کردن و غذا خوردن و گفتوگو کردن، متد تازهای برای توسعه نرمافزار پیدا کنند تا تیمها بتوانند محصولات را در اولیهترین مراحل فرآیند، به دست مشتری برسانند. رویکردهای آبشاری که این ۱۷مهندس نرمافزار میخواستند روش تازهای را جایگزین آن کنند، از جنگ جهانی اول و زمانی که هنری گانت، یک مکانیزم سازماندهی برای استراتژی ارتش آمریکا ایجاد کرد، به کار میرفت.
این جلسه که خودش نمونهای از قدرت مشارکت حضوری بود، به «بیانیه توسعه نرمافزار چابک» منجر شد که رویکرد جدید انطباقی و تکرارشونده را به شکلی خلاصه توصیف میکرد:
در رونمایی از روشهای بهتر توسعه نرمافزار، برای موارد زیر ارزش قائل میشویم:
افراد و تعاملات در فرآیندها و ابزارها
نرمافزار کاربردی برای مستندسازی جامع
همکاری با مشتری برای چانهزنی در قراردادها
واکنش به تغییر، برای پیگیری یک طرح
نویسندگان بیانیه چابک، ۲۰۰۱
طراحی تیمهای چابک
طراحی تیمهای چابک، بر اساس این اصل هستهای است که مزیت رقابتی یعنی انعطافپذیری برای یافتن موثرترین ترکیب منابع و قابلیتها. اندازه تیمها کوچک است تا تصمیمگیری سریع و بهرهوری بالا باشد. تعداد زیاد افراد و جریانات ارتباطی پیچیده میتوانند به راحتی بر تیم اثر بگذارند و همهچیز را کند کنند. بیشتر کارشناسان چابک، پیشنهاد میکنند که بهترین تعداد برای تیمهای چابک ۵ تا ۹ نفر است. نقشها سیال هستند و ترکیب تیم میان-کارکردی است تا اعضا بتوانند از عهده هر وظیفهای که تیم باید انجام دهد، برآیند. تصمیمگیری مشترک است و هیچ فردی به تنهایی مسوول یک وظیفه نیست. تیمها اهداف پرچالش و الزامآور را خودشان سازماندهی میکنند و برای «انجام کارها» اضطرار ایجاد میکنند که انرژی و انگیزه را افزایش میدهد و اعضای تیم را متعهد نگه میدارد. اعضای تیم که نسبت به وظایف خود حس مالکیت دارند، از سطح بالای استقبال و مسوولیتپذیری احساس راحتی دارند.
ارتباطات باز، مستقیم و مداوم، در مرکز متد چابک است و به افراد امکان میدهد خیلی سریع مسائل را به تیم بزرگتر ارجاع دهند و برای پیدا کردن راهحل مناسب، با مدیران بالادستی همکاری کنند. از آنجا که تیمهای چابک خیلی سریع میتوانند نتایج کارشان را ببینند و پیشرفت کنند، از آزمایشهای سریع برای بازخورد گرفتن از مشتریان داخلی یا خارجی استفاده میکنند و متناسب با این بازخوردها تصمیم میگیرند. با توجه به اینکه نیاز مشتری ثابت نیست و تکامل پیدا میکند، به محض معرفی یک محصول یا پروژه، نمونهسازی سریع و مشارکت مداوم با مشتریان، تضمین میکند که محصول نهایی، ارزش واقعی ارائه کرده است. با چنین رویکرد تکرارشوندهای، برنامههای از پیش تهیه شده با جزئیات یا مستندسازیهای طولانی، دیگر مفید نیستند. در عوض، تیمهای چابک بر سر یک چشمانداز و مسیر برای شروع پروژه، با هم توافق میکنند و کارها را متناسب با آن پیش میبرند.
شاید از زمان شکلگیری تیمهای چابک، برجستهترین ویژگی آنها، اصرار بر برگزاری جلسات متناوب باشد. تیمهای چابک جلسات روزانه دارند که معمولا در یک زمان مشخص برگزار میشود و هر فردی گزارش کوتاهی از پیشرفت خود را در اختیار بقیه اعضا قرار میدهد. زمان این جلسات کوتاه و معمولا ۱۵ دقیقهای است. لحن این جلسات مثبت است، سطح اعتماد بالا است و مسوولیتپذیری برای یادگیری و نوآوری مهم و حیاتی است.
چابکی نیاز به همجواری دارد. این عقیده وجود دارد که ارتباط رو در رو، تیمها را چابکتر میکند، چون سردرگمی و اضافهکاری را که معمولا با مستندسازیهای بیش از حد ایجاد میشوند حذف میکند. تماس فردی مداوم اعضای تیم در طول روز، امکان چک کردنهای سریع، اصلاح کردن و پیوند برقرار کردن را فراهم میکند. تهیه پیشنویس یک سند، که یک فعالیت آبشاری محسوب میشود، در تیمهای چابک وجود ندارد، چون زمان اضافه میگیرد و اگر نویسنده آن حضور نداشته باشد، ممکن است محتوای آن توسط خواننده به غلط تفسیر شود.
این ویژگیهای کلیدی فرآیند چابکی، ظاهرا با تیمهای پراکنده یا دورکار همخوانی ندارند. اما، همانطور که در قسمتهای بعدی خواهید دید، فرآیندهای چابک در تیمهایی که اعضایی از سراسر دنیا دارند هم موفقیت زیادی ایجاد کردهاند. مدیران و تیمهای دورکار میتوانند خوشحال باشند؛ اگر یک متدولوژی که کاملا وابسته به جلسات روزانه و رو در رو بوده و در وضعیت دورکاری تغییر کرده و موفقیتآمیز بوده، پس هر چیز دیگری هم میتواند اینگونه باشد.