در پایان جنگ جهانی دوم ، ارتش سرخ ماهانه 1300 تانک T-34 تولید می کرد. این مخزن سبک بود و تعداد کمی قطعات داشت. نقص هایی در طراحی وجود دارد که باعث خرابی در مسافت های طولانی شده است. با این حال ، مهندسان روسی تصمیم گرفتند که این مشکل را برطرف نکنند ، زیرا این امر خط تولید را تغییر داده و تولید را کند می کرد . در عوض ، آنها قطعات یدکی را با مخزن قرار دادند. افراد با مهارت کم هم به دلیل طراحی ساده می توانستند در میدان نبرد تعمیراتی انجام دهند.

از سوی دیگر ، تانک های آلمانی Panther and Tiger جزء بالاترین کیفیت جنگ افزارها بودند. این شهر صدها کیلومتر بدون هیچ مشکلی طی کرد و توپخانه سنگین آن می تواند انواع موانع را از بین ببرد. اما تولید این مخازن دشوار بود. کمتر از 200 تانک در هر ماه تولید می شد. در شرایطی که آلمان با مشکل مواد اولیه روبرو بود ، تعمیر تانک های قبلی امکان پذیر نبود زیرا از نظر فنی پیچیده بود و برای بازگرداندن مخزن به میدان نیاز به تخصص و وقت زیادی داشت. در نتیجه بسیاری از آنها با کوچکترین مشکل فنی در جبهه نبرد باقی مانده اند.

در مهندسی اصلی KISS یا Keep it Simple ، Stupid می گوید که بهتر است همه چیز را طوری ساده طراحی کنید که حتی احمق ها بتوانند از آن استفاده کنند.

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

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

هرچه حرفه ای تر باشید ، روشهایی که برای حل پیچیده ترین مشکلات استفاده می کنید ساده تر است. بنابراین قبل از نوشتن هر خط کد و اضافه کردن پیچیدگی بیشتر ، از خود بپرسید:

"آیا واقعاً به آن احتیاج دارم؟"