יום שלישי, 1 במאי 2012

הפוך גוטה. הפוך

קראתי במאמר של איתמר קלעי שבעולם התוכנה "מספר התקלות בחומרה שואף לאפס" ותהיתי אם יש משהו שהוא יודע ואנחנו לא.

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

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

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

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

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

יום חמישי, 2 בפברואר 2012

ברוכים הבאים למלון קליפורניה - מדריך לפורץ המתחיל

קחו שטר כסף ותסתכלו עליו. שווה, הא?
האמת היא ששטר הכסף לא באמת שווה. הוא בסך הכל הסכם. הוא שווה משהו רק בגלל שאנחנו מסכימים שהוא שווה.
שטר כסף הוא הסכם של נוחות.

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

יום שני, 21 ביוני 2010

אבא עובד בדואר

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

יום שני, 22 במרץ 2010

זה לא נעים לראות שרותים סגורים


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

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

יום שני, 15 במרץ 2010

אלו שמנקים ואלו שלא


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

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

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

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

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

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

יום שלישי, 9 במרץ 2010

לוודא הצלחה


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

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

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

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

בהצלחה

יום שלישי, 2 במרץ 2010

לרשום כדי לזכור



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

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

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

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

התרגיל השבועי: תיאורים
קחו נושא שהייתם רוצים לשפר.
כתבו את הנושא בראש הדף.
במשך השבוע הקדישו בכל יום חמש דקות לישיבה מול המחברת וכתיבה של תיאורים בנושא שהייתם רוצים לשפר.
לדוגמה: אתם יכולים לתאר את התחושות שעולות בכם כשאתם יושבים מול הדף הריק וחושבים על הכותרת שכתבתם בראש הדף. אתם יכולים לתאר את מה שהייתם רוצים לשפר בדוגמאות. אתם יכולים לתאר את הצפיות שלכם כשהנושא שאתם רוצים לשפר ישתפר וכולי וכולי.
חשוב שתקפידו לשבת מול הדף לפחות פעם אחת בכל יום.

כתיבה נעימה