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