سیستمهای ملی مثل سوخت و یارانه و… نه به دلیل ضعف فنی، بلکه به دلیل خطاهای سیستمی، رفتاری، و حکمرانی شکست میخورند. اخیرا گفتگوهایی پیرامون علت شکست این سیستمها داشتم که سعی کردم در اینجا تا حدی یک چارچوب واحد برای تحلیل این مسائل ارائه دهم.

معمولا به دلیل مفروضات غلطی که در ذهن طراحان و توسعه دهندگان سیستم وجود دارد سیستمها دچار شکستهای شدیدی در سطح کلان میشوند. برخی از این مفروضات غلط عبارتند از:
1: توهم مقیاسپذیری
یکی از مشکلات رایج در توسعه سیستمها این است که فکر میکنیم چون چیزی در ۵ شهر کار کرده، در ۳۱ استان هم کار میکند. درحالیکه در واقعیت ممکن است رفتار کاربران در جاهای مختلف متفاوت باشد، زیرساختهای موجود ناهمگن داشته باشیم و یا فساد و مداخلات محلی باعث مشکلاتی شود.
2: توهم رفتار هماهنگ کاربران
فکر میکنیم اگر الگوریتم درست باشد، حتما خروجی درست است. یعنی فرض میکنیم مردم «مثل آزمایشگاه» رفتار میکنند. درحالیکه در سیستمهای ملی کاربران رفتارشان را تغییر میدهند، رفتار خود را پنهان یا جعل میکنند، با هم تبانی میکنند یا داده را دستکاری میکنند یا با تأخیر ارسال میکنند
3: توهم بیطرفی داده
ما فرض میکنیم دادهای که وارد سیستم میشود و از بخشهای مختلف دریافت میکنیم درست است. اما داده در فرایند تولید دچار اشتباه میشود زیرا داده محصول قدرت است، محصول منافع تضادیافته است یا محصول خطاهای انسانی است
بر خلاف خطاهای نوع اول این خطاها ریشه در طراحی اشتباه و معماری سیستم دارد که البته به وضوح قابل مشاهده نیستند و نیاز به بررسی بیشتری دارند.
1: بی توجهی به چرخه بهروزرسانی داده
بسیاری از اوقات پیش میآید که دادهها درست هستند اما در کنار هم قرار گرفتن آنها خروجی درستی نمیدهد. مثلا یک سامانه روزانه بهروزرسانی میشود و یکی هفتگی که این ناهماهنگی باعث خروجی متناقض بدون دلیل، خطا در تصمیمگیری و ناکارآمدی کل سیستم میشود.
2: معماری مقیاسناپذیر
گلوگاهها یا dependencyهای پنهان معمولا در طراحی دیده نمیشود اما باعث میشوند بخشی از دادهها دیر برسد، بخشی پردازش نشود، برخی سرویسها down شوند و در نهایت باعث میشوند سیستم دچار خروجی ضدونقیض شود.
هر تغییری در سیستم باعث تغییر در روابط قدرت خواهد بود و اثراتی بر ذینفعان سیستم خواهد گذاشت که بی توجهی به آن منجر به شکست کامل سیستمها خواهد شد.
1: مداخلهی استانهای پرریسک
رفتار دادهای استانهایی با فساد یا قاچاق بالا باید به دقت رصد شود. دستکاری، تأخیر، حذف بخشی از داده و ناهماهنگی عمدی از جمله احتمالات مطرح در این بخشها است. این اتفاقات باعث آموزش غلط مدل و خروجی متناقض میشود.
2: بهبود هر زیرسیستم تا حد امکان
وقتی یک زیرسیستم خیلی کارآمد شود، باعث میشود سایر زیرسیستمهای عقبمانده بهصورت طبیعی ناکارآمدتر از قبل جلوه میکنند. در نتیجه سایرین تلاش میکنند به بخش کارامد حمله کنند. این یعنی مقاومت پنهان یا Sabotage در برابر سیستم شکل میگیرد یا حتی لابی برای توقف کل طرح ایجاد میشود
3: ضعف در تحلیل شبکه قدرت
بدون نقشهٔ قدرت ما نمیفهمیم چه کسی منفعتش تهدید شده و نمیدانیم چه کسی داده را خراب میکند یا حتی سیستم را با اطلاعات غلط تغذیه میکند. باید توجه داشته باشیم در سیستمها گاهی فساد از طریق تغییر دادن داده ورودی انجام میشود.
بخش مهمی از اشکالاتی که در سیستمهای داده محور اتفاق میافتاد به دلیل تفاوتهای توسعه سیستم و یا توسعه مدل در حالت آزمایشگاهی و تست آن در محیط است.
1: داده در دنیای واقعی کامل نیست
در زمان توسعه ما با دادههای به نسبت کامل و تمیزی مواجه میشویم. اما باید بدانیم در دنیای واقعی داده ناقص است که این امر منجر به تصمیمات اشتباه و ناقص میشود. در واقعیت استانها داده ناقص میدهند، داده دیر میرسد و یا دورههای جمعآوری متفاوت است که بی توجهی به آن منجر به ناکارامدی سیستم در دنیای واقعی میشود.
2: آموزش با داده نادرست
ممکن است در مرحله طراحی آزمایشگاهی و یا توسعه مدل ما با دادههای اشتباهی مواجه شویم. باید بدانید که گاهی اوقات اگر داده حتی ۵٪ دستکاری شود مدل شما ممکن است کل مسیر تصمیمگیری را اشتباه یاد بگیرد. این یعنی در سطح ملی به دادههای اولیه نیز حساسیت داشته باشید.
3: بازرسی یک لایه ماشینی
همیشه ترکیبی از بازرسی چند لایه ماشینی و انسانی مورد نیاز است و هیچ کدام به تنهایی نمیتواند پاسخگوی نیاز ما در رصد سیستم باشد. چرا که ممکن است گزارشهای بازرسان واقعی نباشد، رفتار انسانی log نشود و یا تبانی چند استان در سیستم دیده نشود
مطالعه مطالب بیشتر در کانال تورق
🆔@Tavaroghstd