תפריט

שמירת נתוני משאבי אנוש: לכל רשומה שעון משלו

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

פורסם

  • נתוני בדיקה
  • קריירה
  • פרטיות

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

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

למה אין תקופת שמירה אחת?

מפני שתקופת השמירה נגזרת משני דברים שאינם קבועים.

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

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

איך מתחלקות רשומות כוח אדם לפי מטרה?

ארבע קבוצות עיקריות, וכל אחת מהן נושאת שעון משלה.

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

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

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

אילו עקרונות צריכים להנחות את ההחלטה?

שישה עקרונות מוכרים, וכולם רלוונטיים גם כשמדובר בנתוני בדיקה.

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

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

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

מה מחיקה צריכה לכסות?

הרבה יותר מהטבלה הראשית, וזו הנקודה שבה מנגנונים נכשלים בשקט.

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

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

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

למפתחים: שמירה כתצורה ומחיקה יזומה

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

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

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

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

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

צעדים הבאים

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

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

המשך קריאה

מדריכים בנושא מחולל קורות חיים ונתוני משרה לבדיקה