פיתוח תוכנה בהתאמה אישית
איך להחליט בין תוכנה מדף, התאמה של מה שכבר יש, ופיתוח מהיסוד. מה באמת קובע את לוח הזמנים, ומה בהצעת מחיר מספר לכם מראש שהיא לא תחזיק.
בקצרה
השאלה «לפתח או לקנות» היא בדרך כלל השאלה הלא נכונה, כי התשובה שעובדת היא שניהם: מערכת מדף לליבה המפוקחת, שבה מישהו אחר מחויב לעקוב אחרי החוק, ופיתוח בהתאמה אישית רק לחלק שהמערכת לא יודעת לתאר. את העלות של כל אחת מהדרכים קובעים מספר האינטגרציות ומצב הנתונים. מספר מסכים ומספר משתמשים הם מה שהצעות אומדות, כי זה קל לספור, וזה לא מה שמזיז את התאריך.
שלוש אפשרויות, לא שתיים
כל שיחה על פיתוח מתחילה כבחירה בינארית, והבינארית שגויה. יש עמדה שלישית, ושם נמצאות רוב החברות שמרוצות מהתוצאה.
| הגישה |
מתאימה כאשר |
איפה היא נשברת |
מה נשאר לכם בסוף |
| תוכנה מדף, מוגדרת |
התהליכים שלכם דומים לשאר הסקטור, וההבדלה היא במוצר או במכירות ולא בדרך העבודה |
בתהליך הראשון שלמודל הנתונים של הספק אין עמודה בשבילו. העקיפה הופכת לגיליון, והגיליון הופך למערכת האמיתית |
מנוי, והנתונים שלכם בסכמה של מישהו אחר. בדקו את פורמט הייצוא לפני החתימה ולא אחריה |
| ליבת מדף ופיתוח בקצה |
רוב החברות. כספים ושכר מפוקחים וכדאי שיהיו באחריות של מישהו אחר; החלק שמייצר את הכסף הוא שלכם |
בגבול, אם הגבול לא שורטט. שתי מערכות שכל אחת מהן מאמינה שהיא מחזיקה את רשומת הלקוח היא הכשל הנפוץ בצורה הזו |
מערכת קטנה שאתם יכולים לשנות, ומערכת מדף שאפשר להחליף בלי לכתוב מחדש את מה שחשוב |
| פיתוח מלא מהיסוד |
התהליך הוא המוצר. ייצור עם מודל תכנון שאף אחד לא מוכר, לוגיסטיקה עם כללי ניתוב משלכם, נישה מפוקחת ללא ספק |
על הליבה המפוקחת. שכר ודיווחי מיסוי משתנים בחקיקה ולא בתוכנית העבודה שלכם, ומעכשיו המעקב הוא העבודה שלכם לתמיד |
הכול, כולל החובה לעקוב אחרי החוק בעצמכם |
השורה השנייה היא לא פשרה בין השתיים האחרות. היא החלטה אחרת: היא מתייחסת לשאלה «אילו חלקים חייבים להישאר ניתנים לשינוי» כשאלה המעצבת, במקום לשאלה «איזה ספק מנצח».
בדיקה שאפשר לעשות לפני שמדברים עם מישהו
שתי בדיקות, שתיהן על הנתונים שלכם, ושתיהן חוסכות שיחות מיותרות.
- ספרו כמה מערכות יוצרות רשומות היום. הנהלת החשבונות, הזנת הבנק, המחסן, החנות, והגיליון על שולחן של מישהו שמיישב בין שתיים מהן. כל אחת מהן היא אינטגרציה, ולכל אינטגרציה יש אדם אחראי שחייב להיות זמין בזמן הפרויקט.
- הוציאו חתך מהרשומה שעליה הצוותים שלכם מתווכחים הכי הרבה. בדרך כלל לקוח, מוצר או הזמנה. כמה מאות רשומות מספיקות. העבירו אותן דרך המערכת המועמדת וספרו כמה שדות אין להם יעד וכמה רשומות נכשלות בבדיקת תקינות. המספר הזה הוא פרויקט ניקוי הנתונים, והוא יקרה גם אם אף אחד לא תכנן אותו.
שימו לב ששתי הבדיקות לא עוסקות בתוכנה. זו הסיבה שהשוואת פלטפורמות היא דרך גרועה להתחיל: הפלטפורמה משפיעה בדיוק על החלק של העלות שמשתנה הכי פחות.
מה מייקר פיתוח בהתאמה אישית
ארבעה גורמים, בסדר השפעה יורד. שלושה מהם נראים בהצעה לפני שהעבודה מתחילה.
- מספר המערכות שצריכות להסכים. אינטגרציה היא לא חיבור אלא הסכם על מי מחזיק את האמת. שתי מערכות ששתיהן מעדכנות את אותו שדה יוצרות עבודת יישוב שנמשכת כל חיי המערכת.
- מצב הנתונים. נתונים שנצברו לאורך שנים בגיליונות הם החלק הגדול בעבודה, והחלק הקל ביותר להשמיט ממכרז תחרותי.
- כמה החלטות עסקיות עדיין פתוחות. תהליך שלא הוכרע נכתב פעמיים, וזה גם הגיוני, אבל זה צריך להיות בתוכנית מראש ולא להופיע כבקשת שינוי.
- דו-לשוניות במודל הנתונים. לאותו לקוח יש שם משפטי בעברית ושם לטיני למסמכים בחו"ל. לאותו מוצר גם. טיפול בזה כשכבת תרגום מעל שדה אחד מייצר מסמכים שגויים מבחינה משפטית בשפה אחת מהשתיים, והתיקון בדיעבד נוגע בכל תבנית מסמך שבניתם.
שאלה אחת שמחליפה שיחה שלמה. שאלו את הספק מה קורה אם ההעברה למערכת החדשה מבוטלת אחרי יומיים של שימוש אמיתי. לתוכנית יש תשובה, ללוח זמנים אין. ההבדל בין השניים הוא כל ההבדל.
למה חברות עם מערכת עובדת מחליפות אותה
כמעט לעולם לא בגלל פונקציות חסרות. הסיבות שמופיעות באמת צרות יותר, וכדאי לזהות אותן אצלכם.
אי אפשר לשנות את המערכת בקצב שבו העסק משתנה. כל שינוי עובר בתור אצל גוף חיצוני, ולכן העסק עוקף את המערכת במקום להשתמש בה. הנתונים לא יכולים לצאת. דיווח דורש ייצוא, הייצוא דורש תיקון ידני, והגרסה המתוקנת היא המספר שההנהלה רואה. אדם אחד מבין את ההגדרות והוא סיכון שאף אחד לא כתב אותו בשום מקום.
שלוש אלה הן תלונות ארכיטקטוניות ולא פונקציונליות, והחלפה שנבחרה לפי טבלת פונקציות נוטה לשחזר את שלושתן.
ארבעה סעיפים שקובעים אם המערכת שלכם
סעיף הקניין הרוחני מקבל את תשומת הלב ולרוב הוא לא הבעיה. אלה הסעיפים שבהם פרויקטים באמת מתפרקים:
- איפה הקוד יושב במהלך הפרויקט. לא למי הוא שייך בסוף. במאגר שלכם מהקומיט הראשון, אחרת אתם תלויים באירוע מסירה שיש לו תמריץ לא להתרחש.
- מי מחזיק את הרשאות הייצור ואת חשבון הענן. אם המערכת שלכם מתארחת בחשבון של הספק, מעבר הוא משא ומתן ולא החלטה. פתחו את החשבונות בעצמכם ותנו הרשאה.
- מה המצב אם עוצרים באמצע. מה קיים, מה מתועד, ומה מישהו אחר יכול להפעיל. זה צריך להיות תוצר מוגדר ולא מחלוקת.
- החודש הראשון אחרי המסירה. מי עונה כשזה נשבר, ולכמה זמן. זה הסעיף שחסר הכי הרבה פעמים בחוזה שאחרת נכתב בזהירות.
איך אני עובד על זה
עיסוק בתחום מאז 2004, עבודה על מערכות AI מאז 2023, פרויקטים ללקוחות בארבע עשרה מדינות. אני ארכיטקט עצמאי ולא בית תוכנה ולא ספק כוח אדם, ולזה יש תוצאה אחת שכדאי לומר במפורש: מכיוון שאני לא מוכר תפוקת פיתוח, המסקנות «הגדירו את מה שכבר קניתם», «זה מתאים לצוות זול יותר במקום אחר» ו«אתם צריכים שני מתכנתים בפנים ולא ספק» לא עולות לי כלום, ולכן אני מגיע אליהן כשהן נכונות.
מה סקירה מייצרת: מספר האינטגרציות, תוצאת הרצת הנתונים שלכם דרך המערכות המועמדות, קו «לפתח או לקנות» שמשורטט לפי תחום עסקי ולא לכל החברה, וסדר עבודה שבו הסיכון נקוב לכל שלב. מה היא לא מייצרת: המלצה על ספק לפני שהמספרים האלה קיימים.
מאיפה להתחיל
שלחו שני דברים: את רשימת המערכות שיוצרות רשומות היום, וחתך מסוג הרשומה שעליה הצוותים מתווכחים הכי הרבה. שניהם ממקמים את הפרויקט שלכם על הטבלה למעלה בצורה מדויקת יותר ממסמך דרישות.
דברו איתי | קשור: מערכות ERP ו-CRM, עלות פיתוח CRM, אינטגרציות
SLAtech LTD