חדשות היום

קידום חדשנות דרך הטמעת סטנדרט עבודה אחיד של CI/CD

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

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

מתודולוגית CI/CD – Continuous Integration, Continuous Delivery, Continuous Deployment , או בעברית: ‘אינטגרציה רציפה, אספקה רציפה, פריסה רציפה’, קובעת כללי מפתח ושלבים ברורים בתהליך הפיתוח, המאפשרים לאנשים שונים בתכלית להגיע למכנה משותף זהה, לעבוד בסטנדרט אחיד ולהשיג את התוצאות הרצויות תחת לוח הזמנים והתקציב המוגדרים. לא פחות חשוב מכך, היא מאפשרת לאנשי מקצוע צעירים ללמוד ולהתפתח עם הארגון.

סטנדרט בפיתוח תוכנה

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

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

אילו כללי מפתח מתקיימים במסגרת מתודולוגית CI/CD?

כפי שציינתי, CI/CD היא ‘אינטגרציה רציפה, אספקה רציפה, פריסה רציפה’:

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

מתודולוגית CI/CD מאפשרת להשתמש בכלי אוטומציה בתהליך פיתוח הקוד. כל תהליך בניה בפרויקט, גדול או קטן, צריך להתחיל באופן אוטומטי על מנת להקטין את מספר טעויות האנוש. בתהליך האוטומציה מתרחשים מספר צעדים חיוניים שאין לפסוח עליהם: בדיקת שגיאות הקלדה בקוד (static analysis), מבחנים אחידים לקוד (Unitests), מבחני אינטגרציה (Integration tests) ואריזה.

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

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

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


תמונת כותרת: ליאור ביאליק  קרדיט צילום: ניב קנטור

ליאור ביאליק, סמנכ"ל פעילות הענן ב- Comm-IT

תגובות סגורות