50
The Mythical Man-Month Essays on Software Engineering, Frederick P. Brooks, Jr. University of North Carolina at Chapel Hill ייייי יייי ייייי ייי ייייי ייייייי)ייי: יי יי יייייי( יייייי ייייי יייייי ייייייי יייייי ייי ייייי י"י יייי יייייי , ייי יייי ייייי ייייי, יייייייייי יי יייי ייייי2007

The Mythical Man- Month Essays on Software Engineering, Frederick P. Brooks, Jr. University of North Carolina at Chapel Hill אודות הקשר האגדי בין אנשים

  • View
    234

  • Download
    2

Embed Size (px)

Citation preview

Page 1: The Mythical Man- Month Essays on Software Engineering, Frederick P. Brooks, Jr. University of North Carolina at Chapel Hill אודות הקשר האגדי בין אנשים

The Mythical Man-Month

Essays on Software Engineering,

Frederick P. Brooks, Jr.

University of North Carolina at Chapel Hill

אודות הקשר האגדי בין אנשים וחודשים

)רמז: לא מה שחשבתם(

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

2007ינואר

Page 2: The Mythical Man- Month Essays on Software Engineering, Frederick P. Brooks, Jr. University of North Carolina at Chapel Hill אודות הקשר האגדי בין אנשים

המחלקה לתוכנה, בית הספר למדעי המחשב אוניברסיטת תל אביב, ינואר

2007

2

Frederick P. Brooks, Jr. 1931נולד בהתחיל את דרכו כאיש תוכנה

1956-1963ארכיטקט חומרה IBM System/360 האבא שלIBM System/360Alphabetical Read-Out DeviceProgram Interruption Systemארכיטקטורה

1964-1965 מונה למנהל Operating System/360( MVS/370)כיום

1964-1984 ייסד את החוג למדעי המחשב באוניברסיטת צפון קרוליינה (Chapel Hillועמד בראשו )

כיום עוסק בהוראת תוכנה ובמחקרvirtual environments

Page 3: The Mythical Man- Month Essays on Software Engineering, Frederick P. Brooks, Jr. University of North Carolina at Chapel Hill אודות הקשר האגדי בין אנשים

המחלקה לתוכנה, בית הספר למדעי המחשב אוניברסיטת תל אביב, ינואר

2007

3

The Mythical Man-Monthאוסף מאמרים נכתב כאוסף תובנות שנצברו בתקופת היותו מנהל

OS/360הפיתוח של מערכת ההפעלה וכן שיחות עם מנהלי פרויקטי תוכנה גדולים בתעשיה

ובאקדמיה 1975פורסם לראשונה ב -כוללת את 1995 שפורסמה ב 20מהדורת יובל ה

No Silver“המאמרים המקוריים, את המאמר Bullet" (, וכן דיון לגבי 1986 )שהתפרסם לראשונה ב

תקפות הטענות שהופיעו במאמרים המקוריים

Page 4: The Mythical Man- Month Essays on Software Engineering, Frederick P. Brooks, Jr. University of North Carolina at Chapel Hill אודות הקשר האגדי בין אנשים

המחלקה לתוכנה, בית הספר למדעי המחשב אוניברסיטת תל אביב, ינואר

2007

4

The Tar Pit

Een schip op het strand is een baken in zee. [A ship on the beach is a lighthouse to the sea. ]

DUTCH PROVERB

'האגדה האורבנית על זוג מתכנתים וגראז 1000התפוקה בתעשייה היא של statements/year

למתכנתת בצוות?מה מקור הפער

Page 5: The Mythical Man- Month Essays on Software Engineering, Frederick P. Brooks, Jr. University of North Carolina at Chapel Hill אודות הקשר האגדי בין אנשים

המחלקה לתוכנה, בית הספר למדעי המחשב אוניברסיטת תל אביב, ינואר

2007

5

החלום ושברו

Program

ProgrammingSystem

(interfaces,integration)

ProgrammingProduct

(Generalization, Testing, Documentation, Maintenance)

ProgrammingSystem Product

x3

x3

Page 6: The Mythical Man- Month Essays on Software Engineering, Frederick P. Brooks, Jr. University of North Carolina at Chapel Hill אודות הקשר האגדי בין אנשים

המחלקה לתוכנה, בית הספר למדעי המחשב אוניברסיטת תל אביב, ינואר

2007

6

אושר מהול בצערשלמותחוסר שליטה/עצמאותתלות בביצועי עמיתיםנוקדנות תפוקה לינארית או

פחותהדבר הבא

חדוות היצירהעשיית דבר שימושימורכבות היא מרתקתלמידהיצירתיות מופשטת

Page 7: The Mythical Man- Month Essays on Software Engineering, Frederick P. Brooks, Jr. University of North Carolina at Chapel Hill אודות הקשר האגדי בין אנשים

המחלקה לתוכנה, בית הספר למדעי המחשב אוניברסיטת תל אביב, ינואר

2007

7

The Mythical Man-Month

Good cooking takes time. If you are made to wait, it is to serve you better, and to please you.

MENU OF RESTAURANT ANTOINE, NEW ORLEANS

:סיבות להערכות זמנים לקויותאופטימיותמאמץ אינו התקדמותבטחון עצמיניטור לקויהוספת כ"א לפרויקט מאחר

Page 8: The Mythical Man- Month Essays on Software Engineering, Frederick P. Brooks, Jr. University of North Carolina at Chapel Hill אודות הקשר האגדי בין אנשים

המחלקה לתוכנה, בית הספר למדעי המחשב אוניברסיטת תל אביב, ינואר

2007

8

The Mythical Man-Month

"... the man-month as a unit for measuring the size of a job is a dangerous and deceptive myth. It implies that men and months are interchangeable“

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

תכנות מערכות אינו כזה

Men

Page 9: The Mythical Man- Month Essays on Software Engineering, Frederick P. Brooks, Jr. University of North Carolina at Chapel Hill אודות הקשר האגדי בין אנשים

המחלקה לתוכנה, בית הספר למדעי המחשב אוניברסיטת תל אביב, ינואר

2007

9

חלוקת המשימהטבעו של ניפוי השגיאות

– גם כאשר משימה ניתנת לחלוקהלתקשורת יש תקורה:

הכשרה( תאוםn(n-1)/2)

:וכאשר התאום מורכב

Men

Men

Page 10: The Mythical Man- Month Essays on Software Engineering, Frederick P. Brooks, Jr. University of North Carolina at Chapel Hill אודות הקשר האגדי בין אנשים

המחלקה לתוכנה, בית הספר למדעי המחשב אוניברסיטת תל אביב, ינואר

2007

10

הערכות זמנים לפרויקט:כלל אצבע

1/3 planning 1/6 coding 1/4 component test and early system test 1/4 system test, all components in hand

:דוגמא חודשי אדם12משימה הוערכה ב חודשים4 מתכנתות ל-3למשימה הוקצו 4הוגדרו( אבני דרך A,B,C,Dבסופו של כל חודש )

נניח כי רק לאחר חודשיים הושלמה אבן הדרךהראשונה

מה ניתן לעשות? נציג כמה חלפות

Page 11: The Mythical Man- Month Essays on Software Engineering, Frederick P. Brooks, Jr. University of North Carolina at Chapel Hill אודות הקשר האגדי בין אנשים

המחלקה לתוכנה, בית הספר למדעי המחשב אוניברסיטת תל אביב, ינואר

2007

11

'אפשרות א

להסתיים בזמןחייבתההנחה היא שהמשימה רק החלק הראשון הובן שלא כהלכה חודשי אדם ורק חודשיים 9נשארו למשימה

קלנדרים אנשים4.5לשם כך דרושים

:מסקנה הקיימות3 מתכנתות ל-2נוסיף

Page 12: The Mythical Man- Month Essays on Software Engineering, Frederick P. Brooks, Jr. University of North Carolina at Chapel Hill אודות הקשר האגדי בין אנשים

המחלקה לתוכנה, בית הספר למדעי המחשב אוניברסיטת תל אביב, ינואר

2007

12

'אפשרות ב

להסתיים בזמןחייבתההנחה היא שהמשימה הערכות הזמנים היו נמוכות בצורה אחידה חודשי אדם ורק 18בעצם נשארו למשימה

חודשיים קלנדרים אנשים9לשם כך דרושים

:מסקנה הקיימות3 מתכנתות ל-6נוסיף

Page 13: The Mythical Man- Month Essays on Software Engineering, Frederick P. Brooks, Jr. University of North Carolina at Chapel Hill אודות הקשר האגדי בין אנשים

המחלקה לתוכנה, בית הספר למדעי המחשב אוניברסיטת תל אביב, ינואר

2007

13

אפשרויות נוספות'אפשרות ג

Reschedule "Take no small slips"

'אפשרות דקיצוץ המשימה

על פניו נראה כאילו שתי האפשרויות האלה פחותטובות משתי האפשרויות הקודמות – האמנם?

Page 14: The Mythical Man- Month Essays on Software Engineering, Frederick P. Brooks, Jr. University of North Carolina at Chapel Hill אודות הקשר האגדי בין אנשים

המחלקה לתוכנה, בית הספר למדעי המחשב אוניברסיטת תל אביב, ינואר

2007

14

'ההשלכות של אפשרות א המתכנתות המוכשרות הנוספות2גם אם נזניח את גיוס עדיין תידרש אחת המתכנתות הוותיקות להכשיר אותן חודשי אדם )מסך 3אפילו הכשרה של חודש קלנדרי אחד עולה

חודשי האדם הדרושים בתכנון החדש(-5 , יש לפצל עכשיו ל-3את המשימה שפוצלה במקור למאמץ שכבר הושקע בעבודה שהושלמה עשוי להתבזבז במהלךשלב בדיקות האינטגרציה ובדיקות המערכת מסתבך חודשי-אדם של עבודה ורק 7בחלוף החודש השלישי עדיין נותרו

חודש קלנדרי אחדהעיכוב המקורי נשאר – עלות הפרויקט עלתה

Page 15: The Mythical Man- Month Essays on Software Engineering, Frederick P. Brooks, Jr. University of North Carolina at Chapel Hill אודות הקשר האגדי בין אנשים

המחלקה לתוכנה, בית הספר למדעי המחשב אוניברסיטת תל אביב, ינואר

2007

15

the plot thicken… (2 מתכנות? )ולא רק 4אז אולי פשוט היינו צריכים להוסיף נשים לב כי בכל מקרה של הוספת כח אדם עדיין אין עמידה

באבן הדרך הבאה – מה שעלול להוביל לחזרה רקורסיבית על האלגוריתם...

...כל זאת תחת ההנחה קרתה רק באבן הדרך הראשונה

Brooks’s Law:Adding manpower to a late software

project makes it later

Page 16: The Mythical Man- Month Essays on Software Engineering, Frederick P. Brooks, Jr. University of North Carolina at Chapel Hill אודות הקשר האגדי בין אנשים

המחלקה לתוכנה, בית הספר למדעי המחשב אוניברסיטת תל אביב, ינואר

2007

16

The Surgical Team These studies revealed large individual differences between high and low performers, often by an order of magnitude.

SACKMAN, ERIKSON, AND GRANT

Productivity – 1:10 Program Speed and Space - 1:5 Salary – 1:2

איש, שמתוכם 200מקרה בוחן: בפרויקט של מנהלים25

צוות קטן ומיומן לא יכול להרים מערכתתוכנה אמיתית

בפרויקטOS/360 שנות אדם 5000 הושקעו שנים – כמה זמן יקח לצוות מיומן 4במשך כ-

מתכנתים להשלים את הפרויקט?10של

Page 17: The Mythical Man- Month Essays on Software Engineering, Frederick P. Brooks, Jr. University of North Carolina at Chapel Hill אודות הקשר האגדי בין אנשים

המחלקה לתוכנה, בית הספר למדעי המחשב אוניברסיטת תל אביב, ינואר

2007

17

מבנה הצוות – המנתחchief programmerטייס המשנהמנהל אדמיניסטרטיבי)עורך )תיעוד2)מזכירים )למנהל האדמיניסטרטיבי ולעורך ( פקיד התוכניתlogging)toolsmithבודקמומחה לשפת התכנות

Page 18: The Mythical Man- Month Essays on Software Engineering, Frederick P. Brooks, Jr. University of North Carolina at Chapel Hill אודות הקשר האגדי בין אנשים

המחלקה לתוכנה, בית הספר למדעי המחשב אוניברסיטת תל אביב, ינואר

2007

18

Aristocracy, Democracy, and System Design

This great church is an incomparable work of art. There is neither aridity nor confusion in the tenets it sets forth. . .

It is the zenith of a style, the work of artists who had understood and assimilated all their predecessors’ successes, in complete possession of the techniques of their times, but using them without indiscreet display nor gratuitous feats of skill.

It was Jean d ‘Orbais who undoubtedly conceived the general plan of the building, a plan which was respected, at least in its essential elements, by his successors. This is one of the reasons for the extreme coherence and unity of the edifice

                                                           

Reims Cathedral Guidebook

Page 19: The Mythical Man- Month Essays on Software Engineering, Frederick P. Brooks, Jr. University of North Carolina at Chapel Hill אודות הקשר האגדי בין אנשים

המחלקה לתוכנה, בית הספר למדעי המחשב אוניברסיטת תל אביב, ינואר

2007

19

(conceptual integrityשלמות רעיונית )שלמות רעיונית היא השיקול העיקרי בעיצוב מערכת

המטרה: קלות השימושתכן נמדד ביחס בין הפונקציונליות והסיבוך הרעיוני

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

בפונקציות השונות שלהעבור המערכת זהו מכלול המדריכים שבהם נעזר המשתמש

הארכיטקט הוא נציג המשתמשים

Page 20: The Mythical Man- Month Essays on Software Engineering, Frederick P. Brooks, Jr. University of North Carolina at Chapel Hill אודות הקשר האגדי בין אנשים

המחלקה לתוכנה, בית הספר למדעי המחשב אוניברסיטת תל אביב, ינואר

2007

20

(conceptual integrityשלמות רעיונית ) השגת שלמות רעיונית דורשת ריכוז העיצוב בידי אדם אחד )או אנשים

ספורים( אין צורך להצטדקאין בכך פיחות מהיצירתיות בעבודת המימוש

"discipline is good for art" , "Form is liberating"

הפרדת המאמץ האדריכלי מהמאמץ המימושי היא דרך חזקה להשגתשלמות רעיונית

"It is a very humbling experience to make a multimillion-dollar mistake, but it is also very memorable…“

3:טענות נגד מפרט עשיר מדיהמעצבים לוקחים את כל הכיףמקבול העבודה

Page 21: The Mythical Man- Month Essays on Software Engineering, Frederick P. Brooks, Jr. University of North Carolina at Chapel Hill אודות הקשר האגדי בין אנשים

21

The Second-System Effect

Adde parvum parvo magnus acervus erit.

[Add little to little and there will be a big pile. ]

OVID

הערכת עלויות בתהליך העיצוב ע"ימו"מ עם המפתחים

"המימד רגשי בתהליך ה"הערכה

המערכת השניה היא הבעייתית ביותרלעיצוב:

בטחון עצמי לא ברור מה ניתן להכליל

מהמערכת הראשונה

יש לתמחר תכונותיש לשקול חונך מנוסה

Turning house for air traffic. Lithograph, Paris, 1882 From Le Vingtieme Siecle by A. Robida

Page 22: The Mythical Man- Month Essays on Software Engineering, Frederick P. Brooks, Jr. University of North Carolina at Chapel Hill אודות הקשר האגדי בין אנשים

המחלקה לתוכנה, בית הספר למדעי המחשב אוניברסיטת תל אביב, ינואר

2007

22

Passing the Word ( מפרט כתובmanual) את הכתיבה עצמה עושה

אחד או שניים מציין גם את ההחלטות

הפתוחות תיעוד בשפה טבעית חשוב

לא פחות מתיעוד פורמלי )וצריך לקבוע היררכיה

בינהם( מימוש כהגדרה פורמלית

ולהיפך

He’ll sit here and he’ll say, “Do this! Do that!” And nothing will happen.

HARRY S. TRUMAN,  

ON PRESIDENTIAL POWER

Page 23: The Mythical Man- Month Essays on Software Engineering, Frederick P. Brooks, Jr. University of North Carolina at Chapel Hill אודות הקשר האגדי בין אנשים

המחלקה לתוכנה, בית הספר למדעי המחשב אוניברסיטת תל אביב, ינואר

2007

23

Passing the Word:ישיבות

( נציגי המממשים 10חצי יום פעם בשבוע: כל האדריכלים ,))חומרה+תוכנה(, נציג שיווק

-חודשים עד שנה 6בית דין לערעורים: שבועיים ברצף פעם ב )לפני הקפאת גרסה(

)פרסום לוג של תקשורת עם האדריכל )טלפון =< דוא"ל

בדיקה שוטפת של תאימות לתקן ע"י גוף תקינה עצמאיהוא חברו הטוב ביותר של מנהל הפרויקט

Page 24: The Mythical Man- Month Essays on Software Engineering, Frederick P. Brooks, Jr. University of North Carolina at Chapel Hill אודות הקשר האגדי בין אנשים

המחלקה לתוכנה, בית הספר למדעי המחשב אוניברסיטת תל אביב, ינואר

2007

24

בבל:אינן סיבות לכשלון

A clear mission? Manpower? Materials? Enough time? Adequate

technology?

חוסר תקשורת )שהובילל( חוסר ארגון

Page 25: The Mythical Man- Month Essays on Software Engineering, Frederick P. Brooks, Jr. University of North Carolina at Chapel Hill אודות הקשר האגדי בין אנשים

המחלקה לתוכנה, בית הספר למדעי המחשב אוניברסיטת תל אביב, ינואר

2007

25

תקשורת

פגישות רשמיות ולא רשמיות:ספר עבודה

התיעוד הקשור לפרוייקטכל >= ספר =< מיקרופילם( נגיש לכולםWWW) ארגון המסמך בצורה שתבליט שינוייםשקיפות מלאה

פרנס מתנגד לגישת השקיפות

Page 26: The Mythical Man- Month Essays on Software Engineering, Frederick P. Brooks, Jr. University of North Carolina at Chapel Hill אודות הקשר האגדי בין אנשים

המחלקה לתוכנה, בית הספר למדעי המחשב אוניברסיטת תל אביב, ינואר

2007

26

"פרנס צדק, אני טעיתי" (, 1995 שנה )20בראייה שלBrooks מודה שאין טעם

ב"צינורות מקובלים" כאשר יש בנמצא "דרכים עוקפות"

צעדים לגיבוש תכנות מוכוון עצמים )הסתרת מידע )פרנסADTהורשה

מוצרי תוכנהעצמים אינן רק תוכניות אלא

Page 27: The Mythical Man- Month Essays on Software Engineering, Frederick P. Brooks, Jr. University of North Carolina at Chapel Hill אודות הקשר האגדי בין אנשים

המחלקה לתוכנה, בית הספר למדעי המחשב אוניברסיטת תל אביב, ינואר

2007

27

ארגון

גרף התקשורת מושרה על העץ הארגוני "בראש הארגון שני בעלי תפקידים: "מפיק

ו"במאי":המפיק

ישיבות, חלוקת עבודה, לוחות זמנים, הקצאת משאבים:)הבימאי )ארכיטקט

הגה את העיצוב )החיצוני( ומרכיביו, ומפקח עליו“inside-man at the skunk works ”

3יחסים אפשריים בין הבמאי והמפיק

Page 28: The Mythical Man- Month Essays on Software Engineering, Frederick P. Brooks, Jr. University of North Carolina at Chapel Hill אודות הקשר האגדי בין אנשים

המחלקה לתוכנה, בית הספר למדעי המחשב אוניברסיטת תל אביב, ינואר

2007

28

Calling the ShotPractice is the best of all instructors.

PUBLIUS

Experience is a dear teacher, but fools will learn at no other.

POOR RICHARD’S ALMANAC

?איך מודדים התקדמות?איך מודדים תפוקה

Page 29: The Mythical Man- Month Essays on Software Engineering, Frederick P. Brooks, Jr. University of North Carolina at Chapel Hill אודות הקשר האגדי בין אנשים

המחלקה לתוכנה, בית הספר למדעי המחשב אוניברסיטת תל אביב, ינואר

2007

29

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

הקידוד מתהליך הפיתוח

(1.05 ל- 1.5)בין התוכנית לגודל מעריכי גדל ביחס תכנות

מהזמן של מתכנתים מוקדש לתכנות )וניפוי שגיאות(50%רק

אלפי שורות קוד למתכנת לשנה 10 עד 1.5ממדי תפוקה של מתכנתים מדווחים על (KLOC)

מדדים שלBell Labs ופרויקט OS/360 מציירים תמונה שונה במקצת: במערכות 2-3 ובמהדרים 0.6הפעלה

בפרויקטMULTICS של MIT 1.2 דווחו על( KLOC '( בכתיבת קוד מעורב )מעPL/1מהדרים( אבל שורות הקוד ב הפעלה +

5שפה עילית משפרת את התפוקה פי

Page 30: The Mythical Man- Month Essays on Software Engineering, Frederick P. Brooks, Jr. University of North Carolina at Chapel Hill אודות הקשר האגדי בין אנשים

המחלקה לתוכנה, בית הספר למדעי המחשב אוניברסיטת תל אביב, ינואר

2007

30

Plan to Throw One Away There is nothing in this

world constant but inconstancy.

SWIFT

It is common sense to take a method and try it. If it fails, admit it frankly and try another. But above all, try something

FRANKLIN D. ROOSEVELT

Collapse of the aerodynamically misdesigned Tacoma Narrows Bridge

Page 31: The Mythical Man- Month Essays on Software Engineering, Frederick P. Brooks, Jr. University of North Carolina at Chapel Hill אודות הקשר האגדי בין אנשים

המחלקה לתוכנה, בית הספר למדעי המחשב אוניברסיטת תל אביב, ינואר

2007

31

Plan to Throw One Away)רעיון הפיילוט )גרסת בטאבכל מקרה נזרוק את המערכת הראשונה המוצר שאנו מספקים הוא שביעות רצון הלקוחות יותר"

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

העיצוב המקורי צריך לקחת בחשבון שינויים עתידייםבמבנה הארגוני

סולם דרגות מקביל – טכני וניהולי

Page 32: The Mythical Man- Month Essays on Software Engineering, Frederick P. Brooks, Jr. University of North Carolina at Chapel Hill אודות הקשר האגדי בין אנשים

המחלקה לתוכנה, בית הספר למדעי המחשב אוניברסיטת תל אביב, ינואר

2007

32

Plan to Throw One Awayבמבט לאחור

הטענה מניחה פיתוח במודל המפל השגוי

( מאידך - פיתוח מודולרי הדרגתיincremental יוצר בשלב מוקדם )מערכת )מנוונת( עובדת

השפעה מורלית על סטודנטים שרואים משהו עובדסוגיית התשר

עץ המשפחה של פרנס – בהקשר של שינוי עתידי

Microsoft’s “Build Every Night” Approach The build cycle becomes the heartbeat of the project אבחנה בין אבן הדרך הראשונה ובין אבטיפוס מהיר

Page 33: The Mythical Man- Month Essays on Software Engineering, Frederick P. Brooks, Jr. University of North Carolina at Chapel Hill אודות הקשר האגדי בין אנשים

המחלקה לתוכנה, בית הספר למדעי המחשב אוניברסיטת תל אביב, ינואר

2007

33

תחזוקה -מהזמן40%מתכנת עסוק בתכנות פחות מ

50%-20%תיקון באג מכניס באג חדש בהסתברות של ומכאן הנחיצות בבדיקות מערכת מקיפות ואוטומטיות

:אנטרופיה בין מספר קשר לינאריבפיתוח מערכות הפעלה נמצא

וקשר אקספוננציאליהגרסה ומספר המודולים במערכת למספר המודולים הדורשים שינוי

Page 34: The Mythical Man- Month Essays on Software Engineering, Frederick P. Brooks, Jr. University of North Carolina at Chapel Hill אודות הקשר האגדי בין אנשים

34

Ten Pounds in a Five-Pound Sack

גודל התוכניתכמרכיב בעלות שלה

טכניקות לשמירהנתונים יעילה

ייצוג נתונים קומפקטי מחירי וגדלי הזכרונות

המודרנים מייתרים את מרבית הדיון

The author should gaze at Noah, and . . . learn, as they did in the Ark, to crowd a great deal of matter into a very small compass.

SYDNEY SMITH. EDINBURGH REVIEW

Page 35: The Mythical Man- Month Essays on Software Engineering, Frederick P. Brooks, Jr. University of North Carolina at Chapel Hill אודות הקשר האגדי בין אנשים

35

The Documentary Hypothesis

The hypothesis: Amid a wash of paper, a small number of documents become the critical pivots around which every project’s management revolves. These are the manager’s chief personal tools.

W. Bengough, “Scene in the old Congressional Library”

1897, The Bettman Archive

Page 36: The Mythical Man- Month Essays on Software Engineering, Frederick P. Brooks, Jr. University of North Carolina at Chapel Hill אודות הקשר האגדי בין אנשים

36

ידידיו הטובים של המנהל מהפעולות שעושה מנהל דורשות מידע חיצוני20%פחות מ

:המנהל צריך להיצמד למסמכים הבאים What: objectives What: product specifications When: schedule How much: budget Where: space allocation Who: organization chart

המסמכים מזקקים את משימות המנהל

Page 37: The Mythical Man- Month Essays on Software Engineering, Frederick P. Brooks, Jr. University of North Carolina at Chapel Hill אודות הקשר האגדי בין אנשים

37

Sharp Tools

A good workman is known by his tools.

PROVERB

,תוכניות פיגום: סימולטורים, כלי עזר לפיתוחהשתמשו בשפות עיליות

Page 38: The Mythical Man- Month Essays on Software Engineering, Frederick P. Brooks, Jr. University of North Carolina at Chapel Hill אודות הקשר האגדי בין אנשים

38

Hatching a Catastrophe

None love the bearer of bad news

SOPHOCLES

הגדרת לוחות זמנים הגדרה מדויקת של אבני דרך( הגדרת נתיב קריטי וגרף תלויותPERT)

Page 39: The Mythical Man- Month Essays on Software Engineering, Frederick P. Brooks, Jr. University of North Carolina at Chapel Hill אודות הקשר האגדי בין אנשים

39

The Other Face

A reconstruction of Stonehenge, the world’s largest undocumented computer. The Bettman Archive

What we do not understand we do not possess.

GOETHE

O give me commentators plain, Who with no deep researches vex the brain.

CRABBE

Page 40: The Mythical Man- Month Essays on Software Engineering, Frederick P. Brooks, Jr. University of North Carolina at Chapel Hill אודות הקשר האגדי בין אנשים

40

מסמכולוגיהתוכניות מחשב מיועדות להיקרא ע"י אנשים בדרך כלל תיעוד לוקה בOverviewשלו :למשתמשים

Purpose. Environment. Domain and range Functions realized and algorithms

used. Input-output formats Operating instructions Options Running time Accuracy and checking.

:למתחזקים A flow chart or subprogram

structure graph. Complete descriptions of the

algorithms used, An explanation of the layout

of all files used. An overview of the pass

structure A discussion of

modifications contemplated in the original design,

the nature and location of hooks and exits,

the ideas of the original author about what modifications might be desirable and how one might proceed.

Page 41: The Mythical Man- Month Essays on Software Engineering, Frederick P. Brooks, Jr. University of North Carolina at Chapel Hill אודות הקשר האגדי בין אנשים

המחלקה לתוכנה, בית הספר למדעי המחשב אוניברסיטת תל אביב, ינואר

2007

41

שנה20אחרי

I know no way of judging the future but by the past.

PATRICK HENRY

You can never plan the future by the past.

EDMUND BURKE

רלוונטיות?תעשיית התוכנה לא התקדמההכל אנשים

Page 42: The Mythical Man- Month Essays on Software Engineering, Frederick P. Brooks, Jr. University of North Carolina at Chapel Hill אודות הקשר האגדי בין אנשים

המחלקה לתוכנה, בית הספר למדעי המחשב אוניברסיטת תל אביב, ינואר

2007

42

הכל אנשים

"Most academic research on software engineering has concentrated on tools. I admire and covet sharp tools. Nevertheless, it is encouraging to see ongoing research efforts on the care, growing, and feeding of people, and on the dynamics of software management. "

Page 43: The Mythical Man- Month Essays on Software Engineering, Frederick P. Brooks, Jr. University of North Carolina at Chapel Hill אודות הקשר האגדי בין אנשים

המחלקה לתוכנה, בית הספר למדעי המחשב אוניברסיטת תל אביב, ינואר

2007

43

?מה עדיין תקףהארכיטקט

המפיק והבמאיהנחיית צוותי סטודנטים

המערכת השנייהיותר קשה לייצר מוצר מדף כללי מכלי יעודינחשת: רישום של תכונות ושכיחותן אם נתכנן לזרוק את הראשונה לא נתקע תמיד עם

השניה?

Page 44: The Mythical Man- Month Essays on Software Engineering, Frederick P. Brooks, Jr. University of North Carolina at Chapel Hill אודות הקשר האגדי בין אנשים

המחלקה לתוכנה, בית הספר למדעי המחשב אוניברסיטת תל אביב, ינואר

2007

44

WIMPתפריטים ושימוש ביד אחת אינם חלק מהמטפורה?שני עכברים?עכבר ומקלדת?עצמים מול פעלים קלות שימושקיצורי דרך?מי קהל היעדLook & Feel using standard API :תחזיתWIMPיעלם בתוך דור

Page 45: The Mythical Man- Month Essays on Software Engineering, Frederick P. Brooks, Jr. University of North Carolina at Chapel Hill אודות הקשר האגדי בין אנשים

המחלקה לתוכנה, בית הספר למדעי המחשב אוניברסיטת תל אביב, ינואר

2007

45

Boehmהמחקר של Barry Boehm/Software Eng. Economics

פרוייקטים 63חקר

אופטימלית לפרויקט עלות t = 2.5 (MM)1/3

מהאופטימום העלות גדולכאשר הזמן המוקצב לפרויקט עולה )במתינות(

מהאופטימום העלות קטןכאשר הזמן המוקצב לפרויקט עולה )בחדות(

רק מעטים הפרויקטים שהושלמו כאשר הזמן שהוקצה להםהיה נמוך מ ¾ הזמן האופטימלי

Page 46: The Mythical Man- Month Essays on Software Engineering, Frederick P. Brooks, Jr. University of North Carolina at Chapel Hill אודות הקשר האגדי בין אנשים

המחלקה לתוכנה, בית הספר למדעי המחשב אוניברסיטת תל אביב, ינואר

2007

46

Brooksתקפות החוק של Software Project Dynamics: An Integrated Approach (1991)/

Abdel-Hamid and Madnick

“Adding more people to a late project always makes it more costly, but it does not always cause it to be completed later

:הערה על האופי של אנשים חדשים המגויסים לצוותnew people added late in a development project must be team

players willing to pitch in and work within the process, and not attempt to alter or im prove the process itself! (Stutzke)

Page 47: The Mythical Man- Month Essays on Software Engineering, Frederick P. Brooks, Jr. University of North Carolina at Chapel Hill אודות הקשר האגדי בין אנשים

המחלקה לתוכנה, בית הספר למדעי המחשב אוניברסיטת תל אביב, ינואר

2007

47

PeoplewarePeopleware: Productive Projects and Teams (1987) /

DeMarco and Lister

"The manager’s function is not to make people work, it is to make it possible for people to work“

The top performers’ space is quieter, more private, better protected against interruption, and there is more of it. . . . Does it really matter to you . . . whether quiet, space, and privacy help your current people to do better work or [alternatively] help you to attract and keep better people?

Page 48: The Mythical Man- Month Essays on Software Engineering, Frederick P. Brooks, Jr. University of North Carolina at Chapel Hill אודות הקשר האגדי בין אנשים

המחלקה לתוכנה, בית הספר למדעי המחשב אוניברסיטת תל אביב, ינואר

2007

48

כמה ציטוטים

"System debugging, like astronomy, has always been done chiefly at night. "

"System debugging (in contrast to component debugging) will take longer than one expects"

"How does a project get to be a year late? . . . One day at a time."

Page 49: The Mythical Man- Month Essays on Software Engineering, Frederick P. Brooks, Jr. University of North Carolina at Chapel Hill אודות הקשר האגדי בין אנשים

המחלקה לתוכנה, בית הספר למדעי המחשב אוניברסיטת תל אביב, ינואר

2007

49

אפילוג ?מה להנדסה ולזה

?)האם התחום אינו בשל דיו )ברוקסכמו תחום ההנדסה הכימית לפני מלחמת העולם השניה

)או שמא זוהי אינה הנדסה? )פרנס אין קווי דמיון להנדסת חשמל

מערכות תוכנה הן הדבר המורכב ביותר שמייצרתהאנושות

( ביצת הלבהtar pit של הנדסת התוכנה תמשיך )בדבקותה עוד זמן רב

Page 50: The Mythical Man- Month Essays on Software Engineering, Frederick P. Brooks, Jr. University of North Carolina at Chapel Hill אודות הקשר האגדי בין אנשים

...ובנימה אופטימית זו