No Silver Bullet - Essence and Accident in Software Engineering By: R. Adam Mead.

Slides:



Advertisements
Similar presentations
What is Engineering?.
Advertisements

Ch.1 Introduction to Software Engineering The Evolution 1.1 The Evolving Role of Software 1/15 In the early days: User Computer Software = Place a sequence.
Lecture 2 Team Coordination 1 ICS 126 Team Coordination Team Formation and Organization Group Management Meeting Techniques Large software systems require.
10 Software Engineering Foundations of Computer Science ã Cengage Learning.
INFORMATION TECHNOLOGY IN BUSINESS AND SOCIETY SESSION 20 – HOW SOFTWARE IS MADE SEAN J. TAYLOR.
Wrap-Up Wednesday/Friday 10th Week. Goals of this course Give students a broader, more realistic view of the discipline of computer science as they decide.
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.
Introduction To System Analysis and Design
Chapter 1: Key Points Program = Useful to the programmer in the garage Programming Product = Useful to anyone Programming System Component = Part of a.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 5 Slide 1 Project management.
What is Software Engineering? And why is it so hard?
No Silver Bullet Essence and Accidents of Software Engineering By Frederick P. Brooks Frederick P. Brooks Presentation by Yan Qi
R R R CSE870: Advanced Software Engineering (Cheng): Intro to Software Engineering1 Advanced Software Engineering Dr. Cheng Overview of Software Engineering.
Computer Engineering 203 R Smith Requirements Management 6/ Requirements IEEE Standard Glossary A condition or capability needed by a user to solve.
Copyright 2002 Prentice-Hall, Inc. Chapter 1 The Systems Development Environment 1.1 Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer.
“No Silver Bullet” by F. Brooks
SE is not like other projects. l The project is intangible. l There is no standardized solution process. l New projects may have little or no relationship.
September 1999 Overview Software Engineering1 CS466: Tools and Processes for Software Gio Wiederhold Dorothea Beringer Anca-Juliana Stoica.
SOFTWARE CRISIS SOLUTIONS? © University of LiverpoolCOMP 319slide 1.
1 Chapter 3 Project Management. 2 The 4 P’s  People — the most important element of a successful project  Product — the software to be built  Process.
Project planning. Software project management Informal definition of management – The art of getting work done through other people Software project management.
CASE Tools And Their Effect On Software Quality Peter Geddis – pxg07u.
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,
Overview Coding Practices Balancing standards Configuration Management Providing Change Control Software Estimation Reasons why Programmers and Managers.
GENERAL CONCEPTS OF OOPS INTRODUCTION With rapidly changing world and highly competitive and versatile nature of industry, the operations are becoming.
No Silver Bullet – Essence and Accident in Software Engineering.
Copyright 2002 Prentice-Hall, Inc. Chapter 1 The Systems Development Environment 1.1 Modern Systems Analysis and Design.
UNIVERSITI TENAGA NASIONAL “Generates Professionals” CHAPTER 4 : Part 1 INTRODUCTION TO SOFTWARE DEVELOPMENT: SYSTEM ANALYSIS & DESIGN.
EENG 1920 Chapter 1 The Engineering Design Process 1.
1 Chapter 2 The Process. 2 Process  What is it?  Who does it?  Why is it important?  What are the steps?  What is the work product?  How to ensure.
Chapter 2 소프트웨어공학 Software Engineering 임현승 강원대학교
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.
Design, prototyping and construction CSSE371 Steve Chenoweth and Chandan Rupakheti (Chapter 11- Interaction Design Text)
Chapter 1 The Big Picture.
1 No Silver Bullet Brooks rides again…. 2 Essential Difficulties What are these “essential difficulties” that Brooks is referring to? Complexity Conformity.
Software Engineering Introduction and Overview Takes customer-defined goals and constraints and derives a representation of function, performance, interfaces,
Core Concepts of Geoinformatics: introdcution Gilberto Camara National Institute for Space Research, Brazil Institut für Geoinformatik, Univ Münster.
Introduction To System Analysis and Design
Modern Software Development Nelson Padua-Perez Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
1 Systems Analysis and Design in a Changing World, Thursday, January 18, 2007.
Informatics 43 – September 29, 2015 Lecture 1-1 Emily Navarro.
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki 1 Machine Learning.
Chapter 3 Project Management Chapter 3 Project Management Organising, planning and scheduling software projects.
 What is Modeling What is Modeling  Why do we Model Why do we Model  Models in OMT Models in OMT  Principles of Modeling Principles of Modeling 
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.
Advanced S/w Eng - s/w productivity issues 1 Software Productivity Issues Why do software projects fail? Advanced Software Engineering COM360 University.
Course Overview  What is AI?  What are the Major Challenges?  What are the Main Techniques?  Where are we failing, and why?  Step back and look at.
Winter 2011SEG Chapter 11 Chapter 1 (Part 1) Review from previous courses Subject 1: The Software Development Process.
Chapter 1: Introduction Omar Meqdadi SE 3860 Lecture 1 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
By David Sanders Title Explanation  Werewolves are quite terrifying, simply because they transform unexpectedly into horrors. To kill werewolves,
CS3320-Chap21 Office Hours TR 1:00-2:15 PM W 2:30-3:30 PM By appointment.
1 FPB 11/24/13 Nuggets from The Mythical Man-Month Fred Brooks University of North Carolina at Chapel Hill
THE PHOENIX ARCHITECTURE A New Approach to Student Satellite Software Riley Pack University of Colorado at Boulder.
WELCOME TO OUR PRESENTATION UNIFIED MODELING LANGUAGE (UML)
Software cost and effort estimation will never be an exact science. Estimation is very difficult to do, but is often needed Too many variables can affect.
PRESENTATION 2 CS 5391 Survey of Software Engineering Chang-Ho Lee No Silver Bullet: Essence and Accidents of Software Engineering By Frederick P. Brooks,
Introduction to Project Management
System.
Ivan Marsic Rutgers University
Fred Brooks - A Software Engineering Icon - “No Silver Bullet”
Introduction to Tech Communication & Project Management Arthur C.M. Chen , Rm
Informatics 43 – March 31, 2016.
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.
“No Silver Bullet” by F. Brooks
Presentation transcript:

No Silver Bullet - Essence and Accident in Software Engineering By: R. Adam Mead

Software Construction Essential Tasks n Exploiting the mass market to avoid constructing what can be bought. n Using rapid prototyping as part of a planned iteration in establishing software requirements. n Growing Software organically, adding more and more function to systems as they are run, used and tested. n Identifying and developing the great conceptual designers of the rising generation.

Does It Have to Be Hard? - Essential Difficulties n Observe that it is not software process that are so slow it is that hardware progress are so fast. n The essence of a software entity is a construct of interlocking concepts: data sets, relationships among data items, algorithms, and invocations of functions.

Complexity n Software is more complex for their size then an others human construction. n Many problems of developing software products derive from this essential complexity and its nonlinear increases with size. n The increase in size makes communication among team members hard. n Problem are: product flaws, cost overruns, schedule delays. n Are not only technical problems, management problems too.

Conformity n Conformity comes from the fact that all new software must conform to the way things where done in the past, because it is hard to change everyone. n Main reason software must conform is that it is new on the scene.

Changeability n Being able to change something after it has been constructed is a new concept. n Software must be able to change, and the complexity of the systems becomes harder to follow. n All successful software gets changed. n Successful software also survives beyond the normal life of the machine vehicle for which it is first written for.

Invisibility n Software has no 3-D way on which it can be laid out. n Software does not have one map or graph, it will have multiple maps and graphs. n Software has data flow charts, time sequence graphs, and other types of things. n Communication becomes hard because each person my see it a different way.

Past Breakthroughs Solved Accidental Difficulties n High-Level Languages n Time-Sharing

High-level Languages n The most powerful thing to happen to software development ever. n It allows that some types on data structures, operation, classes etc, to be used by any machine. n Programmers don’t have to develop software for individual machines.

Time-Sharing n Most observers credit the time-sharing improvement to better programmers, and better programming languages. n Programs run faster because of the high-level languages. n Do not have to accommodate for machine language anymore.

Hopes for the Silver n Object-oriented programming n Artificial Intelligence n Expert Systems n Automatic programming n Graphics programming