| | | Copyright |
| | | Acknowledgments |
| | | 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 |
| | | | Notes |
|
| | | Part One. The Software Tar Pit |
| | | | Chapter One. Wrestling with Dinosaurs |
| | | | Notes |
|
| | | | Chapter Two. 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 |
| | | | Notes |
|
| | | | Chapter Three. Cargo Cult Software Engineering |
| | | | Software Imposters |
| | | | Cargo Cult Software Engineering |
| | | | The Real Debate |
| | | | Notes |
|
| | | | Chapter Four. Software Engineering, Not Computer Science |
| | | | "Is" vs. "Should" |
| | | | Engineering vs. Science |
| | | | Beyond the Buzzword |
| | | | The Right Questions |
| | | | Notes |
|
| | | | Chapter Five. Body of Knowledge |
| | | | Essence and Accident |
| | | | Defining a Stable Core |
| | | | Software Engineering's Body of Knowledge |
| | | | Planting a Stake |
| | | | Notes |
|
| | | | Chapter Six. Novum Organum |
| | | | Profession Defined |
| | | | In Search of a Software Engineering Profession |
| | | | Through the Pillars |
| | | | Notes |
|
|
| | | Part Two. Individual Professionalism |
| | | | Chapter Seven. 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 |
| | | | Notes |
|
| | | | Chapter Eight. Raising Your Software Consciousness |
| | | | Can't Get No Satisfaction |
| | | | Love the One You're With |
| | | | Are You Experienced? |
| | | | Notes |
|
| | | | Chapter Nine. Building the Community |
| | | | Notes |
|
| | | | Chapter Ten. Architects and Carpenters |
| | | | Job Stratification |
| | | | Job Specialization |
| | | | Team Specializations |
| | | | Time Will Tell |
| | | | Notes |
|
| | | | Chapter Eleven. Programmer Writing |
| | | | Notes |
|
|
| | | Part Three. Organizational Professionalism |
| | | | Chapter Twelve. 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 |
| | | | Notes |
|
| | | | Chapter Thirteen. 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 |
| | | | Notes |
|
| | | | Chapter Fourteen. 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 |
| | | | Notes |
|
| | | | Chapter Fifteen. Quantifying Personnel Factors |
| | | | Personnel Factors |
| | | | Low-Productivity Programmers |
| | | | Physical Environment |
| | | | Motivation |
| | | | Staff Seniority |
| | | | Bottom Line |
| | | | Notes |
|
| | | | Chapter Sixteen. 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 |
| | | | Notes |
|
|
| | | Part Four. Industry Professionalism |
| | | | Chapter Seventeen. Engineering a Profession |
| | | | Need for Engineering |
| | | | Engineering and Art |
| | | | Maturation of Engineering Disciplines |
| | | | A Science for Software Development |
| | | | The Call of Engineering |
| | | | Notes |
|
| | | | Chapter Eighteen. Hard Knocks |
| | | | Development of Professional Engineers |
| | | | First Steps |
| | | | Accreditation |
| | | | Software Engineering or Software Engineering? |
| | | | Polishing the Badge |
| | | | Some Perspective |
| | | | Notes |
|
| | | | Chapter Nineteen. 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? |
| | | | Notes |
|
| | | | Chapter Twenty. The Professional's Code |
| | | | A Code for Coders |
| | | | Benefits of the Code of Ethics |
| | | | Coming of Age |
| | | | Notes |
|
| | | | Chapter Twenty-One. 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 |
| | | | Notes |
|
| | | | About the Author |
| | | | Software Engineering Profession Web Site |
|