Programming
	Unix is written in C, is a big C program, comprised of many programs
	Unix Sys Admin is the mangement of these programs and its environment

Programming and computers are fun
	We are usually optomists (get things done quickly and not have problems)

Troubleshooting/Debugging
	Syntax rules (literally - both noun and verb)
	Dependence on other programs/modules
	Bugs are small and hard to find
	The last bugs are real hard to find and route out
	Some techniques and programs fail - destroy them

Good things take time
	Cost varies with the time and number of men, progress does not
	Men and months are interchangeable ONLY when a task can be
		partitioned amoung workers with NO communication needed
		between them.  Picking cotton is linear (more men, more cotton
		picked), programming is not.
	It takes 9 months to make a baby no matter how many women are
		assigned to the task
	If a task is partitioned but needs communication, the effort of 
		communication must be added to the total time to finish
	Training and communication add more time to a projects timeline
		n(n-1)/2: 3 people vs two - 3 times the communication
		4 people need 6 times more communication as do two
	Adding more men lengthens the process - not shortens it

Good programmers = good quality code and good speed
	Small projects - need a few good men
	Large projects - need many good men, but now have overhead of 
		communication and training
		Break up into small teams separated by functions/tasks

Specs and docs - do them
	Use centralized soft copies
	Keep them up to date
	Use the docs!

The tower of Babel
	It fell due to lack of communication (languages)
	They had: a clear mission, manpower, materials, technology

Size of programs
	Scope it out and spec it out
	Avoid scope creep (adding new functions before a release that are
		not part of the orginal/agreed-upon spec)

Throw away
	Get rid of unneeded functions
	Get rid of unneeded programs
	Modify and change whenever needed

Know your tools and use them
	Debugging, compiling, source control, modeling, etc

Keep to your milestones
	Do not miss a milestone
	If you do, know why you missed it and adjust EARLY before it ripples 
		and then cripples	

The Mythical Man-Month synopsis
So what is a mythical man-month anyway? Consider a moderately complex software application from the early microcomputer era, such as the primordial version of Lotus 1-2-3, Ashton-Tate dBASE, or Wordstar. Assume that such a program might take one very smart, highly-motivated, expert programmer approximately a year to design, code, debug, and document. In other words, 12 man-months. Imagine that market pressures are such that we want to get the program finished in a month, rather than a year. What is the solution? You might say, "get 12 experienced coders, divide up the work, let them all flog away for one month, and the problem will be solved. It's still 12 man-months, right?"
Alas, time cannot be warped so easily. Dr. Brooks observed, while he was managing the development of Operating System/360 (OS/360) in the early 1960's, that man-months are not -- so to speak -- factorable, associative, or commutative. 1 programmer * 12 months does not equal 12 programmers * 1 month. The performance of programming teams, in other words, does not "scale" in a linear fashion any more than the performance of multi-processor computer systems. He found, in fact, that when you throw additional programmers at a project that is late, you are only likely to make it more late. The way to get a project back on schedule is to remove promised-but-not-yet-completed features, rather than multiplying worker bees.
When you stop to think about it, this phenomenon is easy to understand. There is an inescapable overhead to yoking up programmers in parallel. The members of the team must "waste time" attending meetings, drafting project plans, exchanging EMAIL, negotiating interfaces, enduring performance reviews, and so on. In any team of more than a few people, at least one member will be dedicated to "supervising" the others, while another member will be dedicated to housekeeping functions such as managing builds, updating Gantt charts, and coordinating everyone's calendar. At Microsoft, there will be at least one team member that just designs T-shirts for the rest of the team to wear. And as the team grows, there is a combinatorial explosion such that the percentage of effort devoted to communication and administration becomes larger and larger.
"The Mythical Man-Month" is, of course, about substantially more than, well, man-months. Many other concepts and chapter titles found in the book have also made their way into computing jargon and folklore, such as "the second-system effect" and "ten pounds in a five-pound sack" and "plan to throw one away." Brooks also addresses design issues, interfaces, specifications, tool-building, and debugging techniques. He was an early proponent of cross-compiling and simulation (when the OS/360 project started, there were as yet no fully-functional implementations of the hardware).