Agile Gap | اجایل گپ
اجایل گپ | Agile Gap
‫‫‫‫‫‫ نحوه‌ی مواجهه با مهاجرت دولوپرها با کسری طوفانی
0:00
-31:55

‫‫‫‫‫‫ نحوه‌ی مواجهه با مهاجرت دولوپرها با کسری طوفانی

کاور اپیزود نحوه‌ی مواجهه با مهاجرت دولوپرها با حضور کسری طوفانی و پدرام کشاورزی در پادکست اجایل گپ

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

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

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

زمانی که اعضای تیم دائماً دستخوش تغییر شوند، عملکرد و بهره‌وری (Performance) تیم به‌طور مداوم کاهش می‌یابد. به‌عنوان مثال، وقتی تیم پس از مدتی تلاش به سطح عملکرد مطلوب می‌رسد، ناگهان یکی از اعضا جدا می‌شود یا پروژه تغییر می‌کند و کل تیم دوباره به مراحل ابتدایی مانند «تشکیل» و «طوفان» (Forming و Storming) بازمی‌گردد. این چرخه اگر تکرار شود، بهره‌وری تیم همواره در سطح پایینی باقی خواهد ماند. می‌توان این وضعیت را به تعویض مکرر موتور یک خودرو تشبیه کرد؛ راننده به یک موتور عادت کرده است اما وقتی موتور پی‌درپی تعویض شود، امکان ندارد خودرو با همان کیفیت و ثبات قبلی حرکت کند.

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

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

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

در دوره‌ای که به‌صورت مجازی در هند شرکت کرده بودم تحت عنوان Professional Scrum Developer (PSD)، در روز دوم سؤالی مطرح شد که به‌خوبی اهمیت این مسئله را نشان می‌داد. پرسش این بود: اگر در تیم شما فردی حضور دارد که هم دانش و تخصص بالایی دارد و هم شناخت عمیقی از پروژه و سازمان دارد، اما برای چند روز به سفر رفته و در دسترس نیست، چه اتفاقی خواهد افتاد؟ پاسخ به این سؤال بستگی به میزان بلوغ تیم و میزان یادگیری اعضا از آن فرد دارد. اما اگر تیم بیش از حد به او وابسته باشد، سازمان به‌سرعت متوجه می‌شود که تمام کارها بر دوش یک نفر بوده و با نبود او عملکرد تیم به‌طور جدی مختل خواهد شد. در چنین شرایطی، سردرگمی و کاهش راندمان اجتناب‌ناپذیر است و حتی احتمال بروز باگ‌های متعدد نیز افزایش می‌یابد.

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

راهکار دوم، مستندسازی (Documentation) است. اما این مستندسازی نباید به اسناد طولانی و پیچیده تبدیل شود. در مانیفست چابک (Agile Manifesto) نیز تأکید شده که «نرم‌افزار کارآمد ارزشمندتر از مستندسازی جامع است.» این بدان معنا نیست که مستندسازی بی‌اهمیت است، بلکه باید به‌اندازه و اثربخش باشد.

اشتباهی که بسیاری از سازمان‌ها مرتکب می‌شوند این است که مستندات بدون بازبینی و کنترل کیفیت تهیه می‌شوند و عملاً بی‌فایده باقی می‌مانند. مستندسازی باید به‌گونه‌ای باشد که در عمل به کار بیاید و برای اعضای تیم و نفرات جدید قابل استفاده باشد. به همین دلیل، حتی یک توضیح کامل و دقیق در بخش توضیحات (Description) یک «داستان کاربر» (User Story) یا آیتم بکلاگ می‌تواند بسیار ارزشمندتر از ده‌ها صفحه سند رسمی باشد.

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

کافی است برای هر آیتم یک توضیح (Description) دقیق و شفاف نوشته شود. این کار نه‌تنها برای افراد جدیدی که جایگزین نیروهای قبلی می‌شوند مفید است، بلکه برای اعضای فعلی تیم نیز بسیار سودمند خواهد بود. یکی از دغدغه‌های همیشگی این بوده است که نیروهای تست (Testers) اغلب نمی‌دانند چگونه باید یک «داستان کاربر» (User Story) یا یک «تسک» (Task) را آزمایش کنند. درست در همین نقطه است که توضیحات شفاف می‌تواند راهگشا باشد؛ توضیحاتی که به‌روشنی مشخص کند چه چیزی باید مورد بررسی قرار گیرد، چه جنبه‌ای اهمیت بیشتری دارد و معیار تست بر چه اساسی باید تعریف شود. به این ترتیب، هم جنبه‌های فنی (Technical) و هم جنبه‌های محصولی (Product) در نظر گرفته می‌شود.

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

برای نمونه، پس از چند ماه می‌توان یک گزارش از ابزار جیرا (Jira) استخراج کرد و مشاهده نمود که وجود توضیحات در آیتم‌ها چه‌قدر به تیم درک بهتر از روند کارها و حتی تسهیل فرایند ورود نیروهای جدید (Onboarding) کمک کرده است. با این حال، هنوز هم نوعی مقاومت یا ذهنیت منفی نسبت به مستندسازی وجود دارد. برخی تصور می‌کنند مستندسازی با اصول چابک (Agile) مغایرت دارد و تمرکز بر آن موجب کندی تیم می‌شود. در حالی‌که این برداشت نادرست است؛ هرچند اولویت اصلی تحویل نرم‌افزار کارآمد است، اما وجود حداقلی از مستندسازی همچنان ضروری است.

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

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

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

زمانی که فردی وارد یک سازمان می‌شود، از مرحله‌ی جذب و فرایندهای منابع انسانی (HR) تا زمانی که به تیم ملحق شود، باید یک فرایند مشخص برای ورود (Onboarding) تعریف شده باشد. اگر چنین فرایندی وجود نداشته باشد، فرد جدید گرچه کار خود را آغاز می‌کند اما در ابتدای مسیر بازدهی لازم را نخواهد داشت و حتی ممکن است زمان اعضای دیگر تیم را نیز هدر دهد. این همان نکته‌ای است که در اسکرام (Scrum) نیز بر آن تأکید می‌شود: فرد باید با محیط کاری و تیم آشنا شود و این آشنایی قطعاً بر عملکرد سایر اعضا اثر خواهد گذاشت.

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

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

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

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

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

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

گاهی ما با وظایفی مواجه می‌شویم که اصطلاحاً «Task Duel» نامیده می‌شوند؛ کارهایی که صرفاً در حال انجام دادن آن‌ها هستیم، بدون آنکه احساس معنا و رشد در آن‌ها وجود داشته باشد. به یاد دارم در پاسخ به پرسش منابع انسانی که می‌گفتند «چه عاملی باعث می‌شود سازمان را ترک کنید؟» معمولاً چنین می‌گفتم که زمانی که حس کنم کارم بی‌معنا شده و دیگر چیزی به من اضافه نمی‌کند، دلیلی برای ماندن وجود ندارد. این دقیقاً همان نقطه‌ای است که توسعه‌دهندگان (Developers) بیشترین حساسیت را دارند؛ اگر احساس کنند یادگیری و رشد آن‌ها متوقف شده است، انگیزه‌ی ماندن در شرکت را از دست خواهند داد.

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

موضوع دیگر دیده‌شدن افراد است. تعریف شاخص‌های کلیدی عملکرد (KPIs) می‌تواند در این زمینه بسیار مؤثر باشد. اگر این شاخص‌ها درست طراحی شوند، نه‌تنها ابزاری برای سنجش عملکرد هستند، بلکه انگیزه‌بخش خواهند بود و به افراد نشان می‌دهند چه میزان پیشرفت داشته‌اند. البته تعریف نادرست KPI ممکن است اثر معکوس داشته باشد و افراد را دلسرد کند.

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

وجود یک مسیر شغلی مشخص (Career Path) و نظام ارزیابی جایگاه افراد (Grading System) نیز در همین راستا اهمیت دارد. زمانی که معیارهای روشنی مانند توانایی حل مسئله یا سطح مهارت‌های فنی تعریف شوند، افراد می‌توانند جایگاه خود را بشناسند و برای ارتقا تلاش کنند. سازمان نیز با اعلام شفاف این معیارها و ارائه‌ی بازخورد منظم، به افراد کمک می‌کند تا مسیر پیشرفت خود را طی کنند. ارتقای جایگاه می‌تواند با افزایش حقوق، تغییر عنوان شغلی یا مسئولیت‌های جدید همراه باشد.

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

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

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

در حال حاضر، کمبود نیروهای متخصص به یکی از جدی‌ترین چالش‌های صنعت تبدیل شده است. برای نمونه، سال گذشته یکی از شرکت‌ها برای یک موقعیت شغلی در حوزه‌ی بک‌اند (Back-End) بیش از ۱۲۰ رزومه دریافت کرده بود، در حالی‌که امسال در همان بازه‌ی زمانی تنها ۱۲ رزومه به دستشان رسیده است. این آمار نشان می‌دهد که شرایط بازار کار تا چه حد تغییر کرده و سازمان‌ها بیش از پیش باید برای جذب و حفظ نیروهای متخصص برنامه‌ریزی کنند.

امیدوارم شنوندگان نیز تجربه‌های خود را با ما به اشتراک بگذارند. مشارکت آن‌ها می‌تواند در یافتن راهکارهای بهتر بسیار مؤثر باشد.

‫‫‫اجایل گپ را می‌توانید از طریق شبکه‌های اجتماعی لینکدین، اینستاگرام و تلگرام دنبال کنید

Discussion about this episode

User's avatar