HiTakeJobHiTakeJob

מה זה User Story? הסבר + משרות פתוחות בישראל

זמן קריאה: 6 דקות

User Story הוא תיאור קצר של צורך מנקודת מבט המשתמש, שמשמש כיחידת עבודה בתכנון. המטרה שלו אינה לתעד דרישה במלואה אלא לשמר את ההקשר - למי ולמה - ולהזמין שיחה בין מוצר, פיתוח ועיצוב. בלוח HiTakeJob פתוחות כרגע 81 משרות בקטגוריית ניהול מוצר, 26 שמזכירות Agile ו-26 שמזכירות Jira.

המבנה הקבוע

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

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

ניסוח חלשניסוח טוב
"להוסיף כפתור שמירה"מתאר מי, מה ולמה
"בתור משתמש, אני רוצה..."מגדיר סוג משתמש ספציפי
"...כדי שהמערכת תשמור"תועלת אנושית ולא תיאור טכני

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

מה זה קריטריוני קבלה

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

  • נכתבים כתנאים שניתן לבדוק, לא כתיאור מעורפל.
  • כוללים את המסלול התקין וגם את מקרי הכשל.
  • מנוסחים בשפה של התנהגות ולא של מימוש.
  • מוסכמים לפני תחילת העבודה ולא אחריה.
  • מספרם סביר - יותר מדי מעיד שהסיפור גדול מדי.

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

מה הופך סיפור לטוב

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

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

איך מפרקים סיפור גדול מדי

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

דרכי פירוק שעובדות:

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

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

מה זה ליטוש ה-backlog

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

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

מה משתבש

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

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

מה עושים עם עבודה שאין לה משתמש

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

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

מה זה אומר לעובד

עבור מפתח, סיפור טוב

מה זה אומר לעובד

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

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

שאלות נפוצות

מי כותב אותם?

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

האם צריך את התבנית תמיד?

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

מה ההבדל בין סיפור למשימה?

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

כמה סיפורים בספרינט?

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

האם זה מתאים גם לצוותי דאטה או תשתית?

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

האם צריך להעריך כל סיפור?

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

מה עושים כשסיפור לא מסתיים בספרינט?

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

מאמרים נוספים

המשרות באתר