چرا پیشرفت نمی‌کنیم؟ (۱)

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

شاید از بچه‌های مهاجرت‌کرده، نقل قول‌های از این دست رو شنیده یا خونده باشید که:

اینجا مسئولیتمون خیلی محدودتره و ایران بیشتر کار می‌کردیم، مرتبا تکنولوژی‌های جدیدتر استفاده می‌کردیم و اینجایی‌ها اونقدر هم مدرن نیستن!

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

  • گستره‌ی نامتوازن دانش و تلاش بین افراد
  • توسعه‌ی برهه‌ای و منقطع
  • ملاک‌های سنجش و ارزیابی
  • تعجیل در توسعه، خِسَّت در مطالعه و طراحی
  • تعصب و ناموس‌پنداری روش‌ها!
  • عدم واقع‌بینی

گستره‌ی نامتوازن دانش و تلاش بین افراد، موضوع رایجی در ایرانه، توی یک تیم ۱۰ نفره، یک یا دو نفر با میزان دانش یا تلاش خیلی بیشتر از سایر افراد، موتور محرک محصول می‌شن و بقیه عملا نقش سیاهی لشکر رو ایفا می‌کنند. منظور من تفاوت فاحش و کاریکاتوریزه است؛ وگرنه همیشه تفاوت سطح در تیم‌ها می‌تونه محرکی برای یادگیری و پیشرفت باشه، ولی وقتی عده‌ی کثیری سطح اهتمام یا استعدادشون به اندازه‌ای متفاوته که ترمز یا مانع توسعه مداوم و هم‌افزایی تیمی می‌شن، هم مانعی برای رشد و پیشرفت محصول و تیم و سازمان می‌شن هم دلیلی برای سرخوردگی و یأس افراد پرتلاش‌تر و مستعدتر تیم. بارها برام پیش اومده که سازمانی رو از جذب افراد با استعداد خیلی متمایز بر حذر داشتم، با اینکه امکان پرداخت حقوق خیلی بالاتر از نُرم هم محیا بوده، دلیل مخالفتم با جذب چنین افرادی این بود که مادامی‌که سایر اعضاء تیم اراده یا استعداد پیشرفت رو ندارن، جذب اون فرد یا منجر به ترک تیم بعد از مدت کوتاهی خواهد شد، یا اون فرد روحش رو به پول خواهد فروخت و درگیر روزمرگی و سکون خواهد شد. در توسعه محصول چیزی با مفهوم سوپرمن نداریم! Jony Ive ها، Anders Hejlsberg ها و مثال‌های زیاد دیگه‌ای که موفق به هدایت توسعه محصولات شگفت‌انگیز شدن، در حقیقت عضو شاخصی از یک تیم مستعد، پرتلاش و با انگیزه بودند، نه یک ابَرقهرمان. این به معنی انکار استعداد یا دانش یا تلاش ویژه و متمایز این افراد نیست، بلکه به بیان ساده و عامیانه، در و تخته باید با هم جور باشن.

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

در این مورد خاص، من از مشاهداتم در مدت کوتاهی که مهاجرت کرده‌ام، می‌تونم بگم:
یک سازمان با افرادِ متوسطِ روبه‌بالا، با ساختار و سازمان منظم، به مراتب خروجی ملموس‌تر، پایدار‌تر و معقول‌تری نسبت به سازمان یا تیم متشکل از تعداد اندکی نخبه یا پرتلاش و تعداد بیشتری افراد کم‌تلاش یا متوسطِ رو به پایین از نظر دانش و استعداد خواهد داشت.
وقتی که خودم به شرکت فعلی پیوستم انتظار داشتم با ده‌ها فرد با نمره‌ی ۹۵ به بالا (از صد) در هوش و دانش و استعداد روبرو شم؛ در حالیکه با یک گروه چند صدنفره از افراد بین ۶۵ تا ۸۵ روبرو شدم. آدم‌هایی که ۸ ساعت در روز کار می‌کنند، ۲ روز در هفته رو غالبا به استراحت و خانواده می‌گذرونن. ولی با یک حرکت آهسته ولی مستمر چند دهه است که هسته‌ی اصلی و محرک بزرگ‌ترین شرکت‌های پستی و هواپیمایی هستند. از روزی که در سال ۱۹۵۶ الگوریتم‌های OCR رو روی کاغذ! نوشتند تا امروز که با استفاده از روش‌های مدرن computer vision و NLP، روزانه ۸۰۰ میلیون مرسوله رو در دنیا به سمت مقصد هدایت می‌کنند، یک حرکت مداوم و مستمر داشتند. البته با کمک افرادی که سوپرمن نیستند ولی روی وظیفه خودشون متمرکز هستند و کار تیمی بلد هستند.

توسعه برهه‌ای و منقطع هم یکی از تفاوت‌هاست. ما در ایران عموما یک محصول رو تولید می‌کنیم و سال‌ها بر حفظ اون اصرار می‌ورزیم؛ و گاها نمی‌پذیریم که بازطراحی و تولید یک نسل جدید گاها کم‌هزینه‌تر (مجموع هزینه‌های پنهان و آشکار) و پرسودتر از حفظ و مرمت آن است. البته که این عادت رو در جبنه‌های دیگه زندگی و اعتقادی هم می‌بینیم. خیلی سنت‌ها و عادات ما زیر تَلی از وصله‌ها مدفون شده و اصل داستان رو فراموش کرده‌ایم و هی وصله روی وصله اضافه می‌کنیم. (مثال: ۳۸ سال تولید پیکان، پچ اصلاحیه‌ی صدهزارم فلان نرم‌افزار حسابداری توسعه‌یافته با دلفی، ماده‌تبصره‌ی صدو پنجاهم روی فلان مصوبه‌ی بیخود فیلترینگ اینترنت و…). در حالیکه عموما رهانش اولیه یک محصول یا خدمت، تازه اول داستان است و باید در نظر داشته باشیم این محصول، خدمت، قانون یا … تا چه زمانی باید مشمول نظارت و پشتیبانی و بهبود باشه و از چه زمانی دیگه باید به فکر بازنشستگی و تولید جایگزین روزآمد براش باشیم. این چیزیه که توی ایران براش می‌جنگیدم و باید برای اقناع نظر مدیران کلی پرزنتیشن و دلیل و برنامه میاوردم و آخرش هم با جمله «حالا اینکه داره کار می‌کنه» یا «شما روی همین بهبود بدید» مواجه می‌شدم؛ ولی اینجا یک امر بدیهی است و نباید حتی نگرانش باشم. مثال ساده اینه که وقتی ما برای ساخت یک آپارتمان دو طبقه پایه‌ریزی می‌کنیم، نمی‌تونیم بعد از ساختن اون دو طبقه ساختمان، خورده خورده اون را تا رسیدن به ۲۰ طبقه ادامه بدیم، برای ساخت یک ساختمان بیست طبقه باید از پایه و اساس، یک فونداسیون مناسب ۲۰ طبقه ایجاد کرد. همچنین یک ساختمان هرچند هم با کیفیت، نیاز به نگهداری مستمر داره، اینکه ساختمان در ایران بعد از ۲۰ سال کلنگی تلقی می‌شه ولی شما توی اروپا به راحتی خونه‌های ۱۸۰ ساله پیدا می‌کنید که سرِپا، سالم و از نظر انرژی و امکانات مدرن شده‌اند؛ نشانه‌هایی از عمق ناکارامدی فکری و عملی ما در ایران است. نرم‌افزارها و محصولات تکنولوژیک هم از قواعد مستتر در این مثال‌ها مستثنی نیستند.
جسارت و شهامت یک شرکت برای سرمایه‌گذاری بر روی توسعه نسل جدید (و نه نسخه‌ی بزک‌شده‌ی نسل قبلی) که با واقع‌بینی، آینده‌نگری و درک درست از استعداد فنی و فرصت‌ها و تهدیدهای بازار آمیخته شده باشه، از عوامل توسعه پایدار محصول است. امروز خیلی از شرکت‌هایی که دهه ۷۰ و ۸۰ در ایران محصولات نرم‌افزاری خوب تولید می‌کردند وجود ندارند یا خیلی کوچک و کم‌رمق شده‌اند، که دلایلی که در این سلسه‌ یادداشت‌ها، اول برای منظم شدن افکار و یادآوری شخصی برای خودم و دوم برای مخاطب احتمالی می‌نویسم، در اکثرشون دیده می‌شه.

دستاورد خفن، ولی گذرا و ناپایدار در میان‌مدت قادر به چرخوندن چرخ پیشرفت نیست. یکی از چیزهایی که توی تیم‌های ایرانی زیاد دیده می‌شه محصولاتی است که در مرحله proof of concept (POC) یا minimum viable product (MVP) خیلی جذاب به نظر می‌رسند ولی خروجی‌ای که شما تداومِ بهبود، توسعه و نوآوری رو ببینی اتفاق نمیوفته؛ و حفظ وضعیت موجود می‌شه تمام هم و غم تیم. توی استارتاپ‌ها زیاد دیدم که یک لایبری خفن نوشته شد یا فلان تکنولوژی جدید و جذاب رو توی محصول یا زیرساختشون استفاده کردند، ولی چرخه‌ی یادگیری عمیق، مستندسازی، تست و توسعه رو همراه نداشتند؛ و همین باعث می‌شد که بعد از مدتی همون ابزار جذاب و بدیع، تبدیل به نقطه ضعف و پاشنه آشیل تیم بشه. در حالیکه در جهان مدرن شرکت‌ها و تیم‌ها آموخته‌اند و البته در عمل هم علاوه بر اجرای یک پروژه، زمان و انرژی زیادی برای مطالعه و بررسی و آماده‌سازی برای توسعه و نگهداری صرف می‌کنند و عموما (و طبیعتا نه همیشه) یک محصول پایدار و مطلوب به دست میاد، محصولی که درآمد سازمان، رضایت مشتری و چرخه‌ی بهبود و توسعه رو برای مدت طولانی‌تری تأمین می‌کنه.

تعداد زیاد پروژه‌های نرم‌افزاری، صنعتی و عمرانی و… که یا عمر کوتاهی داشتند، یا ایرادات جدی و موانعشون خیلی زود آشکار شده، بین نمونه‌های ایرانی گواه این ادعا است. اینکه روزی پیکان یا پراید مونتاژ می‌کنیم و دیگه نمی‌تونیم نسل جدید بدیم، یا محصول نرم‌افزار مبتنی بر فاکس‌پرو رو دقیقا با همون تحلیل و طراحی، با دلفی و بعدش با دات‌نت می‌نویسیم، درست مثل همون پرایدیه که چراغش رو هر چند سال یه ذره تغییر می‌دیم. مثال قدیمی خودم برای دوستان اینه که اگر آفیس توی ایران تولید می‌شد، الان آفیس ۹۷ آپدیت ۱۰۰هزار داشتیم و هرگز تغییر نسلی نمی‌دیدیم در موردش.

ملاک‌های سنجش و ارزیابی؛ فقدان معیارهای کنترل کیفی و صحت‌سنجی هم جزو موارد مهمیه که به کرات تجربه کردم. دقت کردید که عبارت «این بهترین/بدترین فلان است» چقدر زیاد بین ما ایرانی‌ها شنیده می‌شه؟! این «ترین» های متعددی که به کار می‌بریم با کدوم مطالعه و مقایسه و معیار به دست میاد؟! که اینقدر هم بهشون اصرار می‌ورزیم؟! برگردیم به بحث؛ دیتابیس مدلی که سال ۱۳۶۸ به خوبی و دقت طراحی شده، تحلیل و شناخت عمیقی در دوره خودش داشته، مستند شده، ولی تا امروز یعنی سال ۱۴۰۲ فقط بهش تعدادی ستون اضافه شده و از مین‌فریم، به پی‌سی، از فاکس‌پرو به اس‌کیوال سرور منتقل شده و از نسخه اس‌کیوال سرور ۲۰۰۰ تا ۲۰۲۲ رو تجربه کرده و مدیران سازمان هم خوشحال و مشعوف این پیشرفت هستند!! چرا؟ چون هیچ معیار صحیح و دقیقی نسبت به سنجش صحت و کیفیت این تغییرات ندارند که شاید توش گزینه‌ی «لحاظ شدن نیازهای امروز اون صنعت» دیده شده باشه.

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

امیدوارم وقفه زیادی تا نوشتن ادامه این موضوع پیش نیاد… البته نه از این نظر که توهم ارزشمند بودن مطلب رو داشته باشم؛ بلکه از این نظر که به خودم تمرین انسجام دادن به افکار و برداشت‌ها رو داشته باشم…

دیدگاهتان را بنویسید