Slide TMMM.1/28 The Mythical Man-Months. Slide TMMM.2/28 Overview Fred Brooks and OS/360 The Mythical Man-Month What has and has not changed? No Silver.

Slides:



Advertisements
Similar presentations
EEL5881 software engineering I Mythical man-month lecture
Advertisements

Effort metrics: Man-month. Mythical Man Month – the book Brooks lead development of OS/360 and reflected on the problems experienced in the project. The.
Robert Lockyer.
Propositions of The Mythical Man-Month: True or False? Are The Topics Proposed in 1975 Still Valid?
The Mythical Man-Month By: Zac Lippard CS 470. What is the “Man-Month”? This is the idea that men and months are interchangeable between each other. This.
Software Engineering Teams Group 3 presents: Teamwork is the ability to work together toward a common vision. The ability to direct individual accomplishments.
The Surgical Team A different kind of team build By Chris Bradney A different kind of team build By Chris Bradney.
Informatics 43 – April 21, Things to know Midterm on Thursday – Closed book, closed notes, bring pen/pencil – Questions available on web site (updated)
“Not Fully Specified (Project) Objectives” CS524 – Software Engineering I Azusa Pacific University Professor Dr. Sheldon X. Liang Fall I 2007 Ernie Rosales.
The Mythical Man-Month by Fred Brooks (I) Published 1975, Republished 1995 Experience managing the development of OS/360 in Central Argument –Large.
No Silver Bullet “There is no single development, in either technology or management technique, which by itself promises even one order-of magnitude improvement.
Lawrence Chung Software Engineering: Introduction 1 Module 1: Introduction to Software Engineering.
Chapter 1: Key Points Program = Useful to the programmer in the garage Programming Product = Useful to anyone Programming System Component = Part of a.
“Software's Chronic Crisis” by W. Wayt Gibbs
Software Engineering. How many lines of code? Average CS1004 assignment: 200 lines Average CS4115 project: 5000 lines Corporate e-commerce project: 80,000.
No Silver Bullet Essence and Accidents of Software Engineering By Frederick P. Brooks Frederick P. Brooks Presentation by Yan Qi
Software Engineering.
ESD.83Cory R. A. Hallam1 An Introduction to Systems Engineering The Art of Managing Complexity Presented By Cory R. A. Hallam B.Eng., M.Eng., ISU SSP,
The Mythical Man-Month Due Today: Code & Coding Standards Due Next Class: Quiz #3; see webpage Mythical Man-Month I Bio Break Mythical Man-Month II Questions.
Course Introduction and Overview of Software Engineering Richard N. Taylor ICS 221 Fall 2002.
Mythical Man Month Fred Brooks, Why are software projects late? Estimating techniques are poorly developedEstimating techniques are poorly developed.
SOFTWARE PROJECT MANAGEMENT AND COST ESTIMATION © University of LiverpoolCOMP 319slide 1.
SOFTWARE CRISIS SOLUTIONS? © University of LiverpoolCOMP 319slide 1.
CSE 230: Introduction to Software Engineering Topics covered: Introduction.
SOFTWARE PROJECT MANAGEMENT AND COST ESTIMATION © University of LiverpoolCOMP 319slide 1.
Cost Estimation Van Vliet, chapter 7 Glenn D. Blank.
Essence and Accident in Software Engineering By: Mike Hastings.
INTROSE Introduction to Software Engineering Raymund Sison, PhD College of Computer Studies De La Salle University Software: Definitions,
The Mythical Man Month Essays on Software Engineering Presented by Prashant Kashyap Btech 2000 FREDERICK P. BROOKS, JR An Overview.
Why is software engineering worth studying?  Demand for software is growing dramatically  Software costs are growing per system  Many projects have.
CSC 354 – Software Engineering, Spring 2013, Week 2 Mythical Man-Month Ch. 1-5 Tar Pit, Mythical Man-Month, Surgical Team, Aristocracy / Democracy & System.
The Mythical Man-Month the MYTH behind the REAL
“No Silver Bullet” - refired
Chapter 2 소프트웨어공학 Software Engineering 임현승 강원대학교
Chapter 6 : Software Metrics
No Silver Bullet. CS460 - Senior Design Project I (AY2004)2 No silver bullet "No Silver Bullet" –– a paper by Fred Brooks, Professor of Computer Science.
1 No Silver Bullet Brooks rides again…. 2 Essential Difficulties What are these “essential difficulties” that Brooks is referring to? Complexity Conformity.
Large Scale Software Systems Derived from Dr. Fawcett’s Notes Phil Pratt-Szeliga Fall 2010.
By Justin hendrix. Chapter 1: The Tar Pit Chapter one is about making a good project that won’t get stuck in the “tar pit.” That is it must be flexible.
No Silver Bullet – Essence and Accident “Not only are there no silver bullets now in view, the very nature of software makes it unlikely that there will.
“No Silver Bullet”. No Silver Bullet  "No Silver Bullet" –– a paper by Fred Brooks, Professor of Computer Science at University of North Carolina in.
Mythical Man Month By Ryan Ruzich.  More software projects have gone awry for lack calendar time than all other reasons combined.
Open Source as a different Silver Bullet Carlo Daffara Conecta Srl, AMOS project Advancing the research.
Estimating “Size” of Software There are many ways to estimate the volume or size of software. ( understanding requirements is key to this activity ) –We.
Effort Estimation In WBS,one can estimate effort (micro-level) but needed to know: –Size of the deliverable –Productivity of resource in producing that.
Dr. DEVENDRA TAYAL– THE SCOPE OF SOFTWARE ENGINEERING.
Advanced S/w Eng - s/w productivity issues 1 Software Productivity Issues Why do software projects fail? Advanced Software Engineering COM360 University.
“Planning” or “why use objects?” ACO101: Introduction to Computer Science.
Royce 1970 Dr. Winston W. Royce, “Managing the development of large software systems”. Proc. IEEE WESCON, Aug Reprinted 9 th Intl. Conf. Softw. Eng.,
Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 3. Defining the System A Use Case Primer Organizing.
Chapter Three The Surgical Team. The Problem Large Group – 10:1 productivity and 5:1 program speed and space management. – Negative aspect Sheer number.
Chapter Eighteen Proposition of the Mythical Man Month: True or False?
CSE 403 Lecture 25 Scheduling and Planning a Large Project Reading: The Mythical Man-Month, Ch. 2, by F. Brooks slides created by Marty Stepp
CSE-332 Software Design Methods The Mythical Man-Month 박성우 POSTECH October 20, 2015.
1 FPB 11/24/13 Nuggets from The Mythical Man-Month Fred Brooks University of North Carolina at Chapel Hill
The Surgical Team Jacob Harper. The Problem Good Programmer vs Poor Programmer  10 times more productive 200 man project  25 manager, 175 programmers.
PRESENTATION 2 CS 5391 Survey of Software Engineering Chang-Ho Lee No Silver Bullet: Essence and Accidents of Software Engineering By Frederick P. Brooks,
Why is software engineering worth studying?
The Effects on Development
Software What Is Software?
THE MYTHICAL MAN-MONTH
Informatics 43 – April 19, 2016.
© Ian Davis 2017 Spring (c) Ian Davis.
Software Testing and Maintenance Maintenance and Evolution Overview
Why Object-oriented Programming?
UFCE8V-20-3 Information Systems Development SHAPE Hong Kong 2010/11
Nuggets from The Mythical Man-Month Fred Brooks University of North Carolina at Chapel Hill ONR_Updated.
Cost Estimation Van Vliet, chapter 7 Glenn D. Blank.
Presentation transcript:

Slide TMMM.1/28 The Mythical Man-Months

Slide TMMM.2/28 Overview Fred Brooks and OS/360 The Mythical Man-Month What has and has not changed? No Silver Bullet Analysis

Slide TMMM.3/28 Frederick P. Brooks Jr.

Slide TMMM.4/28 Frederick P. Brooks Jr. Undergraduate degree in physics from Duke University in Master's and Doctorate degrees in computer science from Harvard University Left IBM in 1965 to found the Department of Computer Science at UNC-Chapel Hill Won the 1999 A.M. Turing Award, considered the “Nobel Prize of Computing”

Slide TMMM.5/28 OS/ man-years of effort at IBM Introduced in 1963 but not completed until 1968 Fred Brooks was IBM’s project manager between 1964 and 1965 Still used today in a new form as OS/390, the old source is almost completely gone

Slide TMMM.6/28 The Man-Month Myth “Cost does indeed vary as the product of the number of men and the number of months. Progress does not. Hence 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.” -Fred Brooks

Slide TMMM.7/28 Men to Months Relation

Slide TMMM.8/28 Brooks’s Law Adding manpower to a late software project makes it later. –We can always create schedules with fewer men and more months –We cannot always create schedules with more men and fewer months »“More Software projects have gone awry for lack of calendar time than for all other causes combined” -Fred Brooks

Slide TMMM.9/28 Why is adding people late bad? There are three reasons for this: –The work and disruption or repartitioning jobs –The time consumed training new people –The added intercommunication between people »There is a [n(n-1) / 2] increase in effort

Slide TMMM.10/28 Architecture vs. Implementation Keeping the “what” separate from the “how” Conceptual Integrity –It is better to eliminate some frills and functionality to preserve the design ideas than to use “many good but independent and uncoordinated ideas”

Slide TMMM.11/28 Aristocracy vs. Democracy Who is in control of design? What happened on OS/360? –10 Architects vs. 150 Implementers –The architecture manager said it would take his 10 good men 10 months to write the specifications, 3 months over the schedule –The control program manager said the 160 men could finish the specifications on time, and wouldn’t have the 150 implementers “twiddling their thumbs for 10 months”

Slide TMMM.12/28 Woops! Despite the architecture manager’s warnings Brooks had all 160 men do the specifications –The work was still 3 months late and it was of much lower quality than it could have been –The conceptual integrity was breached and the cost of the system went up –An estimated extra year of debugging took place

Slide TMMM.13/28 The Surgical Team Surgeon Administrator Secretary Editor Secretary Copilot Programming Clerk Tool-smith Tester Language Lawyer

Slide TMMM.14/28 System Debugging Debug the components before the system –Even using a component that has a known bug can cause unpredictable, and unusable results in system debugging Use scaffolding –“Dummy components” – a.k.a. stubs Replacing a debugged, working component with a newer debugged, working component does not mean you can skip testing!

Slide TMMM.15/28 Two Steps Forward and One Step Back

Slide TMMM.16/28 Documentation What is required? –How to use the program –Why to believe the program –How to modify the program Self-Documenting Programs

Slide TMMM.17/28 What has changed? Some things changed due to technology making some techniques mentioned obsolete –Documentation –Workstations –WWW –Disk space and memory Brooks did change his mind on the subject of information hiding proposed by Parnas

Slide TMMM.18/28 Information Hiding The idea that development is improved by hiding the technical details of the separate pieces of the system On what Brooks originally called a “recipe for disaster” he now writes: “I have been quite convinced otherwise by Parnas, and totally changed my mind.”

Slide TMMM.19/28 Waterfall vs. Incremental Must be able to “swim upstream” Harlan Mills’ incremental development model –A.K.A. the spiral model

Slide TMMM.20/28 So what’s the point? The practices of the software engineering community have changed very little over the last 30 years, and the mistakes being made then are still being made today.

Slide TMMM.21/28 No Silver Bullet “There is no single development, in either technology or management technique, which by itself promises even one order of magnitude improvement in productivity in reliability, in simplicity.” - Fred Brooks

Slide TMMM.22/28 Why is this? Past advancements such as high level languages haven’t been on the essence of development: –Complexity –Conformity –Changeability –Invisibility

Slide TMMM.23/28 Hopes for the silver bullet Object Oriented Programming and Design –Why does it fail? Large Scale Reuse –Why should we make what we can buy instead?

Slide TMMM.24/28 Brad Cox “The innovation is a paradigm shift, redefining what it means, or better what it should mean, to say we buy, sell, or own objects made of bits.” Which is more complex? –A pencil –Microsoft Word Version 3.1

Slide TMMM.25/28 Brad Cox Microsoft Word Version 3.1 –8 programmers (not counting documentation and testing) A pencil –Timber from California and Oregon –Graphite imported from Ceylon –Clay from Mississippi –Candelilla wax imported from Mexico –Lacquer produced

Slide TMMM.26/28 Analysis The very high cost of “manufacturing” reusable components which contributes to the already slow paradigm shift means that this wont be a revolution In the long run I agree with Brooks’ assessment that the process of improving development is going to be a slow evolutionary process, and not the revolution everyone keeps hoping for

Slide TMMM.27/28 Resources Frederick P. Brooks Jr. The Mythical Man-Month. Addison- Wesley, 1995 Brad Cox, No Silver Bullet Revisited, Information on Fred Brooks,

Slide TMMM.28/28 The Mythical Man-Months The End