CSC 354 – Software Engineering, Spring 2013, Week 2
Mythical Man-Month Ch. 1-5Tar Pit, Mythical Man-Month, Surgical Team,
Aristocracy / Democracy & System Design, The Second-System Effect
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
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.
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.
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.
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
Regenerative Schedule Disaster
Brook’s Law
Adding manpower to a late software project makes it later.
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/csc354spring2013questions.pdf
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?
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.
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.
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.
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.
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.
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.
Top Related