گفتو گو با کامران بیرجیس خان مدیر منطقه خلیج فارس پاناسونیک
گفتوگو با مدیران دفتر ZTE در ایران
گفتوگو با اندی کیم مدیرکل دفتر الجی در ایران
گفت وگوی عصرارتباط با مدیرعامل سازمان فناوریاطلاعات شهرداری تهران
دومين گفتوگوي عصرارتباط با عليرضا قلمبر دزفولي مديرعامل ايرانسل
کبریتی در انتظار یک جرقه
خريد تخصصي يا فروش تخصصي
تفكيك تفرقهافكن
اتاق کوچک سرخ
عادت ميكنيم
روش گوگل: دادن فضا به برنامه نویسان
۱۶ ارديبهشت ۱۳۸۷
مهندسین گوگل تشویق میشوند که 20 درصد از زمان خود را صرف کاری کنند که به کسبوکار اصلی شرکت مربوط، و از نظر شخصی برای خودشان جالب توجه باشد. این یعنی اگر مهندس گوگل باشید و ایده خوبی هم به ذهنتان رسیده باشد، همیشه برای کار روی ایده خودتان فرصت خواهید داشت.
واضح است که اگر موضوع کار فرد چیزی باشد که به طور شخصی علاقه او را جلب کند وي بهتر کار خواهد کرد. بسیاری از فناوریهای جالب گوگل در همین زمانهای 20 درصدی خلق شدهاند. جیمیل، گوگلنیوز، و حتی اتوبوسهایی که هر روز کاربران را به گوگلپلکس میآورند در این زمانهای آزاد به وجود آمدهاند.
اگر ایدهٔ 20 درصدی شما پتانسیل تبدیل شدن به یک محصول را داشته باشد، معمولا در گوگل پيداكردن چند همفکر شروع به نوشتن کد كردن ساده است. ولی اگر ايده شما مربوط به محصول بزرگی باشد که نیاز به همکاری کل مهندسین گوگل دارد، به چیزی با نام «گروپلت» احتیاج خواهید داشت.
گروپلتها عملاً هیچ بودجهای ندارند و فرایند خاصی هم برای تصمیمگیری در آنها طی نمیشود. تنها چیزی که یک گروپلت نیاز دارد گروهی از افراد با دیدگاه مشترک است که میخواهند پروژهای را به سرانجام برسانند و تلاش میکنند که بقیه شرکت را برای این کار متقاعد کنند.
گروه برنامهنویسانی که میخواستند روش برنامهنویسی سرعتی را در گوگل جا بیندازند را در نظر بگیرید. برنامهنویسی سرعتی رویکردی در برنامهنویسی است که در آن مراحل ساخت برنامه بسیار سریعتر از روشهای دیگر انجام میشود و بازخورد کاربران از اولین مراحل نوشتن برنامه مورد بررسی قرار میگیرد. این روش به طور پراکنده در چند پروژه گوگلی مورد استفاده قرار گرفته بود.
گروپلت برنامهنویسی سرعتی با هدف ترویج این روش در داخل گوگل تشکیل شد. آنها موفق شدند این کار را انجام دهند. روش این افراد حضور در گروپلتهای دیگر و آموزش روش مذکور به بقیه برنامهنویسها بود. آنها برای تبلیغ روششان «ساعات برنامهنویسی سرعتی» را تشکیل دادند که عبارت بود از دفتری که برنامهنویسان ساعتی طی ساعات خاصی در آنها حاضر میشدند و به سوالات بقیه در مورد آن پاسخ میگفتند.
در این دفترها جزوههای برنامهنویسی سرعتی پخش میشد و مباحثههای زیادی در ميگرفت. افراد میتوانستند داوطلب حضور آزمایشی در گروههای برنامهنویسی سرعتی شوند تا با شگردهای آن آشنایی پیدا کنند.
وقتی با سرعت گوگل حرکت کنید گاهی فرصت انجام بهینهسازیهای کوچک را پیدا نمیکنید، اما اشکالات کوچکی که قبلاً میتوانستید به سرعت برطرف کنید، بعد از مدتی با رشد نرمافزار جلوه بیشتر پیدا میکنند و آزاردهنده میشوند.
بنابراین گوگلیها، گذشته از واحد تضمین کیفیت که کارش را انجام میدهد، «گروپلتهای اصلاحی» هم دارند. گروپلتهای اصلاحی روزهای خاصی را به عنوان روز اصلاح نرمافزار نامگذاری میکنند؛ و به طور ضربتی به اصلاح گروه خاصی از نقصها میپردازند. آنها گاهی هم روزهای «اصلاح مستندات» تشکیل میدهند تا مستندات ناقص مربوط به محصولات کامل شوند.
اما گروپلت مورد علاقه خود من این است: «گروپلت اصلاحی رضایت مشتری». کار این گروپلت اصلاح چیزهای کوچکی است که باعث خستگی کاربران میشوند؛ مثلاً وقتی کلید میانبر نرمافزار یک گوشی موبایل به خوبی تنظیم نشده است. بسیاری از جلسات اصلاحی با تیشرتها و هدایای ویژه دیگری برای برنامهنویسانی برگزار میشوند که وقت خود را به انجام اصلاحات برای جلب رضایت مشتری اختصاص دادهاند.
من در زمان 20 درصدی خود «گروپلت تست» را تشکیل دادم. این گروه بر اساس ایدهای –که متعلق به من نیست- تشکیل شده است به این مضمون که: «اگر برنامهنویسان همزمان با نوشتن یک برنامه، کدهایی هم برای تست خودکار آن بنویسند بعداً نیاز به صرف وقت کمتری برای اصلاح آن خواهند بود.»
گروپلت ما با تشکیل جلساتی در فاصههای زمانی چندهفتهای برای مشورت و تبادل نظر شکل گرفت. بعد از گذشت مدتی وارد عمل شدیم و شروع به استفاده از این شیوه در برنامهنویسیهای خودمان کردیم.
ما شروع کردیم به نوشتن ابزارهای بهتر و قراردادن آنها در اختیار گروههای فنی مختلف شرکت. ما دورههای آموزشی خاصی برای نوگلرها (کارمندان جدید گوگل) برگزار کردیم تا آنها بتوانند به سرعت وارد عمل شوند. ما موفق شدیم با استفاده از همین زمانهای 20 درصدی محور فعالیت شرکت را تغییر دهیم و روش خودمان را به روش اصلی کل گوگل تبدیل کنیم.
سیستم گوگل طوری است که از پایین به بالا کار میکند. اگر یک مهندس ساده گوگل ایده خاصی به نظرش برسد، لازم نیست رئیسش را مجاب کند تا طی ایمیلی به همه دستور بدهد که از آن استفاده کنند. در عوض شما ایده خود را با همکارانتان در میان میگذارید و آنها را متقاعد میکنید که ایده خوبی است. ایدههای خوب در گوگل به سرعت همهگیر میشوند. این روش باعث میشود که اشتباههای فنی به حداقل برسند. از سوی دیگر مسئولیت ترویج ایده هر کسی بر دوش خودش میافتد.
در گروپلت تست، ایده اصلیمان این بود که هر برنامهنویسی در هنگام نوشتن کد، برنامههایی هم برای تست کدهای خودش بنویسد. اما هر چه تلاش میکردیم نمیتوانستیم به درصد زیادی از کارمندن گوگل –که هر لحظه هم زیاد میشوند- دسترسی پیدا کنیم. در یکی از جلسات به این نتیجه رسیدیم که گزارشهای کوتاهی از روشهای جدید تستی که خودمان یافته بودیم را تهیه کنیم و به دیوار دستشوییها بچسبانیم. این ایده واقعاً موفقیتآمیز بود.
چند نفر که استعداد نویسندگی داشتند را انتخاب کردیم و از آنها خواستیم تا میتوانند در مورد روشهای جدید تست کدها گزارش بنویسند. از طرف دیگر اعضای جدید گروه را تشویق کردیم که روشهای جدیدی که به ذهنشان میرسد را با ما در میان بگذارند. اولین گزارشها با بازخورد حیرتانگیزی مواجه شدند. بیشتر افراد از گزارشهای قدیمی خسته شده بودند و میخواستند ما گزارشهای جدید را به سرعت اضافه کنیم.
در نهایت ایده ما تبدیل شد به بخش مهمی از فرهنگ گوگلی و حتی یک جُک بسیار متداول. هر کسی که نیاز به رفتن به دستشویی پیدا میکرد میگفت: «ببخشید من باید بروم در مورد روشهای جدید تست کد مطالعه کنم!» در اینجا بود که فهمیدیم روشی پیدا کردهایم که پاسخ نیازمان را میدهد: روشی برای اشاعه افکارمان.
بدون شک همه گروپلتها نیاز به مدیریت دارند تا اطمینان حاصل شود که با اهداف کلی شرکت هماهنگ هستند. داشتن گروهی از افراد متکی به خود برای یک شرکت نرمافزاری هم جنبه مثبت دارد و هم جنبه منفی. برای حل این مشکل تعدادی از مدیران گروپلتها هر هفته با هم دیدار میکنند تا مطمئن شوند که کارهایشان همپوشانی نداشته باشد.
حرف آخر اینکه وقتی به برنامهنویسان با استعداد فرصت کار روی آرزوهایشان را میدهید؛ نتایج حیرتانگیزی به دست خواهید آورد.