Chapter 1: Key Points Program = Useful to the programmer in the garage Programming Product = Useful to anyone Programming System Component = Part of a.

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?
Hatching a Catastrophe
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.
OPEN DEVELOPMENT, AGILE, XP AND SCRUM © University of LiverpoolCOMP 319slide 1.
CSCU 411 Software Engineering Chapter 2 Introduction to Software Engineering Management.
Sixth Hour Lecture 10:30 – 11:20 am, September 9 Framework for a Software Management Process – Artifacts of the Process (Part II, Chapter 6 of Royce’ book)
Applied Software Project Management Andrew Stellman & Jennifer Greenehttp:// Applied Software Project Management Introduction.
Applied Software Project Management INTRODUCTION Applied Software Project Management 1 5/20/2015.
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 - Essence and Accident in Software Engineering By: R. Adam Mead.
Informatics 43 – May 12, Restatement of Goals for Testing Want to verify software’s correctness  Need to test  Need to decide on test cases 
R R R CSE870: Advanced Software Engineering (Cheng): Intro to Software Engineering1 Advanced Software Engineering Dr. Cheng Overview of Software Engineering.
Software Processes: Traditional CSCI102 - Systems ITCS905 - Systems MCS Systems.
12 C H A P T E R Systems Investigation and Analysis and Analysis.
Fundamentals of Information Systems, Second Edition
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.
Software Architecture in Practice
Applied Software Project Management 1 Introduction Dr. Mengxia Zhu Computer Science Department Southern Illinois University Carbondale.
SOFTWARE CRISIS SOLUTIONS? © University of LiverpoolCOMP 319slide 1.
Xtreme Programming. Software Life Cycle The activities that take place between the time software program is first conceived and the time it is finally.
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.
Lean Six Sigma: Process Improvement Tools and Techniques Donna C. Summers © 2011 Pearson Higher Education, Upper Saddle River, NJ All Rights Reserved.
Cost Estimation Van Vliet, chapter 7 Glenn D. Blank.
ITEC 370 Lecture 15 Implementation. Review Questions? Draft of design document on F Brief 3-5 minute work update on F (will continue except for mid-term)
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,
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition Copyright © 2009 John Wiley & Sons, Inc. All rights.
Applied Software Project Management Andrew Stellman & Jennifer Greenehttp:// Applied Software Project Management Chapter 1: Introduction.
Project Management Chapter 3. Objectives Become familiar with estimation. Be able to create a project workplan. Understand why project teams use timeboxing.
Why is software engineering worth studying?  Demand for software is growing dramatically  Software costs are growing per system  Many projects have.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Chapter 8 – Software Testing Lecture 1 1Chapter 8 Software testing The bearing of a child takes nine months, no matter how many women are assigned. Many.
Writing Quality Requirements Karl E. Wiegers Presented by: Ricardo Carlos.
Project Tracking. Questions... Why should we track a project that is underway? What aspects of a project need tracking?
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.
PowerPoint Presentation for Dennis & Haley Wixom, Systems Analysis and Design, 2 nd Edition Copyright 2003 © John Wiley & Sons, Inc. All rights reserved.
Extreme/Agile Programming Prabhaker Mateti. ACK These slides are collected from many authors along with a few of mine. Many thanks to all these authors.
Software Engineering Lecture 7: Scheduling & Tracking.
1 Software Process and Project Metrics. 2 Normalization for Metrics.
FPGA-Based System Design: Chapter 6 Copyright  2004 Prentice Hall PTR Topics n Design methodologies.
(A radical interpretation) Tomo Lennox Bow Tie computer services Why Agile Works.
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.
1 Systems Analysis and Design in a Changing World, Thursday, January 18, 2007.
Slide 1 Project Management Chapter 4. Slide 2 Objectives ■ Become familiar with estimation. ■ Be able to create a project workplan. ■ Become familiar.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Systems Analysis and Design in a Changing World, Fourth Edition
Project Schedules Chapter 4 Applied Software Project Management, Stellman & Greene See also:
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.
Software Engineering 1 Object-oriented Analysis and Design Applying UML and Patterns An Introduction to Object-oriented Analysis and Design and Iterative.
© The McGraw-Hill Companies, Software Project Management 4th Edition Step Wise: An approach to planning software projects Chapter 2.
Software Maintenance Speaker: Jerry Gao Ph.D. San Jose State University URL: Sept., 2001.
Software Engineering Jon Walker. What is Software Engineering? Why do we call it Software Engineering? Why not just call it programming or software development?
Chapter 7 What Can Computers Do For Me?. How important is the material in this chapter to understanding how a computer works? 4.
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?
Chapter 1: Introduction Omar Meqdadi SE 3860 Lecture 1 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
CSE-332 Software Design Methods The Mythical Man-Month 박성우 POSTECH October 20, 2015.
Development Processes Chapter Study Questions Q1: How are business processes, IS, and applications developed? Q2: How do organizations use business.
The Surgical Team Jacob Harper. The Problem Good Programmer vs Poor Programmer  10 times more productive 200 man project  25 manager, 175 programmers.
Chapter 8: Maintenance and Software Evolution Ronald J. Leach Copyright Ronald J. Leach, 1997, 2009, 2014,
Pragmatics 4 Hours.
Why is software engineering worth studying?
Cost Estimation Van Vliet, chapter 7 Glenn D. Blank.
Presentation transcript:

Chapter 1: Key Points Program = Useful to the programmer in the garage Programming Product = Useful to anyone Programming System Component = Part of a collection of programs that work together doing a bigger job Programming Systems Product = The collection of components; what you are after, 9X as expensive as creating a “program” Program Programming Systems Product Programming Product Programming System 3x

Chapter 2: Key Points “All programmers are optimists” “Men and months are interchangeable commodities only when a task can be partitioned among many workers with no communication between them.” “The bearing of a child takes nine months, no matter how many women are assigned.” Costs: training. Intercommunication. “Take no small slips” (in schedule) Brooks Law: “Adding manpower to a late software project makes it later.” –Abdel-Hamid & Madnick 1991: “Adding more people to a late project always makes it more costly, but does not always cause it to be completed later.”  Perhaps: Brook’s “rule of thumb.” Bottom line: Non-linear trade-off between persons and person-months

Perfectly Partitionable

Not Partitionable

Add Communication Costs

Complex Inter-relationships

Chapter 3: Key Points Sackman, Erikson & Grant Study  ratio between best and worst productivity performance of programmers: 10:1 Surgical team approach vs. hog butchering Team Members: –Chief Programmer –Co-pilot –Administrator –Editor –Secretaries –Program Clerk –Toolsmith –Tester –Language lawyer

Chapter 4: Key Points Few architects, many implementers What problems can this cause?

Chapter 5: Key Points Role of architect vs. implementer What issues can arise? The second system effect (similar to goldplating) How to avoid the second system effect?

Chapter 6: Key Points How to communicate with teams of hundreds? Weekly ½ day conference of architects + key implementers –Same group each week –Smart people, all hands-on –Problem-solving focus –Written proposals for decisions –Clear decision-making authority Log of all questions & answers (website) Early test involvement Problems with this? –What about information hiding?

Chapter 7: Key Points Lesson of the tower of Babel Communication means: –Informal –Meetings –Workbook / Notebook –Website today… how would you do it? Elements of success: –Mission –Producer –Technical director/ architect –Schedule –Division of labor –Interface definitions among the parts

Chapter 8: Key Points Try to get real data on projects comparable in size and complexity to yours for purposes of estimating.

Chapter 9: Key Points Understand your constraints. In the early days this was memory space… memory rented for $12/K/month Representational v. computational equivalence (Herb Simon) What are the constraints today?

Chapter 10: Key Points Documentation for a “computer product” –Objectives –Specifications –Schedule –Budget –Organization chart –Space allocations –Market forecasts Do you agree or disagree with this list? What would you add? Take away?

Chapter 11: Key Points “Plan to throw one away; you will, anyhow.” –Do you agree? What about incremental model? On requirement changes: “a threshold has to be established, and it must get higher and higher as development proceeds.” What prevents a design from getting documented? The semi-U shaped bug curve (Campbell’s data) The fixing the fixes problem, or “program maintenance is an entropy- increasing process”

Chapter 12: Key Points Vehicle (aka development) machines and target machines How would you plan machine usage? Importance of high-level languages… examples today? What other tools are important?

Chapter 13: Key Points Prevent bugs in design Test the specification … how? Stepwise refinement Use debugged components … why? Change control Add one component at a time… why?

Chapter 14: Key Points “How does a project get to be a year late? …. One day at a time.” What makes a good milestone? –Concrete, specific, measurable, “defined with knife-edged sharpness” Studies show: –Estimates before work begins do not change –During work, over-estimates steadily come down –During work, under-estimates do not change until 3 weeks before completion. How do you tell which slips matter most? (Pert charts, critical path) What Bosses need: –Exceptions to plan that require action –Status pictures for education –Helps to label meetings, “status” or “action” meetings

Chapter 15: Key Points Documentation for the user – what would you change/add on this list? –Purpose –Environment –Domain & Range –Functions –I/O formats –Operating instructions –Options –Running time –Accuracy and checking Documentation for the maintainer Self-documenting code

Chapter 16: Key Points “No silver bullet.” Advice: –Buy rather than build –Use rapid prototyping to help establish requirements –Grow software organically (aka incremental development) –Find the good conceptual designers Some tough issues: –Complexity –Conformity –Changeability –Invisibility

Chapter 17: Key Points OO might be the “brass bullet.” –But lots of up-front costs –Re-use more common at large companies than small … why?

Chapter 18 This is Fred’s summary of the book. You should read this one chapter if nothing else!