دربارهٔ این فصل
یادداشتِ همراه نوارتا حالا به این فکر کردهاید که ابزارها و برنامههایی که هر روز استفاده میکنیم، چطور ناخواسته گروه بزرگی از انسانها را نادیده میگیرند یا حتی به آنها آسیب میزنند؟ وقتی نرمافزاری برای میلیونها نفر ساخته میشود، کوچکترین بیتوجهی به تفاوتهای انسانی میتواند پیامدهای جبرانناپذیری به همراه داشته باشد. در این اپیزود میخواهیم ببینیم چطور میتوانیم نرمافزارهایی بسازیم که واقعاً برای همه انسانها کار کنند و کسی را در حاشیه نگه ندارند.
در کتاب «مهندسی نرمافزار در گوگل» نوشته تیتوس وینترز، تام مانشریک و هایروم رایت، فصل چهارم با عنوان مهندسی برای برابری به همین موضوع حیاتی میپردازد و به ما یادآوری میکند که ساختن نرمافزار برای جامعه جهانی نیازمند مسئولیتپذیری فراتر از کدهای معمولی است.
نخستین چالش این است که تعصب ناخودآگاه (unconscious bias) تأثیر مخربی بر طراحی محصولات میگذارد، زیرا افراد بدون اینکه قصد بدی داشته باشند، کلیشهها و نگرشهای ذهنی خود را در کار دخالت میدهند. وقتی مهندسان بدون تمرکز روی کاربران گوناگون کار میکنند، ناخواسته در ارائه محصولات شکست میخورند. انتخاب دشوار در اینجا این است که تمرکز صرف بر سرعت توسعه و سودآوری، ما را از بررسی دقیق دادههای ورودی غافل میکند. به عنوان نمونه، الگوریتمهای تشخیص تصویر گوگل در سالهای گذشته افراد رنگینپوست را به شکل نادرستی دستهبندی کردند؛ زیرا دادههای آموزشیِ ورودی نمایانگر کل جامعه نبودند.
مشکل دوم این است که مهندسان نرمافزار با تحصیلات دانشگاهی رایج، لزوماً آموزش لازم برای درک مسائل اجتماعی و فرهنگی کاربران گوناگون را ندیدهاند. تکیه صرف بر مدرک علوم کامپیوتر برای ساخت محصولات فراگیر کافی نیست و سازمانها باید تنوع دیدگاهها را بپذیرند. بهای این انتخاب در این است که سرمایهگذاری روی یادگیری مداوم و توسعه ظرفیت چندفرهنگی زمانبر است، اما از بروز خطاهای فاجعهبار جلوگیری میکند. به عنوان مثال، اگر سیستمهای داخلی شرکتها فقط بر اساس معیارهای یک گروه خاص طراحی شوند، مسیر ارتقای شغلی برای گروههای کمتر دیدهشده ناهموار باقی میماند.
چالش سوم تکیه بر رویکردهای تکبعدی برای حل مشکلات سیستمیک است. بسیاری از سازمانها تصور میکنند با اصلاح صرفِ ورودیِ فرآیند استخدام میتوانند تمام نابرابریها را حل کنند، در حالی که خروج نیروهای باارزش به دلیل محیطهای کاری نامناسب، پیشرفت را متوقف میکند. انتخاب سازمانها این است که یا به اصلاحات سطحی اکتفا کنند یا در کل اکوسیستم حفظ و نگهداری نیروها بازنگری کنند. پذیرش این پیچیدگی یعنی به جای نگاههای سادهاندرکارانه، روی مواردی مانند امنیت روانی (psychological safety) که به معنی فضایی است که افراد میتوانند بدون ترس از تحقیر، اشتباه یا سؤال را مطرح کنند، سرمایهگذاری کنیم تا افراد بدون ترس نظرات و دغدغههای خود را مطرح کنند.
چهارمین مسئله این است که مهندسان معمولاً تمایل دارند سیستمها را برای حالتهای رایج و اکثریت طراحی کنند و حالتهای خاص را به آینده موکول کنند. مشکل این رویکرد آن است که کاربران دارای نیازهای خاص یا جوامع در حاشیه را کاملاً نادیده میگیرد و به جای طراحی فراگیر، بار مشکلات را به دوش کاربر میاندازد. انتخاب جایگزین این است که طراحی برای سختترین و دورافتادهترین موارد استفاده، انرژی بیشتری میطلبد اما در نهایت محصولی به مراتب باکیفیتتر برای همه کاربران تولید میکند. برای نمونه، طراحی نرمافزار به گونهای که برای افراد با تواناییهای گوناگون یا مسلط به زبانهای مختلف قابل دسترس باشد، تجربه کاربری کل جامعه را بهبود میبخشد.
پیشنهاد عملی من به شما این است که در پروژههای بعدیتان، پیش از نهایی کردن هر ویژگی، عامدانه به سراغ بررسی شرایط کاربرانی بروید که کمترین شباهت را به شما دارند و پیش از انتشار، بازخورد آنها را دریافت کنید.
ساختن ابزارهایی که جهان را به جای بهتری تبدیل کنند، نیازمند فروتنی، پذیرش اشتباهات گذشته و تلاش مستمر برای یادگیری است. بیایید در مسیر مهندسی خود به گونهای عمل کنیم که هیچکس از قطار پیشرفت فناوری جا نماند.