Download Effective Communication in Large Software Projects: Avoiding Second-System Effect & Man-Mo and more Study notes Software Engineering in PDF only on Docsity! Lecture 24 The Mythical Man-Month (Part 2) Kenneth M. Anderson Foundations of Software Engineering CSCI 5828 - Spring Semester, 2000 April 13, 2000 © Kenneth M. Anderson, 2000 2 Today’s Lecture • Discuss additional issues from The Mythical Man-Month – The Second-System Effect – Passing the Word – Why Did the Tower of Babel Fail? – Calling the Shot April 13, 2000 © Kenneth M. Anderson, 2000 3 The Second-System Effect • An engineer is careful in designing a system the first time – He or she realizes that they are working in uncharted territory – Extraneous features get delayed until… • The Second System! – Now, you’ve got some experience and you want to throw everything into the design! April 13, 2000 © Kenneth M. Anderson, 2000 4 Symptoms of Second-System Effect • Functional Embellishment – to an unnecessary degree • Optimizations to obsolete functionality – OS/360 linker had sophisticated program overlay functionality – The problem: the application architecture no longer depended on overlays! • Side-effect: linker is slower than it otherwise would have been; slower than the compilers whose usage it was meant to reduce! April 13, 2000 © Kenneth M. Anderson, 2000 5 How to avoid it? • Must employ extra self-discipline – avoid functional ornamentation – be aware of changes in assumptions – strive for conceptual integrity • How do manager’s avoid it? – Insist on a senior architect with more than two systems under his or her belt April 13, 2000 © Kenneth M. Anderson, 2000 6 Passing the Word • Communicating Design Decisions – Written Specifications • “The Manual” – Answers questions – Conceptual Integrity – Demands high precision – Formal Definitions • Natural language is not precise • Formal notations have been developed to help April 13, 2000 © Kenneth M. Anderson, 2000 7 Formal Definitions • Notations help express precise semantics – However, natural language is often needed to “explain” the meaning to the uninitiated • What about using an implementation? – Benefits: Precise specification – Disadvantages: Over-prescription, potential for inelegance, may be modified! April 13, 2000 © Kenneth M. Anderson, 2000 8 Communicating Design, continued • Meetings – Weekly half-day meetings • Problems and change proposals distributed beforehand • Chief architect has final say – Annual “Supreme Court” sessions • Typically lasts two weeks • Agenda typically had 200 items!