דלג לתוכן הראשי
מערכות מותאמות

אפיון מערכת: מה חייב להיות במסמך אפיון, ואיך כותבים אותו בלי רקע טכני

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

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

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

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

מה זה אפיון מערכת, ומה הוא לא?

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

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

מה חייב להיות במסמך אפיון?

מסמך אפיון שימושי מחזיק חמישה דברים, ולעסק קטן אפשר לכתוב את כולם בעמודים בודדים:

  1. מי משתמש במערכת, ולאיזו מטרה — לא ״העובדים״ אלא תפקידים: מי פותח רשומה, מי מאשר, מי רק צופה. מכאן נגזרות ההרשאות, ומכאן מתברר מי בכלל צריך מסך משלו
  2. התהליך כפי שהוא קורה היום, שלב אחרי שלב — מה מתחיל אותו, מי עושה מה, מה עובר למי ומתי הוא נחשב גמור. כולל החריגים: מה קורה כשלקוח מבטל, כשחסר פריט, כשמישהו בחופשה
  3. המידע שחייב להישמר — אילו פרטים רושמים על כל לקוח, הזמנה או קריאה, ואילו מהם חובה. הדרך הקלה היא לקחת את הגיליון או הטופס שמשמש אתכם היום ולעבור עליו עמודה אחרי עמודה
  4. למה המערכת צריכה להתחבר — יומן, מערכת חשבוניות, וואטסאפ, טופס באתר. לכל חיבור כותבים באיזה כיוון עובר המידע ומה מפעיל אותו
  5. מה לא נכנס לגרסה הראשונה — רשימה מפורשת של דברים שעלו ונדחו. זה הסעיף שהכי קל לדלג עליו, והוא זה שמונע ויכוחים באמצע הבנייה

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

איך אוספים את האפיון מהאנשים שעושים את העבודה?

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

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

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

למה סקיצה לחיצה או גרסה ראשונה צרה עדיפות על מסמך ארוך?

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

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

אילו שאלות חושפות אפיון גרוע?

אפיון גרוע מזהים לפי מה שאי אפשר לענות עליו מתוכו. לפני שמאשרים מסמך אפיון, שלכם או של ספק, נסו את חמש השאלות האלה:

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

איך האפיון הופך לשלבים וללוח זמנים?

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

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

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

מה משתנה באפיון כשכלי AI כותבים חלק גדול מהקוד?

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

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

מה מכינים לפני שיחת האפיון הראשונה?

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

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

רוצים לאפיין את המערכת עם מי שגם יבנה אותה?

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

שאלות נפוצות

עוד שאלות על הנושא

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

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

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

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

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

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

רוצה שנעשה את זה אצלך בעסק?

שיחת ייעוץ חינם — נבין מה אתה צריך ותקבל כיוון ברור.