"אתה מוכן?"
מוכן ככל שניתן, אני חושב לעצמי בזמן שאני עובר על רשימת הבדיקות המנטלית שלי בפעם האחרונה.
טייס: שרוכי נעליים, רצועות לרגליים, רצועת חזה, כפפות, מכשיר קשר, רצועת סנטר, בדוק.
קווים: כולם חופשיים ובלתי מופרעים, שמאל מעל ימין, כך שאני יכול לפנות לצד המועדף עליי, בסדר.
כנף: הקצה הקדמי פתוח ומפוזר יפה בצורת פרסה, בסדר.
רוח: רוח קלה מתחילה לנשוב, קצת חלשה מדי להמראה הפוכה. אני מחליט לחכות כמה דקות.
"בחר את הרגע הנכון."
אני מהנהן למדריך בזמן שאני מתבונן במד הרוח. לאחר דקה נוספת, אני מרגיש שהרוח מתחזקת מעט. מד הרוח נראה טוב. אני מחכה כמה שניות כדי לראות אם זה נמשך. זה נמשך.
רוח: בסדר.
מרחב אווירי: אין דאונים אחרים הטסים בקרבת המראה ואין דאונים אחרים המוכנים להמראה, בדוק.
אני נושם נשימה עמוקה... "התחל!", אני מושך את הרצועות הקדמיות לעברי. הכנף מתנפחת תוך כדי עלייתה. אני משחרר את הרצועות ומפעיל את הבלמים כדי לעצור אותה מעליי. צורת הכנף נראית מוכרת, טוב. אין קשרים נראים לעין, מצוין. משב רוח מסובב את הכנף מעט. היא כבר לא מרכזית מעליי. האם עלי לבטל? אני מפעיל מעט את הבלמים כדי לכוון את הכנף קדימה ונותן שני צעדים כדי להביא את עצמי שוב מתחת לכנף. הכנף מתייצבת. אני שומר על הכנף במצב זה לשנייה או שתיים כדי לוודא שאני בשליטה. עם הכנף מיוצבת, כל הסימנים עכשיו ירוקים. תוך שמירה על לחץ קבוע על הבלמים, אני מסובב את עצמי ב-180 מעלות. אחרי ריצה קצרה, אני מרגיש את רצועות הרגליים מתהדקות כשהכנף מושכת אותי מהקרקע.
אני עף.
ניחשתם נכון, יש לי תחביב מסוכן. זה אומר שאני לוקח סיכונים, נכון? ובכן, כן, במידה מסוימת. וגם לא! כצנחן מצנח רחיפה, אני משקיע אנרגיה רבה בהפחתת סיכונים. באמצעות הכנה קפדנית ושמירה על מרווחי בטיחות, אני מוריד את הסיכון לרמה מקובלת. לכן, המונח המתאים יותר הוא מנהל סיכונים.
בדקו את המשרות הפנויות שלנו
אין סיכון, אין עסקים
זה מביא אותי לנושא שלפנינו, ניהול סיכונים בפיתוח תוכנה. יותר ספציפית, איך אנחנו מנהלים את הסיכונים שלנו כדי שנוכל לפרוס שיפורים בביטחון וללא לחץ? אחרי הכל, פריסת תוכנה דומה במידה מסוימת להמראה במצנח רחיפה. בשני המקרים, הסיכונים עלולים להתממש לבעיות אמיתיות.
למרבה הצער, הדרך היחידה למנוע את כל הסיכונים היא להימנע מהם לחלוטין. להפסיק לצנוח במצנחי רחיפה או, באופן דומה, להפסיק לפרוס שיפורים בתוכנה. האפשרות הראשונה היא למעשה בחירה לגיטימית. באשר לשנייה, ובכן, עם חלק מהסיכונים נצטרך פשוט לחיות. אבל אנחנו עדיין יכולים להפחית את הסיכון, אז איך עושים את זה ב-Easy LMS?
למרבה הצער, הדרך היחידה למנוע את כל הסיכונים היא להימנע מהם לחלוטין.
מה זה בכלל סיכון?
סיכון הוא אירוע שיש סבירות שיקרה ויש לו השפעה (שלילית) מסוימת. השילוב בין הסבירות וההשפעה קובע את רמת הסיכון. לכן, אירוע שיש סבירות גבוהה שיקרה ויש לו השפעה (שלילית) רבה הוא סיכון גבוה. אירוע שיש סבירות נמוכה שיקרה ויש לו השפעה מוגבלת מאוד הוא סיכון נמוך. אם הסבירות ו/או ההשפעה עולות, הסיכון עולה, ולהפך.
ניהול סיכונים
מכיוון שהסיכון הוא שילוב של הסתברות והשפעה, ניתן להסיק כי כדי להפחית סיכון, ניתן:
לדוגמה, כצנחן מצנח רחיפה, בואו ניקח בחשבון את הסיכון שאתרסק בגלל שקשרתי קשר לא טוב בחבלים. בין היתר, אני מפחית את הסיכון הזה על ידי:
שילוב כל האמצעים מעניק לי ביטחון מספיק כדי לרוץ בשמחה לעבר קצה ההר. אני סומך על ההכנה, המיומנות, הציוד וההחלטות שלי. הסיכון עדיין קיים, אבל צמצמתי אותו לרמה שאני מוכן לקבל. בעת גלישה במצנח רחיפה, ההמראה תמיד תהיה רגע מתוח עבורי. היא מחייבת אותי להיות ערני. אבל אני לא לחוץ.
באופן דומה, ב-Easy LMS יש לנו אמצעים לניהול סיכונים ושמירה על השקט הנפשי. בואו ניקח לדוגמה את הסיכון של הכנסת באגים למערכת בעת שחרור תכונה חדשה. שתי הדרכים שבהן אנו ממזערים סיכון זה הן:
ב-Easy LMS יש לנו אמצעים לניהול סיכונים ושמירה על השקט הנפשי.
אז איך האמצעים האלה עוזרים לנו ב-Easy LMS?
פיתוח מונחה בדיקות (TDD)
פיתוח מונחה בדיקות, או TDD, הוא שיטה של כתיבת בדיקה אוטומטית להתנהגות הרצויה של פונקציונליות חדשה לפני כתיבת הקוד לפונקציונליות עצמה. TDD מסייע בהפחתת הסיכון להכנסת באגים בדרכים הבאות:
על ידי בדיקת ההתנהגות בבדיקות אוטומטיות, סביר יותר שטעויות יתגלו במהלך הפיתוח.
טעויות מתגלות בשלב מוקדם יותר בתהליך הפיתוח על ידי כתיבת בדיקות לפני כתיבת הקוד.
כתיבת בדיקות לפני כתיבת הקוד מאלצת את המפתח לחשוב כיצד לבדוק את ההתנהגות הרצויה ללא תלות בקוד הסופי.
כתיבת קוד שניתן לבדוק דומה במקצת לכתיבת ספר קריא. היא מאלצת את המפתח ליישם מבנה בקוד. כתוצאה מכך, קוד שניתן לבדיקה נוטה להיות קוד שניתן לתחזק. על ידי הקפדה על TDD, אנו בונים עם הזמן סוויטת בדיקות הכוללת את כל הבדיקות שנכתבו בעבר. לפני הפריסה, אנו מריצים את כל הבדיקות הללו. אם הפונקציונליות החדשה שלנו גורמת לבעיה בפונקציונליות הקיימת, נדע על כך.
בדרך זו, TDD מסייע להפחית באופן משמעותי את הסבירות להופעת באגים במערכת.
איטרציות קטנות
ב-Easy LMS, אנו עובדים באיטרציות קטנות, ומשחררים שינויים קטנים בתדירות גבוהה. לרוב אנו מבצעים פריסה אחת או שתיים ביום. אנו עושים זאת בצעדים קטנים, גם כאשר אנו מכניסים פונקציונליות גדולה. הדבר מסייע לנו בדרכים הבאות:
בדרך זו, איטרציות קצרות עוזרות להפחית את הסבירות וההשפעה של באגים שייכנסו למערכת.
TDD ועבודה באיטרציות קטנות נותנות לנו ביטחון. אנו מתחזקים באמונתנו שהמוצר שאנו עומדים להשיק עובד. אם יהיו בעיות, הן יהיו קטנות.
איטרציות קצרות קלות יותר לתכנון ולניהול
בדיקות היחידה ירוקות, בדוק.
אני מעביר את הכרטיס ל'בבדיקת QA', מה שמפעיל אוטומטית פריסה לסביבת הבדיקה שלנו.
כמה ימים קודם לכן, ביצענו שינוי קטן בסטטוסים המוצגים בסקירת המשתתפים בכמה מקומות באפליקציה. השינוי נועד לגרום לסטטוסים לשקף בצורה מדויקת יותר את הסטטוס של המשתתף.
זה אולי היה מדויק יותר, אבל זה גם היה מבלבל. לקוחות שהסתכלו על המצב החדש מנקודת מבט ישנה חשבו שלא נשלחו הזמנות.
והנה אני, מוכן לפרוס את התיקון. בהתבסס על המשוב שקיבלנו בימים שלאחר השחרור, שיפרנו את השינוי המקורי. אני בוחן את התקדמות הפריסה האוטומטית לסביבת הבדיקה, שם אנו מבצעים את הבדיקות הסופיות לפני הפריסה.
בדיקות הקבלה הפכו לירוקות, בדוק.
אני פותח את הדפדפן ועובר לסביבת הבדיקה כדי לבדוק את השינוי בפעם האחרונה. סביבת הבדיקה מוגדרת באותו אופן כמו היישום החי שלנו.
זה עובד כמו שציפיתי, בדקתי.
השינוי קטן, מה שמקל על הבדיקה. בדיקות היחידה ובדיקות הקבלה מחזקות עוד יותר את ביטחוני שהפונקציונליות הקיימת פועלת כבעבר. כל הנורות ירוקות. אני מפעיל את הפריסה. נבדוק עם התמיכה בעוד יום. אנו מצפים שהלקוחות לא יפנו יותר לתמיכה בנוגע לסטטוס זה. אם נקבל משוב נוסף, אני בטוח שנוכל לבצע פריסה נוספת השבוע כדי לשפר עוד יותר את היישום שלנו ולהתאים אותו לצרכי הלקוחות שלנו.
לאחר מספר דקות, השלב האחרון בפריסה הופך לירוק.
אנחנו עפים.
בדקו את המשרות הפנויות שלנו