בניגוד לסדר יום קבוע, פחות או יותר, בזמן ניהול והתנהלות פרוייקט פיתוח, יש זמנים בהם הפיתוח או התמיכה שלכם עובדים במצב חירום. מנהל פיתוח טוב צריך לחשוב כל הזמן איך לא להגיע למצב הזה, אבל לכולם זה קורה בשלב כזה או אחר, ומה שחשוב לדעת – שלפעמים לתקופה מסויימת, חוקי המשחק חייבים להשתנות. ישנן כמה נקודות חשובות שכדאי לחשוב עליהן בתקופה כזו, ואנסה לפרט את אלה שלדעתי הן החשובות ביותר, אבל אחת מהן בולטת במיוחד:
זהו משחק של אנשים. זה הזמן לשים לב טוב יותר לדרך שבה אנשים חושבים ובעיקר מרגישים. זה הזמן להיות קשוב, לשים לב למצוקה, לעייפות, לחוסר הבנה וחוסר תקשורת. האוייבים הגדולים שלכם כמנהלים בתקופה כזו הם פאניקה (או הרגשה של פאניקה) וחוסר מוטיבציה של עובדים. בתקופה לחוצה וקשה יש קבוצות שמתאחדות ויוצאות חזקות מול הבעיה, ויש קבוצות שיוצאות שבורות. משחק האנשים הוא זה שיקבע.
הנה עוד כמה נקודות שתעזורנה לכם לעבור את התקופות האלה:
- המטרה בזמן קריטי היא השרדות – מלחמה יום יומית לקראת מטרה מסוימת: גירסה חדשה, ייצוב, פתרון בעיית לקוח או זכייה במכרז חשוב. לא תמיד אפשר לתכנן מעבר לשבוע, לא תמיד אפשר לתכנן מעבר ליום. חשוב לדעת לחשוב תוך כדי ריצה.
- למרות שחושבים תוך כדי ריצה, אסור לשכוח לתכנן. אפילו אם זו תוכנית זמנית, אפילו אם אתם רגילים לתוכניות ארוכות ואי אפשר כרגע – אפילו תוכנית של מה הדבר הבא ומה אחריו, חשובות.
- בכל תוכנית הכינו, לפחות מחשבה וקווים כללים, מה יקרה אם התוכנית לא תסתדר. אתם במלחמה, רוב הסיכויים שהיא לא תסתדר. המטרה העיקרית של תכנון התוכנית היא שתסדרו את המחשבות שלכם ושל השותפים שלכם. המטרה המשנית היא תוכנית.
- אנשים שונים זה מזה. יש כאלה שיקבלו שינוי בקלות, יש כאלה שלא יוכלו להבין אותו. יש אנשים שיבינו שהשינוי הוא זמני, יש כאלה שיקבלו אותו כמו שינוי לנצח, ינסו לפצח את ההגיון ואת התפיסה לזמן הרחוק – שלא תמיד נמצאת שם. יש אנשים שילחצו ויש אנשים שיאהבו את התקופה הזו. עליכם לנהל ולהתנהל מול כל אדם בנפרד לפי מה שנוח לו. אדם שחי קביעות ונהלים לא יסתדר בקלות במצב של כאוס מסויים, עליכם לדאוג לאנשים הללו ולשתף אותם בתהליך.
- זה אולי לא הזמן, אבל זה הכרחי: עלייכם לבטוח באנשים שאתם עובדים איתם. כנראה שלא תוכלו לשלוט בהם – תנו להם להביע את עצמם, אבל דאגו באופן שוטף לסנכרן את כולם – אפילו פעמיים שלוש ביום.
- כשאני אומר לסנכרן את כולם אני מתכוון את כולם: מטרת ישיבות הסינכרון אינה לסנכרן אתכם דווקא.
- שמרו על גישה פתוחה ושתפו אנשים כמה שיותר, לעולם אינכם יודעים מאיפה ידיע הפתרון.
- מצד שני, נסו לשמור על הסינכרון בצורה לא רשמית – בלי 4 פגישות יומיות של שעה כל אחת.
ברגע שהבנתם את הדברים הכללים האלה, נסו להבין מה כדאי לפתור קודם. ארגנו רשימה של כל הדברים שעליכם לפתור או לבצע, מה שנקרא bucket או backlog. ישנם שני סוגי מעברים שתמיד כדאי לעשות כדי להבין מה עומד מולכם: המוצר צריך להגדיר מה יותר חשוב, והפיתוח (כולל הQA כמובן) להגדיר מה יותר קשה. חשוב שגם הQA יהיה מעורב, משום שלעיתים יש פתרונות קלים שגוררים בדיקות רבות ומסוכנות.
כשמגיעים לקביעת סדר העבודה, אני ממליץ ללכת לפי השיטה של חשיבות\קושי – סדרו את כל הפעילויות שאתם צריכים לעשות לפי סדר החשיבות שלהן, וסמנו את הקושי לכל אחת – עכשיו התחילו לשחק בסדר – משימות חשובות וקצרות קודם, וכן הלאה. שימו לב! זוהי מחשבה ושיטה שונה בדיוק מתהליך SCRUM אשר מדבר על פתרון הבעיות הגדולות קודם, ולא במקרה – אתם לא בתהליך פיתוח רגיל, אתם מנסים להוציא משהו מהר ועכשיו. אז זה לא הזמן להתקע על משימות כבדות – אלא אם הן הכרחיות.
נסו להלחם בתוספות המסרבלות את התהליך. אנשים רבים ינסו להוסיף עוד ועוד עמודות לרשימה הזו: עדיפות, קריטיות, רגרסיות, באגים מלקוחות וכו – ככל השתוסיפו יותר תפגעו יותר בסינכרון של הצוות כולו ותאבדו יעילות שכה חשובה בזמן הזה. נציג המוצר ונציג הפיתוח צריכים להתחשב בכל הדברים הללו כשהם קובעים עדיפות וקושי, אבל בסופו של דבר חשוב שיצא מדד אחד: מה צריך להפתר קודם. חשבו על זה בצורה פשוטה: העובד חייב להגיע לשולחן ולראות מולו שורה של דברים מסודרים לפי הסדר עליו לבצע עכשיו. פשוט.