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