logo
Creative Office: Diverse Colleagues Coding on Desktop Computers With Multiple Monitors. Female Project Manager Talks to Male Team Lead While Junior Developers Working on Mobile Application.

שחר פולק,

Head Of Engineering בחברת ImagenAI ושותף יוצר בפודקסט ״מפתחים מחוץ לקופסה״

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

2024-03-10

7 דקות קריאה

Velocity - קצב התקדמות לכיוון מסויים של הצוות בפיתוח של דרישות חדשות.

Throughput - כמות העבודה שהצוות מספק בפרק זמן נתון.

 

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

 

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

 

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

 

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

 

בהירות (Clarity)

 

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

 

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

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

 

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

 

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

 

יכולות (Capabilities)

 

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

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

 

המוביל הטכני ממלא שני תפקידים מרכזיים:

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

     

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

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

 

הסטה שמאלה (Shift Left)    

 

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