Introduction280335(ProjectLead)4(TechnicalLead)(ProgramManager)Beta()Manager(ProductLead)5()()(usabilitystudies)6(visualfreeze)(codecomplete)(debugging)(goldenmasterdisk)781ChapterOne10e-mail11121314e-maile-mail(delegation)()15161718128027StatusMeeting(multi-teamproject)19208027e-mail()e-mail21FaxmanglerFrankFaxmanglerHubieHubiee-mail(bug)2223e-mail5050e-mail24WordSmasher20MS-DOSWindows25WorksWorksCodeViewWord26MS-DOSWindowsMS-DOSWindowsbug2027MS-DOSWindows28293020313233Mandelbrotplotter()(size)(speed)(robustness)(safety)34(testability)(maintainability)(simplicity)(reusability)(portability)bug(table-scanning)(logic-driven)()3536C(macro)(function)()bugCCinlineinlineinline37(snapdicision)38(InfoWorld)Mac(MacWEEK)3940412ChapterTwo2044(workingsmart,notworkinghard)(KevinTrudeau’sMegaMemory)45(qualitysystem)4615157747,48()MicrosoftExcel4932174232505152e-maile-maile-maile-maile-maile-maile-mail5e-mail53n5e-maile-maile-mail54()5556(attackplan)57()5880159100%gotogotogotogotogotogoto60gotogotogotogotogotogotogoto61gotogotogotogotogotogotogotogotogotogotogotogotogotogoto62gotogotogotogoto(McConnell)(CodeComplete)16goto63gotogoto(EdsgerDijkstra)(DonaldKnuth)goto(StructuredProgrammingwithgotoStatements)goto20(feedbackloop)6441(KTV)(overload)65()661(negativereinforcement)676869e-mail7071gotogoto723ChapterThree7430(workingonreaction)75(workproactively)WindowsWindowsNT101576MIPSAlphaHubiee-mailWorde-mailGraphics3MIPS3MIPS1010103GraphicsWord77GraphicsWordGraphicsWordforWindowsWord78WindowsMacintoshWordWordWordWord79WordWordWindows(code-swappingalgorithm)WordWordWordWord80debugger()(AndrewKoenig)C(CTrapsandPitfalls)CCdebugger81WordWordWordWordWord()82Windows(drop-downlistboxes)(scrollbars)83(hierarchicalmenu)WindowsMacintosh8485e-maile-mail868788Word8920WordWordWord2090919293Microsoft680x0(MacintoshPC)680x0C/C++FORTRANFORTRANFORTRANMacintoshFORTRANC/C++FORTRAN1.(frontend)(C/C++94FORTRAN)2.(optimizer)3.(backend)Macintosh80x86680x0680x080x86C/C++FORTRANPascal680x0C/C++FORTRANPascalFORTRANFORTRAN95%C/C++FORTRAN95FORTRANFORTRANMacintoshC/C++FORTRAN96MacintoshFORTRANFORTRANMacintoshFORTRANMacintoshFORTRANC/C++PascalMacintoshPascal97MacintoshPascalPascalPascalC/C++C/C++PascalFORTRANFORTRANFORTRANFORTRAN5%FORTRANMacintoshMacintoshPascalPascalFORTRANFORTRAN98FORTRANC/C++FORTRANC/C++FORTRANC/C++74799MicrosoftExcel(LAYOFFmacro)ExcelExcelExcel100101(HP)HP12c23102()1031WindowsMacintosh(MS-DOS)2020104MS-DOS10520MS-DOSWindowsMacintosh106WindowsExcel(clipboard)bugWindowsMacintoshExcel107ExcelExcel(programstyle)(namingconvention)108109(Usnet)CC++C++CCPascalC++CC++C++110C++CC++CCC++C++C++111112Word1131143ChapterThree7430(workingonreaction)75(workproactively)WindowsWindowsNT101576MIPSAlphaHubiee-mailWorde-mailGraphics3MIPS3MIPS1010103GraphicsWord77GraphicsWordGraphicsWordforWindowsWord78WindowsMacintoshWordWordWordWord79WordWordWindows(code-swappingalgorithm)WordWordWordWord80debugger()(AndrewKoenig)C(CTrapsandPitfalls)CCdebugger81WordWordWordWordWord()82Windows(drop-downlistboxes)(scrollbars)83(hierarchicalmenu)WindowsMacintosh8485e-maile-mail868788Word8920WordWordWord2090919293Microsoft680x0(MacintoshPC)680x0C/C++FORTRANFORTRANFORTRANMacintoshFORTRANC/C++FORTRAN1.(frontend)(C/C++94FORTRAN)2.(optimizer)3.(backend)Macintosh80x86680x0680x080x86C/C++FORTRANPascal680x0C/C++FORTRANPascalFORTRANFORTRAN95%C/C++FORTRAN95FORTRANFORTRANMacintoshC/C++FORTRAN96MacintoshFORTRANFORTRANMacintoshFORTRANMacintoshFORTRANC/C++PascalMacintoshPascal97MacintoshPascalPascalPascalC/C++C/C++PascalFORTRANFORTRANFORTRANFORTRAN5%FORTRANMacintoshMacintoshPascalPascalFORTRANFORTRAN98FORTRANC/C++FORTRANC/C++FORTRANC/C++74799MicrosoftExcel(LAYOFFmacro)ExcelExcelExcel100101(HP)HP12c23102()1031WindowsMacintosh(MS-DOS)2020104MS-DOS10520MS-DOSWindowsMacintosh106WindowsExcel(clipboard)bugWindowsMacintoshExcel107ExcelExcel(programstyle)(namingconvention)108109(Usnet)CC++C++CCPascalC++CC++C++110C++CC++CCC++C++C++111112Word1131144ChapterFour3e-mail()116117118COMDEXCOMDEX(Indiana,Kokomo)119201205121()()122123MandelbrotBetaBetaBetaBetaBetaMandelbrotBiorhythmMorphHubieBugControlProgrammer’sDatabaseFixIt!124Mandelbrot(assertion)125126()1(recurrentmeeting)12731e-maile-mail128e-maile-mail129e-maile-mail31301031311323133AnagramAnagramWordSmasherAnagramAnagramAnagram134135Anagrame-mail136AnagramAnagram20Anagram3Anagram137Anagram1381391405ChapterFive2Excel1421986MacintoshExcelMacintoshExcelMacintoshMacintoshExcelExcelExcel(10)143Excel1Excel144Excel145408040()e-mail146Excel4080()147e-maile-mail148e-mail149e-maile-mail150151152()80153ExcelExcelExcel154Excel155352e-mail156157Beta158()MacintoshC/C++(MacintoshC/C++crossdevelopmentsystem)80x86MC680x0MC680x0MC680x0(objectfile)(single-segment)159(multi-segment)80x86160Macintoshtest.cmakeMacintoshPCMacintoshMacintoshCPASCAL\pPASCALcall-backROMtrap4(long)80x86MC680x0Macintosh(startupcode)CPCMacintosh161(helloworld)()162163()1641656ChapterSix25(KatarinaWitt)(Calgary)2525168People-ware(TomDeMarco)(TimothyLister)1111125169()ExcelMacintosh170WindowsMaci