פיתוח תוכנה זריז – הבדלי גרסאות

מתוך ויקיפדיה, האנציקלופדיה החופשית
תוכן שנמחק תוכן שנוסף
Matanyabot (שיחה | תרומות)
מ בוט החלפות: \1צורכי\2
ויקישיתוף בשורה
שורה 6: שורה 6:
==מנשר==
==מנשר==


'''המנשר לפיתוח תוכנה זריז''' (ב[[אנגלית]]: Agile Manifesto) הוא הצהרת עקרונות התומכת ב[[פיתוח תוכנה זריז]]. טיוטת המנשר נוסחה בפברואר 2001 בווסאץ' ריינג', אתר [[סקי]] במדינת [[יוטה]] שב[[ארצות הברית]]. במפגש, נציגים של מתודולוגיות פיתוח תוכנה חדשות כגון [[Extreme Programming|eXtreme Programming]], [[Scrum]], [[DSDM]], [[Adaptive Software Development]], [[Crystal]], [[Feature Driven Development]] ו-[[Pragmatic Programming]] דנו בצורך במתודולוגיות פיתוח תוכנה קלות כתחליף למתודולוגיות הכבדות המסורתיות.
'''המנשר לפיתוח תוכנה זריז''' (ב[[אנגלית]]: Agile Manifesto) הוא הצהרת עקרונות התומכת ב[[פיתוח תוכנה זריז]]. טיוטת המנשר נוסחה בפברואר 2001 בווסאץ' ריינג', אתר [[סקי]] במדינת [[יוטה]] שב[[ארצות הברית]]. במפגש, נציגים של מתודולוגיות פיתוח תוכנה חדשות כגון [[Extreme Programming|eXtreme Programming]], [[Scrum]], [[DSDM]], [[Adaptive Software Development]], [[Crystal]], [[Feature Driven Development]] ו-[[Pragmatic Programming]] דנו בצורך במתודולוגיות פיתוח תוכנה קלות כתחליף למתודולוגיות הכבדות המסורתיות.


החותמים על המנשר הם: [[קנט בק]], [[מייק בידל]], [[אריה ואן-בנקום|אריה ואן-בֵנֶ‏קוּ‏ם]], [[אליסטר קוברן|אליסטר קוֹ‏בֶ‏ּ‏רן]], [[וורד קנינגהם]], [[מרטין פולר]], [[ג'יימס גרנינג]], [[אנדרו האנט]], [[רון ג'פריס]], [[ג'ון קרן]], [[בראין מאריק]], [[רוברט מרטין]], [[סטיב מלור]], [[קן שוואבר]], [[ג'ף סטרלנד]] ו[[דייב תומאס]].
החותמים על המנשר הם: [[קנט בק]], [[מייק בידל]], [[אריה ואן-בנקום|אריה ואן-בֵנֶקוּם]], [[אליסטר קוברן|אליסטר קוֹבֶּרן]], [[וורד קנינגהם]], [[מרטין פולר]], [[ג'יימס גרנינג]], [[אנדרו האנט]], [[רון ג'פריס]], [[ג'ון קרן]], [[בראין מאריק]], [[רוברט מרטין]], [[סטיב מלור]], [[קן שוואבר]], [[ג'ף סטרלנד]] ו[[דייב תומאס]].


פרסום המנשר, החתום על ידי חבורה מכובדת כל כך של עוסקים בתחום [[הנדסת תוכנה|הנדסת התוכנה]], היה נקודת מפנה ביחס הענף למתודולוגיות הפיתוח הזריזות, ואחריו חל גידול משמעותי בשימוש בהן.
פרסום המנשר, החתום על ידי חבורה מכובדת כל כך של עוסקים בתחום [[הנדסת תוכנה|הנדסת התוכנה]], היה נקודת מפנה ביחס הענף למתודולוגיות הפיתוח הזריזות, ואחריו חל גידול משמעותי בשימוש בהן.
שורה 28: שורה 28:


* ראש סדר העדיפויות הוא לספק מוקדם ובאופן רציף ככל האפשר תוכנה בעלת ערך ללקוח.
* ראש סדר העדיפויות הוא לספק מוקדם ובאופן רציף ככל האפשר תוכנה בעלת ערך ללקוח.
* מצפים בברכה לשינויים בדרישות התוכנה, אפילו בשלב מתקדם של הפיתוח. תהליכים מהירים ברי-שינוי מאפשרים יתרון משמעותי בתחרות הלקוח.
* מצפים בברכה לשינויים בדרישות התוכנה, אפילו בשלב מתקדם של הפיתוח. תהליכים מהירים ברי-שינוי מאפשרים יתרון משמעותי בתחרות הלקוח.
* אספקה של תוכנה עובדת באופן תדיר, ממספר שבועות עד למספר חודשים, עם שאיפה לסולם זמנים קצר.
* אספקה של תוכנה עובדת באופן תדיר, ממספר שבועות עד למספר חודשים, עם שאיפה לסולם זמנים קצר.
* אנשי פיתוח והמשתמש העסקי חייבים לעבוד ביחד באופן יום יומי לאורך הפרויקט.
* אנשי פיתוח והמשתמש העסקי חייבים לעבוד ביחד באופן יום יומי לאורך הפרויקט.
שורה 34: שורה 34:
* הדרך האפקטיבית והמספקת ביותר לשיתוף מידע בקבוצת הפיתוח היא שיחה פנים מול פנים.
* הדרך האפקטיבית והמספקת ביותר לשיתוף מידע בקבוצת הפיתוח היא שיחה פנים מול פנים.
* תוכנה עובדת היא יחידת המידה העיקרית להתקדמות אמיתית בפיתוח.
* תוכנה עובדת היא יחידת המידה העיקרית להתקדמות אמיתית בפיתוח.
* תהליכים "קלי תנועה" מקדמים sustainable development (תהליך שאינו פוגע בעתיד על מנת ליהנות ממנו בהווה) .
* תהליכים "קלי תנועה" מקדמים sustainable development (תהליך שאינו פוגע בעתיד על מנת ליהנות ממנו בהווה) .
* המשקיעים, המפתחים והמשתמשים צריכים לשמור על קצב קבוע לאורך זמן.
* המשקיעים, המפתחים והמשתמשים צריכים לשמור על קצב קבוע לאורך זמן.
*יש לספק תשומת לב מתמשכת למצוינות טכנולוגית ועיצוב (Design) טוב שמגביר את "קלות התנועה".
*יש לספק תשומת לב מתמשכת למצוינות טכנולוגית ועיצוב (Design) טוב שמגביר את "קלות התנועה".
שורה 43: שורה 43:
==כלים==
==כלים==
{{להשלים|נושא=מדע וטכנולוגיה|נושא2=מחשוב}}
{{להשלים|נושא=מדע וטכנולוגיה|נושא2=מחשוב}}
[[תמונה:Low tech story card.jpg|שמאל|ממוזער|250px|כרטיס [[סיפור משתמש]], טכנולוגיה תחתית בהתגלמותה]]
[[קובץ:Low tech story card.jpg|שמאל|ממוזער|250px|כרטיס [[סיפור משתמש]], טכנולוגיה תחתית בהתגלמותה]]
[[תמונה:Low tech architecture diagram.jpg|שמאל|ממוזער|250px|חלק מ[[ארכיטקטורת מערכת|ארכיטקטורת המערכת]] של מערכת ממוכנת למכירת כרטיסי נסיעה, בתיווי חופשי מבוסס [[SysML]] ו-[[UML]]]]
[[קובץ:Low tech architecture diagram.jpg|שמאל|ממוזער|250px|חלק מ[[ארכיטקטורת מערכת|ארכיטקטורת המערכת]] של מערכת ממוכנת למכירת כרטיסי נסיעה, בתיווי חופשי מבוסס [[SysML]] ו-[[UML]]]]


==לקריאה נוספת==
==לקריאה נוספת==
שורה 57: שורה 57:


==קישורים חיצוניים==
==קישורים חיצוניים==
{{ויקישיתוף בשורה}}

*[http://agilemanifesto.org/iso/he/ The Agile Manifesto (עברית)]
*[http://agilemanifesto.org/iso/he/ The Agile Manifesto (עברית)]



גרסה מ־23:00, 4 ביולי 2016

הנדסת תוכנה
ערך זה שייך לקטגוריית הנדסת תוכנה
פעילויות ושלבים
דרישותניתוחאפיוןארכיטקטורהעיצובתכנותדיבוגבדיקהאימותבנייהפריסהתפעולתחזוקה
מתודולוגיות
זריזותמפל המיםתכנת ותקןCrystal ClearScrumUnified ProcessExtreme Programmingאינטגרציה רציפהDevOps
תחומים תומכים
ניהול פרויקטיםניהול תצורהתיעודהבטחת איכותProfiling
כלים
מהדרמקשרמפרשIDEניהול גרסאותאוטומציית בנייה

פיתוח תוכנה זריזאנגלית: Agile Software Development) היא גישה בהנדסת תוכנה המניחה שפיתוח תוכנה הוא ביסודו בעיה אמפירית, ולא ניתן לפתור אותה בשיטות המתבססות על חיזוי או תכנון. באנגלית, המונח Agile פירושו "זריז, קל רגליים, נע במהירות ובחן", ותרגומו לעברית הוא "זמיש" (הלחם של זריז וגמיש). הגישה קובעת שפיתוח תוכנה הוא פיתוח מוצר חדש[1] ומתייחסת אליו כמשחק של שיתוף פעולה מוכוון־מטרה[2]. הגישה הזריזה לפיתוח תוכנה מניחה שלא ניתן להגדיר במלואה תוכנה מסוימת קודם לפיתוחה בפועל, ומתמקדת במקום זאת בשיפור יכולתו של הצוות לספק תוצרים במהירות ולהגיב לדרישות העולות תוך כדי הפיתוח.

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

מנשר

המנשר לפיתוח תוכנה זריזאנגלית: Agile Manifesto) הוא הצהרת עקרונות התומכת בפיתוח תוכנה זריז. טיוטת המנשר נוסחה בפברואר 2001 בווסאץ' ריינג', אתר סקי במדינת יוטה שבארצות הברית. במפגש, נציגים של מתודולוגיות פיתוח תוכנה חדשות כגון eXtreme Programming, Scrum, DSDM, Adaptive Software Development, Crystal, Feature Driven Development ו-Pragmatic Programming דנו בצורך במתודולוגיות פיתוח תוכנה קלות כתחליף למתודולוגיות הכבדות המסורתיות.

החותמים על המנשר הם: קנט בק, מייק בידל, אריה ואן-בֵנֶקוּם, אליסטר קוֹבֶּרן, וורד קנינגהם, מרטין פולר, ג'יימס גרנינג, אנדרו האנט, רון ג'פריס, ג'ון קרן, בראין מאריק, רוברט מרטין, סטיב מלור, קן שוואבר, ג'ף סטרלנד ודייב תומאס.

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

המנשר לפיתוח תוכנה זריז

המנשר לפיתוח תוכנה זריז מצהיר כך:

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

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

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

אתר אג'יל מניפסטו

עקרונות המנשר

  • ראש סדר העדיפויות הוא לספק מוקדם ובאופן רציף ככל האפשר תוכנה בעלת ערך ללקוח.
  • מצפים בברכה לשינויים בדרישות התוכנה, אפילו בשלב מתקדם של הפיתוח. תהליכים מהירים ברי-שינוי מאפשרים יתרון משמעותי בתחרות הלקוח.
  • אספקה של תוכנה עובדת באופן תדיר, ממספר שבועות עד למספר חודשים, עם שאיפה לסולם זמנים קצר.
  • אנשי פיתוח והמשתמש העסקי חייבים לעבוד ביחד באופן יום יומי לאורך הפרויקט.
  • בנה פרויקטים על בסיס יחידים בעלי מוטיבציה. תן להם את סביבת העבודה, ענה על צורכיהם וסמוך עליהם שהעבודה תעשה.
  • הדרך האפקטיבית והמספקת ביותר לשיתוף מידע בקבוצת הפיתוח היא שיחה פנים מול פנים.
  • תוכנה עובדת היא יחידת המידה העיקרית להתקדמות אמיתית בפיתוח.
  • תהליכים "קלי תנועה" מקדמים sustainable development (תהליך שאינו פוגע בעתיד על מנת ליהנות ממנו בהווה) .
  • המשקיעים, המפתחים והמשתמשים צריכים לשמור על קצב קבוע לאורך זמן.
  • יש לספק תשומת לב מתמשכת למצוינות טכנולוגית ועיצוב (Design) טוב שמגביר את "קלות התנועה".
  • פשטות - היא חיונית (האומנות למקסם את כמות העבודה שלא תעשה).
  • הארכיטקטורה, העיצוב והדרישות חייבות להתבצע בתוך "קבוצות עצמאיות" (כמו עוצבה בצבא שמנהלת את עצמה ובעלת כל המשאבים).
  • בזמנים רגועים, על הצוות להגות ולחשוב על איך להפוך להיות יותר אפקטיבי, מאשר לדמות את התנהגות שלו לזה.

כלים

כרטיס סיפור משתמש, טכנולוגיה תחתית בהתגלמותה
חלק מארכיטקטורת המערכת של מערכת ממוכנת למכירת כרטיסי נסיעה, בתיווי חופשי מבוסס SysML ו-UML

לקריאה נוספת

  • Highsmith, Jim (2004), Agile Project Management. Addison-Wesley Professional
  • Schwaber, Ken (2004), Agile Project Management with Scrum. Microsoft Press
  • Larman, Craig (2003), Agile and Iterative Development: A Manager's Guide. Addison-Wesley Professional
  • Cockburn, Alistair (2001), Agile Software Development. Addison-Wesley Professional
  • Beck, Kent (2000), Extreme Programming Explained: Embrace Change. Addison-Wesley Professional
  • McCarthy, Jim (1995), Dynamics of Software Development. Microsoft Press

קישורים חיצוניים

ויקישיתוף מדיה וקבצים בנושא פיתוח תוכנה זריז בוויקישיתוף

הערות שוליים

  1. ^ Schwaber, K.; Beedle, M. (2002). "Agile Software Development with Scrum". Prentice-Hall, ISBN 0130676349.
  2. ^ Cockburn, Alistair (2001). "Agile Software Development". Addison-Wesley Professional, ISBN 0321482751.