Download presentation
Presentation is loading. Please wait.
Published byAmy Ryan Modified over 9 years ago
1
CSC 354 – Software Engineering, Spring 2013, Week 2 Mythical Man-Month Ch. 1-5 Tar Pit, Mythical Man-Month, Surgical Team, Aristocracy / Democracy & System Design, The Second-System Effect
2
1. The Tar Pit The Programming Systems Product (p. 5) Program -> Programming System >= 3x cost Interfaces, system integration Interfaces for plug-ins on extensible systems Extension language integration for interpreted systems Program -> Programming Product 3x cost Generalization, testing, documentation, maintenance -> Programming Systems Product >= 9x cost
3
The Joys of the Craft As the child delights in the mud pie, so the adult enjoys building things, especially things of her / his own design. There is the pleasure of making things that are useful to other people. Fashioning complex puzzle-like objects of interlocking moving parts and watching them work. The joy of always learning. The delight of working in such a tractable (malleable) medium.
4
The Woes of the Craft One must perform perfectly. Other people set the objectives and furnish the information. Quality may be constrained by the need to use other people’s code libraries. Finding nitty little bugs is grunt work. The fix & re-test cycle can drag on and on. Many systems start to become obsolete upon (or before) completion.
5
2. The Mythical Man-Month Techniques of estimating poorly developed. Estimating confuses effort with progress. Poor managers promise the customers unrealistic delivery dates / feature sets (mine). Gutless estimating Schedule progress is poorly monitored. Natural response is to add staff. Like dowsing a fire with gasoline.
6
The Mythical Man-Month (ctd.) Optimism Creativity: Idea, Implementation, Interaction The Man-Month Cost varies with staff count X time. Progress does not. Communication costs: Training & Intercommunication Systems Test Sequential constraints on component debugging & system test Brooks: 1/3 planning, 1/6 coding, ¼ component & early system test, ¼ system test of all components in hand
7
Regenerative Schedule Disaster What to do when project slippage begins? Assume that the task must be done on time. Only the first part was underestimated. Add some staff. (no) Assume that the task must be done on time. The entire project was underestimated. Add even more staff. (no) Reschedule “Take no small slips.” Trim the task Delivering some useful capabilities on time may be useful.
8
Brook’s Law Adding manpower to a late software project makes it later.
9
3. The Surgical Team It’s all about Conceptual Integrity. Integrated architecture from one or a few minds. 10:1 programmer skill differential 5:1 program speed / size efficiency differential Small, sharp teams are too slow (serial) for big systems Use Mill’s Proposal with hierarchical teams. Teams: http://faculty.kutztown.edu/parson/spring2013/csc354 spring2013questions.pdf http://faculty.kutztown.edu/parson/spring2013/csc354 spring2013questions.pdf
10
4. Aristocracy, Democracy & System Design Conceptual integrity is the most important consideration in system design. 1. How is it achieved? 2. Does it imply an elite and a horde of implementers? 3. How to keep the architects from drifting into the costly / impossible blue? 4. How do the details get communicated?
11
How is it achieved? The architect must have an underlying conceptual model for the system – That is the architecture! The architect must bring the architecture into the world. Formal or existing domain models help. The architect must have expertise in realization of architecture, i.e., implementation.
12
Does it imply an elite & a horde of implementers? Creative design is hierarchical. – Creative activities: architecture, implementation, realization Architect must listen to useful feedback. – Architect & team leaders must not “nickel & dime” team members to death. It creates friction. Implementers must honor the architecture. – Architects must be benevolent dictators.
13
How to keep an architect from drifting into the blue. Architects are seasoned designers & implementers. – They should continue keeping their hands dirty. Culture must reward technical expertise. – Use a dual career ladder to avoid diverting all expertise into management. Architect’s pay is tied to realistic architecture. Architect’s pay is tied to successful architecture.
14
How do details get communicated? Hierarchy – Hierarchical teams with well-aligned leaders Simple, direct writing & documentation – Illustrate well Cordial interpersonal relations – Again, don’t “nickel & dime.” Productive meetings – Don’t schedule meetings for meetings’ sake. – Many long meetings decrease signal : noise ratio.
15
5. The Second System Effect There is a tendency to try to jam everything that didn’t make it into the first system into the second system. Use self-discipline. Use approaches that worked in the first. Newer methodologies are incremental & even continual. Build something that runs and that you can test every day.
16
Our course teams? Dr. Parson is the System Architect. Individual team leaders are responsible for translating architectural intent to team actions. – I will join any team that starts spinning its wheels. We are modeling a startup in the sense that our customers are planned, not current. – I have experience with musical games-in-planetarium. We will employ aspects of newer methodologies as the semester progresses. – We will also use tools to help communication, documentation.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.