פיתוח תוכנה זריז 101

מְחַבֵּר: Judy Howell
תאריך הבריאה: 26 יולי 2021
תאריך עדכון: 23 יוני 2024
Anonim
What is Agile?
וִידֵאוֹ: What is Agile?

תוֹכֶן


להסיר:

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

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

תקציר על מחזור חיי פיתוח התוכנה

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

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

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


מדוע התפתחויות זריזות שונות

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

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

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


פרקטיקות זריזות

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

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

  1. פיתוח מונע מבחן (TDD)
    באופן אידיאלי, מפתחים צריכים לכתוב תחילה מקרי בדיקה עבור פיסת הפונקציונליות שאליה הם הולכים לתקן. זה יבטיח קוד באיכות טובה, שפחות צפוי להישבר בתנאים חריגים. תהליך זה מסייע גם להבטיח כי טופלו למפרטי המשתמש.
  2. זוג תכנות
    בפיתוח Agile, בדרך כלל מתכנתים עובדים על אותה בעיה בזוגות, כאשר אדם אחד כותב את הקוד (מנהל התקן) והשני בודק את הקוד ומספק רעיונות והצעות (נווט). זה משפר את הפרודוקטיביות ומקטין את הזמן הנדרש לבדיקת קוד.
  3. שחזור קוד
    שיקום מחדש של קוד כרוך בפירוט הקוד למודולים קטנים ופשוטים יותר שיכולים (וצריכים) להתקיים באופן עצמאי בתרחיש האידיאלי. זה משפר את הקריאות, את יכולת הבדיקה ואת יכולת התחזוקה שלו במידה רבה.
  4. השתתפות פעילה מצד בעלי עניין בפועל
    לאחר פרקי זמן קבועים של פרק זמן מוגדר (המכונה "ss"), לקוחות צריכים לקבל אב-טיפוס עובד משמעותי של התוכנה. זה מאפשר למפתחים לקבל משוב על מה שהם בונים תוך כדי.
  5. התייחס לדרישות כערימה עדיפה
    ב- Agile, חיוני לקטלג דרישות על סמך חשיבותן. זה עשוי לכלול הן ציפיות מרומזות כמו גם ציפיות לקוחות מפורשות לגבי מוצר התוכנה הנמצא בפיתוח. על צוות פיתוח התוכנה להעריך באופן קולקטיבי את הזמן והמשאבים שהם עתידים להשקיע בכדי ליישם את התכונה, ולמפות זאת על פי דרישות המשתמש והסדר היחסי בו יתמודדו עם כל חלק מהפרויקט.
  6. בדיקות רגרסיה
    בדיקת רגרסיה כוללת בדיקת הפונקציונליות של יישום שלם לאחר הוספת תכונה חדשה או שינוי הפונקציונליות הקיימת בקוד. זה עוזר להבטיח שהשינויים לא שברו את הקוד הקיים.

למה ללכת זריז?

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

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

אינך יכול לשפר את כישורי התכנות שלך כאשר לאף אחד לא אכפת מאיכות התוכנה.