שער איכות הוא בדיקה שהעבודה חייבת לעבור לפני שתוכל להתקדם. שערים הם מה שהופך את הקריטריון "טוב מספיק לשילוח" מקביעה סובייקטיבית לכלי שהמערכת מחייבת באופן עקבי בכל פעם.
חוסמים ומייעצים
כל שער הוא אחד משניהם, וההבחנה הזו היא מרכז העיצוב:
- חוסם — כישלון גורם לעצירת המשימה. העבודה לא תתקדם עד שתעבור את הבדיקה או שאדם יבטל את החסימה.
- מייעץ — כישלון נרשם כממצא ומצורף לבקשת משיכה, אך המשימה ממשיכה כרגיל.
התחילו עם מצב מייעץ. עקבו אחר מה שכל שער מסמן בפועל בעבודה אמיתית במשך שבוע או שבועיים, ואז שדרגו את אלו שראויים לכך למצב חוסם. שער שחוסם מהיום הראשון, ללא כיוונון מתאים, יגרום לרוב האנשים לעקוף אותו.
שער חוסם
- כיסוי קוד מתחת ל-80%נכשל
המשימה נעצרת
היא חוזרת כעבודה מחודשת במקום לפתוח pull request שתדחו בסופו של דבר.
- אדם בעל סמכות יכול לבטל את החסימה. הביטול כולל מידע על מי, מתי ובאיזה נושא.
שער מייעץ
- כיסוי קוד מתחת ל-80%נכשל
הממצא נרשם
המשימה ממשיכה לתהליך הביקורת.
- הממצא מצורף ל-pull request כדי שתוכלו לשקול אותו.
מה יכולים שערים לבדוק?
שערים פועלים בשלב האימות ויכולים לכסות:
- הצלחת חבילת הבדיקות שלכם
- סף כיסוי קוד
- בדיקות סגנון קוד וניתוח סטטי
- סריקת אבטחה, המוגדרת ב אבטחה
- בדיקות דפדפן על תצוגה מקדימה פועלת
- ראיות מספקים חיצוניים המצורפות ל־pull request
השער הכי שימושי הוא כמעט תמיד חבילת הבדיקות הקיימת שלכם, מכיוון שהיא כבר מגדירה את מה שצוותכם רואה כחשוב.
היכן ששער יכול לעצור עבודה
שערים פועלים במהלך האימות, לאחר שסוכן הפיתוח סיים ולפני סקירה. כישלון חוסם שולח את המשימה חזרה לתיקון במקום ליצור pull request שתדחו בסופו של דבר.
סדר זה נבחר בכוונה: זול יותר לכשל בתוך התהליך מאשר לכשל מול עיניכם.
מדיניות
שערים מקובצים לתוך מדיניות, שהן אלו שאתם מחברים בפועל לפרויקטים. מדיניות היא קבוצה שמית של שערים עם הגדרות חוסם/מייעץ, כך שתוכלו להגדיר אחת סטנדרטית עבור שירותי ייצור ואחרת קלה יותר עבור כלים פנימיים.
המדיניות מנוהלת בגרסאות. אתם מפרסמים שינוי, ויכולים לחזור לגרסה קודמת אם שער חדש נמצא תובעני מדי.
ביטולים
ניתן לבטל שער חוסם על ידי אדם בעל סמכות לכך. הביטול נרשם — מי, מתי ועל מה.
הרישום הזה הוא המטרה. שער שאין אפשרות לבטל אותו יגרום לאנשים לעקוף אותו; שער שכל אחד יכול לבטל בשקט אינו שער אמיתי. ביטול שמותיר עקבות הוא גם שימושי וגם ניתן לחשבון.
מה ששערים אינם עושים
שערים בודקים תכונות. הם אינם קובעים אם העבודה פותרת את הבעיה הנכונה — זו המטרה של קריטריוני הקבלה ב־ מפרט ושל הסקירה שלכם.
שינוי יכול לעבור את כל השערים ועדיין להיות שינוי לא נכון.