וואלה
וואלה
וואלה
וואלה

וואלה האתר המוביל בישראל - עדכונים מסביב לשעון

דיוויד פלאט: "כפתור האינסרט? רק גיקים חסרי חיים ממציאים כזה דבר; רק כדי להגיד שהם יכולים"

גיא גרימלנד

14.11.2007 / 8:31

התרגלתם להודעות השגיאה בעת הפעלת התוכנה? דיוויד פלאט, אחד ממומחי התוכנה הנחשבים בעולם ומחבר הספר Why Software Sucks, סבור שלא אתם אשמים, אלא המתכנתים; כתב אישום חריף



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



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



"אפילו ביל גייטס, מייסד ענקית התוכנה מיקרוסופט, לא הצליח להתחמק מהחלון הכחול המפורסם (הודעת שגיאה על התרסקות תוכנה; ג"ג) בזמן ההצגה של אחת מתוכנות החברה בכנס של מיקרוסופט.



לפלאט, המרצה על תכנות באוניברסיטת הארווארד, יש הסבר טוב מדוע מצב התוכנה בעולם "על הפנים". אף שהוא אחד מוותיקי התחום, פלאט לא מהסס לצאת כנגד עמיתיו מפתחי התוכנה בספר שכתב ויצא לאור לפני כשנה תחת הכותרת Why Software Sucks (why.softwaresucks.com), ובתרגום חופשי לעברית: מדוע התוכנה דפוקה.



פלאט, שנבחר על ידי מיקרוסופט לחבר בקבוצה היוקרתית של "אגדות התוכנה" בעולם, כבר כתב כ-11 ספרים בתחום התוכנה. בימים אלה הוא מבקר בישראל כמרצה אורח של חברת iDag.



קהל היעד השתנה



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



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



הנה דוגמה: כשמשתמש מבקש לצאת ממסמך word עליו הוא עבד - התוכנה שואלת אותו האם ירצה לשמור את המסמך והיכן. בעיני זו דרך לא טבעית לכתוב תוכנה. למעשה, התוכנה כופה את עצמה על המשתמש. בוא נבין מה קורה כאן. משתמש כתב משהו במסמך - ברור שהוא מעוניין לשמור אותו. מדוע התוכנה בכלל שואלת אותו אם לשמור? צריך להיות הליך אוטומטי לשמירת המסמך".



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



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



מדוע המתכנתים לא חושבים כמו המשתמשים?



"המתכנתים הם אנושיים, ובגלל זה הם חושבים שהם חושבים כפי שהמשתמשים חושבים. הם אומרים לעצמם: 'היי, גם אני משתמש במחשב. אז אני יודע בדיוק על מה הם חושבים', אבל הם לא. כשאני מלמד סטודנטים, אני מבקש שיחקקו משפט אחד על לבם: 'דע את המשתמש, כי הוא לא אתה'. ואני אומר להם: זכרו זאת תמיד בעבודתכם".



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



"מתכנתים אוהבים שהכל בשליטה. הם אוהבים לומר למחשב איך לפעול. אולי זה מפני שרוב המתכנתים היו גיקים בתיכון. היה להם קל לתכנת, כי המחשב עושה מה שאומרים לו. מתכנתים הם בפירוש אנשים שונים מהאוכלוסייה הכללית".



למה בדיוק אתה מצפה מהם?



"אני מצפה מהם שיודו שיש בעיה, כי כיום הם לא מודעים לכך. זה כמו השלב הראשון בטיפול בהתמכרות לאלכוהול. אבל המתכנתים אפילו לא חושבים שמשהו לא בסדר".



אתה יכול לתת כמה כלים שיסייעו למתכנתים?



"כן, יש כמה נקודות חשובות. כשמפתחים תוכנה חשוב להוסיף אדם בתול - מישהו או מישהי שלא יודעים כיצד התוכנה מיושמת. מישהו שייצג את המשתמש המצוי".



וזה לא קורה?



"לא, כי כשמבקשים מאנשי תוכנה לפתח תוכנה - הם מסרבים לשכור אנשי ממשק משתמש (UI). המנהלים אומרים למתכנתים: 'אתם כבר יודעים מה המשתמשים צריכים ורוצים', אבל המתכנתים לא באמת מבינים מה המשתמשים צריכים ואיך הם חושבים. הם יעדיפו ליצור משהו מסובך במקום לפתח משהו פשוט וידידותי".



לאילו נקודות נוספות חשוב לשים לב?



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



מפתחי תוכנה נוהגים להתחשב יתר על המידה במקרים נדירים, וזאת בגלל שהסבירו לנו בשיעורי מתמטיקה שאם משהו עובד ב-99% מהמקרים זה לא מספיק. הוא צריך לעבוד ב-100% מהמקרים.



"במחשבים, אם 99 איש מרוצים ואחד לא, זה די טוב. אל תפתח תוכנה ששואלת את המשתמש אם לשמור את המידע רק בגלל שלאדם אחד זה מתאים. הרי 99 אנשים היו מעדיפים לשמור את המידע בלי שהתוכנה תשאל אותם על כך.



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



מה עוד חשוב בהליך הפיתוח?



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


טרם התפרסמו תגובות

top-form-right-icon

בשליחת התגובה אני מסכים לתנאי השימוש

    walla_ssr_page_has_been_loaded_successfully