The Mythical Man-Month by Fred Brooks (I) Published 1975, Republished 1995 Experience managing the development of OS/360 in 1964-65 Central Argument –Large.

Slides:



Advertisements
Similar presentations
CEN nd Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi Software Process Models.
Advertisements

CS487 Software Engineering Omar Aldawud
© Chinese University, CSE Dept. Software Engineering / Software Engineering Topic 1: Software Engineering: A Preview Your Name: ____________________.
INFORMATION TECHNOLOGY IN BUSINESS AND SOCIETY SESSION 20 – HOW SOFTWARE IS MADE SEAN J. TAYLOR.
Software Engineering Introduction and Overview RA402 jcmtCSE1320 Intermediate Programming Essence and Accident Inherent Difficulties –Complexity –Conformity.
Delivering peace of mind Architecting for Changes with UML Emmanuel FUCHS C2 Architect.
No Silver Bullet - Essence and Accident in Software Engineering By: R. Adam Mead.
No Silver Bullet “There is no single development, in either technology or management technique, which by itself promises even one order-of magnitude improvement.
A Vision for Parametric Design Presented By: Shady Youssef by Kevin Rotheroe Web Address: 128.
Chapter 1: Key Points Program = Useful to the programmer in the garage Programming Product = Useful to anyone Programming System Component = Part of a.
Readings in Computer Science: Software Engineering No Silver Bullet Essence and Accidents of Software Engineering Frederick P. Brooks, Jr. Prepared by.
No Silver Bullet Essence and Accidents of Software Engineering By Frederick P. Brooks Frederick P. Brooks Presentation by Yan Qi
Reasons to study concepts of PL
“No Silver Bullet” by F. Brooks
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. The Big Idea Software Architecture Lecture 1.
1 Origins of Software Architecture. The Origins  Software Engineers have always employed software architectures –Very often without realizing it!  Address.
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.
SOFTWARE CRISIS SOLUTIONS? © 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,
S/W Project Management Software Process Models. Objectives To understand  Software process and process models, including the main characteristics of.
No Silver Bullet – Essence and Accident in Software Engineering.
Why is software engineering worth studying?  Demand for software is growing dramatically  Software costs are growing per system  Many projects have.
“No Silver Bullet” - refired
1 SYS366 Lecture 1: Introduction to Systems. 2 What is Software Development? Software Development implies developing some software – but it does not involve.
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.
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.
CSCI-383 Object-Oriented Programming & Design Lecture 1.
Lecture 9: Chapter 9 Architectural Design
1 No Silver Bullet Brooks rides again…. 2 Essential Difficulties What are these “essential difficulties” that Brooks is referring to? Complexity Conformity.
HCI in Software Process Material from Authors of Human Computer Interaction Alan Dix, et al.
University of Southern California Center for Systems and Software Engineering Model-Based Software Engineering Supannika Koolmanojwong Spring 2013.
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Informatics 43 Introduction to Software Engineering.
What is S.E? Describe S.E in terms of its mistakes Standish Group ( US - $250 Billion on IT projects. 31% projects are cancelled 52.7%
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
The Systems Development Life Cycle
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki 1 Machine Learning.
Acknowledgement: Most slides from Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. Software Architecture EECE417 Lecture 1.
SOFTWARE ENGINEERING Chapter 1. Introduction We can’t run the modern world without software. Why? Discussion….
Slide 2.1 CHAPTER 2 THE SOFTWARE PROCESS. Slide 2.2 Overview l Client, Developer, and User l Requirements Phase l Specification Phase l Design Phase l.
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.
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. The Big Idea Software Architecture Lecture 1.
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Informatics 43 Introduction to Software Engineering.
Pertemuan 1 Introduction to Software Engineering Mata kuliah: T0144 – Advanced Topics in Software Engineering Tahun: 2010.
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. The Big Idea Software Architecture Lecture 1.
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. The Big Idea Software Architecture Lecture 1.
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. The Big Idea Software Architecture.
By David Sanders Title Explanation  Werewolves are quite terrifying, simply because they transform unexpectedly into horrors. To kill werewolves,
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. The Big Idea Software Architecture Lecture 1.
1 SYS366 Week 1 - Lecture 1 Introduction to Systems.
1 FPB 11/24/13 Nuggets from The Mythical Man-Month Fred Brooks University of North Carolina at Chapel Hill
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. The Big Idea Software Architecture Lecture 1.
THE PHOENIX ARCHITECTURE A New Approach to Student Satellite Software Riley Pack University of Colorado at Boulder.
Chapter 7 Lecture 1 Design and Implementation. Design and implementation Software design and implementation is the stage in the software engineering process.
CS 310 Ch 4: Software Processes Software process: a set of activities that lead to a software system specification design and implementation validation.
PRESENTATION 2 CS 5391 Survey of Software Engineering Chang-Ho Lee No Silver Bullet: Essence and Accidents of Software Engineering By Frederick P. Brooks,
Fred Brooks - A Software Engineering Icon - “No Silver Bullet”
Informatics 43 – March 31, 2016.
Software Architecture Lecture 1
Introduction To System Analysis and Design PART 2
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.
“No Silver Bullet” by F. Brooks
Human Computer Interaction Lecture 14 HCI in Software Process
Logical Architecture & UML Package Diagrams
Presentation transcript:

The Mythical Man-Month by Fred Brooks (I) Published 1975, Republished 1995 Experience managing the development of OS/360 in Central Argument –Large programming projects suffer management problems different in kind than small ones, due to division of labor. –Critical need is the preservation of the conceptual integrity of the product itself.

The Mythical Man-Month by Fred Brooks (II) Central Conclusions –Conceptual integrity achieved through exceptional designer –Implementation achieved through well- managed effort –Brooks’s Law: Adding personnel to a late project makes it later

No Silver Bullet by Fred Brooks (1987) “There is no single development, in either technology or management technique, which by itself promises even one order-of-magnitude improvement within a decade in productivity, in reliability, in simplicity.”

Why Is This a Safe Bet? “ All software construction involves essential tasks, the fashioning of the complex conceptual structures that compose the abstract software entity, and accidental tasks, the representation of these abstract entities in programming languages within space and speed constraints. … How much of what software engineers now do is still devoted to the accidental, as opposed to the essential? Unless it is more than 9/10 of all effort, shrinking all accidental activities to zero time will not give an order of magnitude improvement.”

Essence v. Accident Essence: the difficulties inherent in the nature of the software Accidents: those difficulties that today attend its production but that are not inherent

Accidental Difficulties Solutions potentially exist Past productivity increases result of overcoming prior accidental difficulties –Inadequate programming constructs & abstractions Remedied by high-level programming languages Increased productivity by factor of five Complexity was never inherent in program at all

Accidental Difficulties (cont’d) Past productivity increases result of overcoming (cont’d) –Viewing results of programming decisions took long time Remedied by time–sharing Turnaround time approaching limit of human perception –Difficulty of using heterogeneous programs Addressed by integrated software development environments Support task that was conceptually always possible

Essential Difficulties Only partial solutions exist for them, if any Cannot be abstracted away –Complexity –Conformity –Changeability –Intangibility

Complexity No two software parts are alike –If they are, they are abstracted away into one Complexity grows non-linearly with size –E.g., it is impossible to enumerate all states of program (Except perhaps toy programs)

Conformity Software is required to conform to its –Operating environment –Hardware Often “last kid on block” Perceived as most conformable

Changeability Change originates with –New applications, users, machines, standards, laws –Hardware problems Software is viewed as infinitely malleable

Intangibility Software is not embedded in space –Often no constraining physical laws No obvious representation –E.g., familiar geometric shapes

Pewter Bullets Ada, C++, Java and other high–level languages Object-oriented design/analysis/programming Artificial Intelligence Automatic Programming Graphical Programming Program Verification Environments & tools Workstations

Promising Attacks On Complexity (In 1987) Buy vs. Build Requirements refinement & rapid prototyping –Hardest part is deciding what to build (or buy?) –Must show product to customer to get complete specification –Need for iterative feedback

Promising Attacks On Complexity (cont’d) Incremental/Evolutionary/Spiral Development –Grow systems, don’t build them –Good for morale –Easy backtracking –Early prototypes Great designers –Good design can be taught; great design cannot –Bottom line: Nurture great designers

Software Architecture (and Architects) Software Engineers have always employed software architectures –Very often without realizing it! Address issues identified by researchers and practitioners –Essential software engineering difficulties –Unique characteristics of programming-in-the- large –Need for software reuse Many ideas originated in other (non- computing) domains

Primacy of Design Software engineers collect requirements, code, test, integrate, configure, etc. An architecture-centric approach to software engineering places an emphasis on design –Design pervades the engineering activity from the very beginning But how do we go about the task of architectural design?