יום שני, 27 בדצמבר 2010

KISS

איך מהנדסי תוכנה מתמודדים עם הסיבוך הגועש של מערכות שהם בונים? התשובה היא: פשוט. ליתר דיוק, כמה פשוט שרק אפשר. קוראים לזה KISS - Keep It Stupid Simple.

אבל פשוט זה לא קל. צריך להשקיע הרבה מאמץ, ולפעמים גם הרבה כסף כדי להגיע לזה. אבל כשמצליחים, זה עובד טוב!

לדוגמה, ניקח את כוונון התנועה בדרכים. אפשר לבנות רמזורים - רמזור זה מתקן שלא צריך להתאמץ הרבה כדי לבנות, וגם כנראה לא יקר מדי. אבל הוא מסובך. צריך להעביר עליו חשמל, צריך לכוון אותו שיעבוד טוב ויאפשר למכוניות לעבור אותו בקצב סביר, צריך לארגן מערכת שמאפשרת לטיפול נמרץ ומשטרה להשטלת עליו, לתפוס נהגים שעוברים אותו באדום, לתחזק, לתקן ועוד ועוד. ואחרי כל זאת, הוא לא כל כך יעיל, כי הוא תכל'ס עוצר תנועה במקום להזרים אותה. לעומת זאת, מחלף הוא דבר פשוט בעיקרו. אין בו חלקים נעים, הנהגים נוסעים לאן שהם צריכים, והעיקר, העמידה בעומס הרבה יותר טובה. אבל לא בונים אותם בכמויות. זהו פיתרון פשוט אך קשה למימוש.

How do software engineers deal with the overflowing complexity of the systems they build? Simple! Or, to be more precise, as simple as possible. It's called KISS, which stands for "Keep It Stupid Simple".

But simple is not easy. In fact, it can require a lot of effort and expense. But it's often worth the price.

For an example, consider road traffic direction. One solution is traffic lights, which are easy and reasonably cheap. But complex: they need to be connected to electric grid, tuned to the traffic patterns, we must let emergency vehicles to take control over them, catch drivers that cross on red, maintain them and more. And after all that, traffic lights are not too efficient, since they are built to stop the traffic rather than to let it flow. Interchanges, on the other hand, are much simpler. They have no moving parts, drivers just go on their way, and most importantly, they handle overload much more gracefully. But they are not built en masse - despite being simple, they are hard.

בואו נשנה

האם יש בישראל בעיות "קטנות", דברים כמו תחבורה, מחזור ואיכות הסביבה, איכות הבניה, שכדאי ואפשר לפתור?

האם כדאי לבנות רמזורים או מחלפים? מה השינוי המינימלי בתחבורה שיאפשר להרבה יותר אנשים להשתמש ברכבות? האם אפשר לבנות בתים שיהיו חמים בחורף וקרירים בקיץ, וזאת בלי להריץ מזגנים בכח מלא?

בואו ננסה לשנות!