با شمارهٔ موبایل وارد شوید تا بتوانید اشتراک بخرید و در گفتگو شرکت کنید.

خلاصهٔ صوتی کتاب ۱۴۰۵/۰۸/۰۲

فصل سوم: اشتراک‌گذاری دانش و فرهنگ یادگیری در مهندسی نرم‌افزار

از کتاب مهندسی نرم‌افزار در گوگل · تیتوس وینترز، تام مانشریک و هایروم رایت

جلد مهندسی نرم‌افزار در گوگل
SHABGOFTAR PORTABLE AUDIOهمراهِ شنیدن
صدایی برای همراه بردنPODCAST · PERSONAL STEREO
شب‌گفتار / دفترچهٔ همراهSHABGOFTAR · LINER NOTES

دربارهٔ این فصل

یادداشتِ همراه نوار
جلد مهندسی نرم‌افزار در گوگلمهندسی نرم‌افزار در گوگلتیتوس وینترز، تام مانشریک و هایروم رایتدیدن همهٔ قسمت‌های این کتاب ←

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

این موضوع در فصل سوم کتاب «مهندسی نرم‌افزار در گوگل» نوشته‌ی تیتوس وینترز، تام مانشریک و هایروم رایت بررسی شده است که به ما نشان می‌دهد سازمان‌ها چطور باید به اشتراک‌گذاری دانش به عنوان یک سرمایه حیاتی نگاه کنند.

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

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

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

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

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

امیدوارم از شنیدن این قسمت لذت برده باشید و نظرات خود را با ما در میان بگذارید.