ساختار تیم

قسمت هشتم - 1400/7/24الان که اواسط اکتبر 2021 است دو هفته از شروع به کار من گذشته. همه این مدت برای من Onboarding محسوب می‌شده و به همین دلیل با کل ساختار تیم و کلی ابزارهای مختلف آشنا شده و به خیلی جاها سرک کشیده ام. خوب است که برداشتی از این دو هفته داشته باشم.ساختار پروژه و سورس خیلی متفاوت از پروژه های ایران نیست. به همین خاطر از ساختار تیم شروع می کنم. البته کلیت ساختار تیم هم خیلی متفاوت از تیم های ایرانی نیست. اینجا از اسکرام استفاده می کنیم. ولی به جای ScrumMaster نقش PM یا همان Project Manager را داریم. یک نقش دیگر هم در تیم وجود دارد که گویا وظایف آن خیلی شبیه PM است با این تفاوت که بیشتر سمت مشتری است تا فنی. اسم این نقش را تا قبل از این اصلاً نشنیده بودم. اسم آن Technical Delivery Manager یا به اختصار TDM است. بقیه نقش‌ها عیناً مثل ایران است. نیروهای Back-end، برنامه نویس های Android و iOS، نیروی DevOps و قس علی هذا. راجع به PM در یکی از مطالب قبلی گفته بودم. اینجا صرفاً نقل مجدد می کنم:به جای scrum master شخصی با نقش PM یا Project Manager داریم که فعال ترین فرد تیم است. از یک طرف با تیم فنی در ارتباط است، از یک طرف با افراد غیر فنی در شرکت و از طرفی دیگر با مشتری و تیم پشتیبانی در ارتباط است. خودش چندین سال برنامه نویسی وب و غیر وب کرده و دستی در برگزاری جلسات مختلف و کار با ابزارهایی مثل Jira دارد. او Task ها یا Backlog ها را به طور کامل در Jira مکتوب دارد، جزییات هر item کاملاً وارد شده. و یکی از کارهایش حین جلسات sprint planning و حتی SU (همان stand up daily) این است که مدام task جدید اضافه کرده، تسک های موجود را بهبود داده و آن‌ها را به افراد مختلف assign می کند. در یک هفته و خرده ای مدام در دسترس بوده. هر سؤالی که پرسیده ام یا خودش جواب داده یا به فرد مرتبط ارجاع داده. آن هم در حد دقیقه. گاهی اوقات دیده‌ام که وسط یک جلسه در حال جواب دادن به سؤالات دیگران است. Business Logic را کاملاً حفظ است.من به عنوان Back-end developer یک manager دارم. تا این لحظه وظیفه داشته ام برای هر کدی که می‌نویسم pull request ایجاد کرده و او هم آن‌ها را code review کند. ولی گویا قرار است code review اجباری به زودی برداشته شود. طی این مدت نکته خیلی عجیبی از اون ندیده ام. تقریباً همن سن و سال خودم است. در تلفظ اسم من به شدت مشکل دارد. از من بهتر انگلیسی صحبت می‌کند ولی خیلی روان صحبت نمی کند. همین که می‌بیند کدها باعث build error نمی‌شوند و کار خواسته شده را انجام می‌دهند رضایت می دهد. ولی به شدت موافق ایده if it works, don’t touch it است. البته حق هم دارد. چون پروژه در مود maintenance بوده و خیلی هم حجیم است. علاقه دارد حداقل دستکاری را در کد انجام دهیم. اصلاً مشتاق راه حل‌های پیچیده نیست. بعضی روزها از خانه کار می‌کند ولی بیشتر وقت‌ها در دفتر است.در این تیم یک نفر iOS، یک نفر android و یک نفر هم front داریم. اینجا رایج است که برای front از CMS ها استفاده کنند. مثل SiteCore یا LifeRay یا حتی Drupal. با این افراد فعلاً تسک مستقیمی نداشته ام. به نظر می‌آید که سرشان هم خیلی شلوغ نباشد. به جز این‌ها فقط یک نیروی QA داریم. بقیه نقش‌ها اختصاصی تیم ما نیستند. بلکه بین چند تیم مشترک هستند. از جمله DevOps.تیم ما خیلی بزرگ نیست. واقعاً همین‌هاست. یک تیم دیگر وجود دارد که مشابه ماست ولی روی یک پروژه دیگر. ما دو تیم با هم یک Tribe را تشکیل داده ایم. شرکت داری چند Tribe مشابه هست. هر Tribe یک اسم دارد. اسم گذاری Tribe ها بی شباهت به اسم گذاری حکومتی ایرانی نیست. چند شرکت دیگر هم مشابه شرکت ما وجود دارند که همگی با هم توسط یک شرکت parent اداره می شوند. این کل ساختار است. به نظرم همان‌طور که کد های پروژه ها شبیه به هم هستند، ساختار تیم ها هم کپی هم هستند.