تیم‌های نرم‌افزاری خودسازماندهی شده

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

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

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

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

از گلوگاه‌ها تا مالکیت تیمی

ما پارادایم تصمیم‌گیری را تغییر دادیم – به جای اینکه مدیریت تصمیم بگیرد کجا برویم و چه کاری انجام دهیم، از تیم پرسیدیم که فکر می‌کنند حرکت به کدام سمت کارآمدتر است.

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

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

نکته دوم تمرکز بر این بود که با اعضای تیم به عنوان بزرگسال رفتار کنیم. ما آن‌ها را با مدیریت خرد زیر نظر نمی‌گیریم تا مطمئن شویم که ضرب‌الاجل‌ها را رعایت می‌کنند و ساعت‌هایشان را کنترل نمی‌کنیم تا ببینیم روزانه ۸ ساعت کار کرده‌اند یا نه. همه ما بزرگسال هستیم. در تیمی که اعضای آن تمام تلاششان را می‌کنند تا یک محصول فوق‌العاده تحویل دهند، کسی که ۱۰۰٪ توانش را نگذارد خیلی سریع مشخص خواهد شد. کارکنان به مدیریت اعتماد دارند که زندگی‌شان را راحت‌تر کند و ما به آن‌ها اعتماد داریم که درست کار کنند.

ساختار تیم‌ها و کارایی آن‌ها

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

ما معمولاً پروژه‌های با قیمت ثابت انجام نمی‌دهیم، اما به تعهدات خود در محدوده‌ای که می‌توانیم در یک اسپرینت ارائه دهیم، پایبند هستیم. این ساختار باعث می‌شود توسعه چابک باقی بماند و یک مرحله مشخص با مهلت تحویل تضمین شود.

بهره‌مندی از مزایا

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

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

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

انواع تیم

مزایای مدیریت

مزایای این ساختار برای مدیریت کاملاً واضح است:

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

ترک عادت‌های قدیمی

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

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

برخی از عادت‌های بد دیگر که باید با آن‌ها مقابله کرد:

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

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

  3. آموزش هنگام ورود به شرکت نباید از بالا به پایین باشد، بلکه باید به‌صورت تبادل تجربه بین همکاران انجام شود.
    کارکنان جدید، به‌ویژه توسعه‌دهندگان تازه‌کار، به طور طبیعی به اعضای باتجربه‌تر تیم نگاه می‌کنند تا برای برداشتن اولین گام‌ها، از آن‌ها کمک بگیرند.

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

گام‌های بعدی

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

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

از آنجا که ما به شدت به منابع انسانی متکی هستیم، منطقی است که در آینده مدل اشتراک درآمد (Revenue Sharing) را برای همه ارائه دهیم. ساختن چیزی که بدانید علاوه بر حقوق ثابت، درصدی از سود آن را هم دریافت خواهید کرد، بسیار هیجان‌انگیزتر است. ما از سال ۲۰۲۲ کار برای آماده‌سازی این مدل را آغاز کرده‌ایم.

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