יואב אברהמי, וויקס: "חברה שלא תעבור למתודולוגיית פיתוח אג'ילית, לא תשרוד בעתיד"

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

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

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

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

"כדי לפתור את הבעיה הזו, התחלנו באותה שנה בחשיבה על חידוש התשתיות שלנו", הוא מסביר, ומוסיף כי "התוצאות היו ששנה מאוחר יותר, התחלנו לעבוד במתודולוגיית פיתוח יותר אג'ילית, שמציבה את המתכנת במרכז, מהסיבה שהמתכנתים הם המשאב הגדול של חברות התוכנה. מתודולוגיות הפיתוח שאליה עברנו היא Continuous Delivery, Test Driven Development ו- DevOpx. כמה חודשים לאחר מכן, הכנסנו את שפת התכנות SCALA, בתחילת 2012 עברנו לגרסה חדשה של Test Driven Development, ועכשיו אנחנו עוברים למבנה ארגוני של שבטים וגילדות – מבנה ארגוני דומה לזה של LinkedIn ו-Spotify".

אברהמי חשף בפני הקהל את התוצאות של השינוי הזה: "בחודש האחרון וויקס שחררה 668 עדכוני תוכנה, 150 A/B tests  וכ-432 feature toggles, מה שאומר שהמוצר של החברה השתנה בממוצע כל 9 דקות. לדעתי חברה שלא תעבור לעבור בצורות פיתוח אלה לא תשרוד בעתיד, ולצערי רוב החברות בארץ עדיין לא שם".

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

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

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

תגובות

(0)

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *

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

אירועים קרובים