Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

the mythical man- month, Study notes of Software Engineering

the mythical man- month. Essays on Software Engineering. Frederick P. Brooks, Jr. ... Confuse effort with progress: men and months are. NOT interchangeable!

Typology: Study notes

2021/2022

Uploaded on 09/12/2022

nicoline
nicoline 🇺🇸

4.6

(12)

277 documents

1 / 77

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
the mythical man-
month
Essays on Software Engineering
Frederick P. Brooks, Jr.
By Yuriy Arbitman
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c
pf4d

Partial preview of the text

Download the mythical man- month and more Study notes Software Engineering in PDF only on Docsity!

the mythical man-

month

Essays on Software Engineering

Frederick P. Brooks, Jr.

By Yuriy Arbitman

About the Author Frederick Phillips Brooks, Jr.

  • Born in 1931
  • Ph.D. in CS from Harvard, 1956
  • Between 1956 and 1965 worked in IBM, was project manager of IBM’s System/360 computers and OS/360 development.
  • In 1964 founded CS Department at the University of North Carolina, chaired it for 20 years.
  • In 1999 received the Turing Award “for landmark contributions to computer architecture, operating systems, and software engineering”.

The Book (2)

  • The Whole and the Parts
  • Hatching a Catastrophe
  • The Other Face
  • No Silver Bullet – Essence and Accident in Software

Engineering

  • “No Silver Bullet” Refired
  • Propositions of The Mythical Man-Month: True or

False?

  • The Mythical Man-Month after 20 years
  • Fifty Years of Wonder, Excitement and Joy (Epilogue)

The Tar Pit (1)

  • Large-system programming is a tar pit in the last decade.
  • The programming systems product:
A Program
A Programming
Product
A Programming
System
A Programming
System Product

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

The Tar Pit (3)

  • The joys of the craft:
    • Making things
    • Making things that are useful to others
    • The fascination of fashioning complex puzzle-like objects
    • Always learning
    • Such a tractable medium
  • The woes of the craft:
    • Adjusting to the requirement of perfection
    • Other people tell you what to do
    • Worse: must use others’ programs! 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

The Tar Pit (4)

  • The woes of the craft (cont.):
    • Bugs!!!
    • Bugs get harder as testing progresses
    • The product gets obsolete upon or even before completion 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

The Mythical Man-Month (2)

  • Optimism:
    • All programmers are optimists, believing in happy endings and fairy god-mothers.
    • Because programming tasks are usually chained end-to-end, the probability that each will go well is very small.
  • Man-month:
    • Cost vary as a product: men · months.
    • Progress does not: communication overhead!
    • Overhead: intercommunication and training. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

The Mythical Man-Month (3)

  • Different projects types: Men Months Perfectly partitionable task Men Months Unpartitionable task Men Months
Partitionable task requiring communication Task with complex interrelationships

Men Months 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Men/Months interchangable The bearing of a child takes nine months, no matter how many women are assigned!

Men/Months interchangable In tasks that can be partitioned but which require communication among the subtasks, the effort of communication must be added to the amount of work to be done

Communication

Overhead

10 Members
45 Interactions
5 Members
10 Interactions

Men/Months interchangable The plan (^) First task, twice as long Adding 2, at Milestone A

The Surgical Team (1)

  • The problem: productivity varies hugely between good programmers and poor ones.
  • Mill’s proposal: divide large job into segments, each tackled by a surgical team: - The surgeon. The chief programmer. Defines spec, designs, codes, tests, documents. The boss. - The copilot. Less experienced, no responsibility for code. - The administrator. Handles money, people, space, machines. May be part-time (serve two teams). - The editor. Improves and perfects the 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

The Surgical Team (2) documentation produced by the surgeon.

  • Two secretaries. One for the administrator and one for the editor.
  • The program clerk. Responsible for maintaining all the technical records of the team in a programming- product indexed library.
  • The toolsmith. The system manager of the team.
  • The tester. Responsible for producing or gathering the test-cases. “The adversary”.
  • The language lawyer. Master of the used programming language. Can serve two or three teams [surgeons]. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20