Introduction. The Best of Times, the Worst of Times.
The Purpose of This Book.
How This Book Is Organized.
What I've Learned Since 1999.
Who Should Read This Book.
Toward Professional Software Development.
Software Engineering Profession Web Site.
1. Wrestling with Dinosaurs.
2. Fool's Gold.
Moving the Block.
Stone Blocks and Software.
Code-and-Fix Development.
Focus on Quality.
Some Fool's Gold Is Silver.
Software Isn't Soft.
How Fool's Gold Pans Out.
3. Cargo Cult Software Engineering.
Software Imposters.
Cargo Cult Software Engineering.
The Real Debate.
4. Software Engineering, Not Computer Science.
“Is” vs. “Should” .
Engineering vs. Science.
Beyond the Buzzword.
The Right Questions.
5. Body of Knowledge.
Essence and Accident.
Defining a Stable Core.
Software Engineering's Body of Knowledge.
Planting a Stake.
6. Novum Organum.
Profession Defined.
In Search of a Software Engineering Profession.
Through the Pillars.
7. Orphans Preferred.
The Meyers-Briggs Type Indicator.
MBTI Results for Software Developers.
Personality Characteristics of Great Designers.
Total and Absolute Commitment.
Software Demographics.
Education.
Job Prospects.
Programming Heroes and Ball Hogs.
Cult of Personality.
8. Raising Your Software Consciousness.
Can't Get No Satisfaction.
Love the One You're With.
Are You Experienced?
9. Building the Community.
10. Architects and Carpenters.
Job Stratification.
Job Specialization.
Team Specializations.
Time Will Tell.
11. Programmer Writing.
12. Software Gold Rushes.
Software Gold Rushes.
Post-Gold Rush Development.
The Sense and Nonsense of Gold Rush Economics.
Scaling Up and Scaling Down.
Back to the Gold Rush.
13. Business Case for Better Software Practices.
State of the Practice.
Detailed Benefits of Improved Software Practices.
ROIs for Selected Practices.
Insights from Software Estimation.
Indirect Benefits of Improved Software Practices.
A View of the Best.
Challenge Is Organizational.
The Last Great Frontier.
Ten Tough Questions.
14. Ptolemaic Reasoning.
Overview of SW-CMM.
Moving Up.
All the Risk You Can Handle.
Who Uses the SW-CMM?
Soul-Less Software Development.
Serious Commitment.
Ratings for Organizations.
Form and Substance.
15. Quantifying Personnel Factors.
Personnel Factors.
Low-Productivity Programmers.
Physical Environment.
Motivation.
Staff Seniority.
Bottom Line.
16. Construx's Professional Development Program.
Construx Knowledge Areas.
Capability Levels.
Professional Development Ladder Levels.
Ladder-Based Career Progression.
CKA Requirements at Different Capability Levels.
Lessons Learned from the Professional Development Ladder.
Benefits of the Professional Development Ladder.
Using the Ladder Outside Construx.
17. Engineering a Profession.
Need for Engineering.
Engineering and Art.
Maturation of Engineering Disciplines.
A Science for Software Development.
The Call of Engineering.
18. Hard Knocks.
Development of Professional Engineers.
First Steps.
Accreditation.
Software Engineering or Software Engineering?
Polishing the Badge.
Some Perspective.
19. Stinking Badges.
Certification.
Licensing.
Can Software Engineers Be Licensed?
Is Licensing a Bad Idea?
Bootstrap Licensing.
Your Stake.
Earning the Badge.
Three Paths.
Stinking Badges or an Iron Ring?
20. The Professional's Code.
A Code for Coders.
Benefits of the Code of Ethics.
Coming of Age.
21. Alchemy.
Why Technology Transfer Is Needed.
Diffusion of Innovation.
The Chasm.
Some Tough Questions.
Where's the Risk?
County Extension Agents.
The Humbling Nature of Progress.