180 likes | 343 Views
THE TAR PIT. WHAT ARE THE PLEASURES OF PROGRAMMING?. BROOKS MENTIONS:. CREATIVITY PURPOSEFULNESS PUZZLE-SOLVING PERPETUAL LEARNING ABSTRACT PRACTICALITY. THE TAR PIT. WHAT ARE THE PAINS OF PROGRAMMING?. BROOKS MENTIONS:. IMPERFECTION INTERDEPENDENCE DEBUGGING OBSOLESCENCE.
E N D
THE TAR PIT WHAT ARE THE PLEASURES OF PROGRAMMING? BROOKS MENTIONS: • CREATIVITY • PURPOSEFULNESS • PUZZLE-SOLVING • PERPETUAL LEARNING • ABSTRACT PRACTICALITY BROOKS - CHAPTER 1
THE TAR PIT WHAT ARE THE PAINS OF PROGRAMMING? BROOKS MENTIONS: • IMPERFECTION • INTERDEPENDENCE • DEBUGGING • OBSOLESCENCE BROOKS - CHAPTER 1
THE MYTHICAL MAN-MONTH IF IT WILL TAKE THREE DEVELOPERS EIGHT MONTHS TO COMPLETE A SOFTWARE PROJECT, HOW LONG WILL IT TAKE A DOZEN DEVELOPERS TO COMPLETE THAT PROJECT? • TWO MONTHS? • EIGHT MONTHS? • THIRTY-TWO MONTHS? BROOKS - CHAPTER 2
THE SURGICAL TEAM IF YOU’VE GOT ONE GREAT PROGRAMMER AND NINE SO-SO PROGRAMMERS ON A DEVELOPMENT TEAM, HOW SHOULD THEY BE ASSIGNED TASKS? • HAVE THE SO-SOS SUPPORT THE GREAT ONE? • HAVE THE GREAT ONE SUPERVISE THE SO-SOS? • FIRE THE SO-SOS & WORK THE GREAT ONE TO DEATH? BROOKS - CHAPTER 3
ARISTOCRACY, DEMOCRACY, & SYSTEM DESIGN TO WHAT EXTENT SHOULD REGULAR PROGRAMMERS BE INVOLVED IN HIGH-LEVEL SYSTEM DESIGN? • WILL THEIR CREATIVITY AND INVENTIVENESS BE WASTED OTHERWISE? • WHAT ELSE COULD THEY WORK ON WHILE THE DESIGN IS BEING DEVELOPED? BROOKS - CHAPTER 4
THE SECOND-SYSTEM EFFECT THE UNCERTAINTIES OF DEVELOPING SOMETHING NEW COMBINE WITH DEADLINE PRESSURES TO LIMIT FRILLS IN THE INITIAL VERSION OF A SYSTEM. THE TEMPTATION IS OVERWHELMING TO INCLUDE ALL SORTS OF CREATIVE FEATURES AND CUSTOMER SUGGESTIONS IN A SECOND SYSTEM. BROOKS - CHAPTER 5
PASSING THE WORD TO WHAT EXTENT ARE FORMAL MEETINGS AND DOCUMENTATION NEEDED IN THE VARIOUS PHASES OF A PROJECT DEVELOPMENT? • DURING PLANNING? • DURING DESIGN? • DURING IMPLEMENTATION? • DURING TESTING? BROOKS - CHAPTER 6
WHY DID THE TOWER OF BABEL FALL? HOW EFFECTIVE WOULD THESE DEVELOPMENT TEAM COMMUNICATION TOOLS BE? • MULTI-USER DOMAINS (MUDS) - REAL-TIME DISPLAY WINDOWS IN WHICH TEAM MEMBERS POST QUERIES AND RESPONSES • WEB-LOGS (BLOGS) - THE ON-LINE EQUIVALENT OF A PROJECT WORKBOOK, RECORDING STATUS REPORTS FROM TEAM MEMBERS BROOKS - CHAPTER 7
CALLING THE SHOT ABOUT WHICH PHASE OF DEVELOPMENT IS IT MOST DIFFICULT TO MAKE ACCURATE PREDICTIONS? • PLANNING? • DESIGN? • IMPLEMENTATION? • TESTING? BROOKS - CHAPTER 8
TEN POUNDS IN A FIVE-POUND SACK HOW GOOD ARE LOC NUMBERS AT ESTIMATING DEVELOPMENT EFFORT? • FOR DRIVERS? • FOR FUNCTIONS? • FOR CLASSES? • FOR RECURSION? BROOKS - CHAPTER 9
THE DOCUMENTATION HYPOTHESIS WHICH DOCUMENTS ARE ESSENTIAL IN A SOFTWARE DEVELOPMENT PROJECT? • GANTT CHART? • SIZE ESTIMATION? • TIME LOGS? • DEFECT LOGS? • CODE REVIEW? • POST-MORTEM? • REQUIREMENTS STATEMENT? • UML CLASS DIAGRAMS? • UML SEQUENCE DIAGRAMS? • DETAILED TEST CASES? • DESIGN REVIEW? • TEAM ORGANIZATION? BROOKS - CHAPTER 10
PLAN TO THROW ONE AWAY WHAT ARE THE ADVANTAGES OF BUILDING A PROTOTYPE THAT WILL ULTIMATELY BE DISCARDED? • IT HELPS CUSTOMERS CRYSTALIZE CHANGES • IT HELPS DEVELOPERS WEIGH DESIGN AND IMPLEMENTATION ALTERNATIVES BROOKS - CHAPTER 11
SHARP TOOLS WHAT KINDS OF SOFTWARE TOOLS ARE NEEDED IN DEVELOPMENT PROJECTS? • COMPILERS • LIBRARIES • AUTOMATIC CODE DOCUMENTATION • GUI DESIGN • CHANGE MANAGEMENT BROOKS - CHAPTER 12
THE WHOLE AND THE PARTS WHEN DEBUGGING YOUR CODE, TO WHAT EXTENT DO YOU USE... ...STUB MODULES? ...DUMMY DRIVERS? BROOKS - CHAPTER 13
HATCHING A CATASTROPHE WHEN IT COMES TO ESTIMATING YOUR SOFTWARE DEVELOPMENT TIMETABLE, DO YOU TEND TO BE... ...OPTIMISTIC? ...PESSIMISTIC? BROOKS - CHAPTER 14
THE OTHER FACE TO WHAT EXTENT DOES CODE REALLY NEED TO BE DOCUMENTED? • WILL IT EVER BE MODIFIED BY THE ORIGINAL PROGRAMMER? • WILL IT EVER BE MODIFIED BY OTHER PROGRAMMERS? • WILL ANY OF ITS HIDDEN INFORMATION BE NEEDED BY OTHER PROGRAMS? BROOKS - CHAPTER 15
NO SILVER BULLET IS THERE ANY ONE TECHNOLOGICAL ADVANCE OR SOFTWARE ENGINEERING TECHNIQUE THAT WILL SIGNIFICANTLY IMPROVE PRODUCTIVITY, RELIABILITY, OR SIMPLICITY? • OOP • UML • PYTHON • LINUX • AI • VB • AGILE • TQM BROOKS - CHAPTER 16
NO SILVER BULLET - REFIRED TWENTY YEARS LATER, BROOKS STILL INSISTS THAT THERE IS NO SILVER BULLET... ...BUT THERE MIGHT BE A FEW BRASS ONES! • OBJECT-ORIENTED DESIGN • DESIGN PATTERNS • SOFTWARE REUSE BROOKS - CHAPTER 17