مثل همیشه یه مثال واقعی از دنیای کار خودم بزنم درباره KISS.
قرار بود تو یه پروژه خیلی خفن جوین بشم، تیم هم واقعاً قوی بود و همهچیز عالی پیش میرفت تا اینکه یه مدیرفنی به تیم اضافه شد. از روز اول شروع کرد به اینکه این باندد کانتکستها باید جدا شن، اینو میکروسرویس میکنیم، اینجا RabbitMQ میذاریم، اونجا Kafka، مانیتورینگ با Zabbix، حتماً Kubernetes، بعدش هم Rancher بیارید بالا و خلاصه یه لیست بلندبالا از تکنولوژیها که انگار بدون اینا پروژه اصلاً معنی نداره.
مشکل اینجا بود که ما کلاً از اصل ماجرا دور شدیم. بهجای اینکه روی خود محصول تمرکز کنیم، افتادیم توی داستان بالا آوردن کلاستر، داکر، کوبرنتیز و هزار تا ابزار دیگه.
حالا شرایط چی بود؟
یکی اینکه time to market خیلی پایین بود، نهایتاً یه ماه وقت داشتیم محصول رو بدیم بالا. دوم اینکه بیزینس بودجه محدودی داشت و این همه زیرساخت پیچیده واقعاً هزینهبر بود.
از همون اول هم معلوم بود این پروژه به مشکل میخوره. در نهایت هم همین شد، پروژه فیل شد و اون مدیرفنی هم از تیم کنار گذاشته شد.
بعد از ما یه تیم دیگه اومد و کاری که ما نتونستیم بکنیم رو انجام داد: یه مونولیت ساده ساختن که هسته بیزینس درست کار میکرد، روی یه سرور ویندوزی با IIS. نه خبری از داکر بود، نه کوبرنتیز، نه Vault، نه مانیتورینگهای عجیب.
پروژه اونا هم در نهایت به دلایل بیزینسی موفق نشد، ولی فرقش این بود که اونا حداقل خودشونو درگیر پیچیدگیهای الکی نکرده بودن و تمرکزشون روی اصل کار بود.
جمعبندی: وقتی برای یه پروژه ۵۰ تا یوزر داری میری سمت Kubernetes و کلی ابزار سنگین، داری عملاً کار رو خراب میکنی. هر جا دیدی داری بیشازحد کمالگرایی میکنی، یه KISS به خودت بگو و یه چیز ساده، قابل فهم و قابل نگهداری بساز.
و اینم بگم که تصور آدما از سنیور اینه که میاد یه کد خفن مینویسه که واو ولی نه سنیوری سنیوره که KISS اگ نتونه همین KISS رو بفهمه هیچی بارش نیست !
من یکیو میشناختم که الان سنیور یکی از لاین های بیزنسی مرسدس بنزه این بشر به قدری زیبا کد مینوشت و ساده مینوشت و ساده بیانش میکرد که لذت میبردی انگار داره برات خطاطی میکنه انقد قابل فهم بود کدی که مینوشت و با دلیل برات لایو مینوشت ! اون آدم مرسدس بنز که سهله جاهای دیگ رو سرشون میزاشتن یه نابغه به تمام معنا بود کسی که اوج پیچیدگی بیزینس رو تو چند خط کد شیوا بیانش میکرد !
#lawsofsoftwareengineering
@codehalics | کدهالیک
Post #442
513
کدهالیک | codehalic خب امروز میخوام برم ادامه قوانین مهندسی نرم افزار رو بازگو کنم براتون و امروز راجب یه اصل بسیار پر تکرار قراره صحبت کنیم که قطعا خیلیاتون اسمشو شنیدید ! اصل KISS (Keep It Simple, Stupid) تو مهندسی نرمافزار میگه تا جای ممکن راهحلهات رو ساده نگه دار و الکی…
- 👍 6
- ❤ 4