Note: Supplemental materials are not guaranteed with Rental or Used book purchases.
Purchase Benefits
What is included with this book?
Preface | p. xv |
The Nature of Software and the Laws of Software Process | p. 1 |
A Brief History of Knowledge | p. 1 |
The Characteristics of Knowledge-Storage Media | p. 3 |
The Nature of Software Development | p. 4 |
The Laws of Software Process | p. 5 |
The Five Orders of Ignorance | p. 8 |
The Laws of Software Process | p. 10 |
The First Law of Software Process | p. 11 |
The Corollary to the First Law of Software Process | p. 11 |
Explanation and Observations | p. 11 |
The Reflexive Creation of Systems and Processes | p. 11 |
Explanation and Observations | p. 12 |
The Lemma of Eternal Lateness | p. 12 |
Explanation and Observations | p. 12 |
The Second Law of Software Process (see also The Rule of Process Bifurcation) | p. 13 |
Explanation and Observations | p. 13 |
The Rule of Process Bifurcation | p. 13 |
Explanation and Observations | p. 13 |
The Dual Hypotheses of Knowledge Discovery | p. 13 |
Explanation and Observations | p. 14 |
Armour's Observation on Software Process | p. 14 |
Explanation and Observations | p. 14 |
The Third Law of Software Process (also known as the Footwear Manufacturer's Minor Dependent's Law) | p. 15 |
Explanation and Observations | p. 15 |
The Twin Goals of Optimal Termination | p. 15 |
Explanation and Observations | p. 15 |
Summary | p. 16 |
The Purpose of Process | p. 19 |
Types of Teams | p. 20 |
Tactical | p. 20 |
Problem Solving | p. 21 |
Creative | p. 22 |
Learning | p. 22 |
Software Teams Are All Types at the Same Time | p. 23 |
A Range of Unknowns, a Range of Processes | p. 24 |
Inventing Processes | p. 25 |
The Purpose of Process | p. 26 |
The Problems of Process | p. 27 |
The Usefulness Dilemma | p. 27 |
The Process Value Paradox | p. 30 |
Using Systems to Build Processes | p. 32 |
Other Problems with Process | p. 33 |
How Do We Get Process? | p. 33 |
Who Devises Processes? | p. 34 |
Where Do We Put Process? | p. 35 |
The Purpose of Process | p. 36 |
Summary | p. 36 |
The Meaning of Methodology | p. 39 |
Third Order of Ignorance Processes | p. 40 |
The Job of Methodology | p. 42 |
A Test System | p. 43 |
The Maturity of Testing | p. 48 |
Summary | p. 48 |
The Logic of Life Cycles | p. 51 |
The Assembly Line | p. 51 |
Shooting Down Zeppelins | p. 57 |
Shooting Down Jet Planes | p. 60 |
The True Life Cycle | p. 62 |
A More-Complex, Generalized Model | p. 67 |
Range of Unknown Unknowns | p. 67 |
Knowledge Variability with Time | p. 67 |
Design Dependence of Knowledge | p. 68 |
Variable Rate of Learning | p. 69 |
All Variables | p. 70 |
Summary | p. 71 |
Of Methods and Models and Minds | p. 73 |
Models of Convention | p. 73 |
Models of Numbers | p. 75 |
Counting | p. 77 |
Chunking | p. 79 |
The Physical Nature of Models | p. 85 |
The Logical Nature of Models | p. 88 |
Map onto Problem and Solution Space | p. 90 |
Requirements | p. 91 |
Interfaces | p. 93 |
Methods and Models | p. 93 |
Minds | p. 94 |
Summary | p. 95 |
The Advent of Agile | p. 97 |
It Has always Been Agile | p. 97 |
Test Phases with Embedded Life Cycles and Test Phases | p. 99 |
The "Construct Phases" also Have Feedback | p. 100 |
The Feedback Activities Generate Feedback Activities | p. 101 |
The Problems of "Big" Process | p. 102 |
Agile Methods | p. 104 |
Change Is Expected | p. 104 |
Feedback Is Managed | p. 104 |
Stepwise Development | p. 104 |
Human Factors | p. 105 |
Customer-Centric | p. 106 |
Agile Is Event Driven | p. 106 |
Extreme Programming (XP) | p. 109 |
The Planning Game | p. 109 |
Small Releases | p. 110 |
The Use of Metaphor | p. 110 |
Simple Design | p. 110 |
Refactoring | p. 111 |
Testing | p. 112 |
Pair Programming | p. 113 |
Collective Ownership | p. 114 |
Continuous Integration | p. 114 |
Intentionally Limited Work Week | p. 114 |
On-Site Customer | p. 114 |
Coding Standards | p. 115 |
Code Science | p. 115 |
Crystal Methods | p. 116 |
Crystal Clear | p. 117 |
Scrum | p. 118 |
Pre-Sprint | p. 118 |
The Sprint | p. 119 |
Post-Sprint | p. 119 |
Dynamic Systems Development Method (DSDM) | p. 119 |
DSDM Occurs in a Collaborative Environment between All Stakeholders | p. 120 |
Feature-Driven Development (FDD) | p. 121 |
Lean Development | p. 122 |
Adaptive Software Development (ASD) | p. 123 |
Speculate | p. 124 |
Collaborate | p. 124 |
Learn | p. 125 |
Why Agile? Why Now? | p. 125 |
Summary | p. 133 |
Agile and the Orders of Ignorance | p. 135 |
Agile and the Orders of Ignorance | p. 136 |
Subdividing the Orders of Ignorance | p. 138 |
Zeroth Order Ignorance (0OI): I have 0OI when I (provably) know something ... That is, I have the answer | p. 139 |
0OI--Fully Factored Knowledge: The Self-Actualized Answer | p. 139 |
1/3OI--Applying the Factoring Knowledge: Switch It on | p. 140 |
2/3OI--Get the Factoring Knowledge: How to Switch It on | p. 140 |
First Order Ignorance (1OI): I have 1OI when I do not know something | p. 140 |
1OI: We've Got the Question, Now Get the Answer: Just Gimme the Facts | p. 141 |
1.1/3OI: We've Got the Question but How to Get the Answer: Who to Ask? | p. 141 |
1.2/3OI: We've Kind of Got the Question but Where's the Ballpark? | p. 141 |
Second Order Ignorance (2OI): I Have 2OI When I Don't Know That I Don't Know Something | p. 141 |
2OI--General, Unintentional Lack of Awareness: Maybe We Don't Know | p. 142 |
2.1/3OI--Nonculpable Lack of Awareness: Blissful Ignorance | p. 142 |
Third Order Ignorance: Lack of Process | p. 143 |
3OI: General Lack of Process | p. 143 |
3.1/3OI: Unintentional Process Ignorance | p. 143 |
3.2/3OI: Intentional Process Ignorance | p. 143 |
Fourth Order Ignorance: Meta-Ignorance | p. 144 |
Agile and Zeroth Order Ignorance | p. 145 |
Identical Repetition | p. 148 |
Minor Variation | p. 148 |
Major Variation | p. 149 |
Contextual Variation | p. 149 |
Operational Variation | p. 149 |
Agile and First Order Ignorance | p. 151 |
Agile and Second Order Ignorance | p. 153 |
Agile and Third Order Ignorance | p. 153 |
Agile and the Fourth Order of Ignorance | p. 157 |
Summary | p. 159 |
The Future of Software Development | p. 161 |
The Execution of Knowledge | p. 162 |
The Demise of "Software Engineering" | p. 163 |
The End of Code | p. 166 |
The Death of CASE, the Death of Method | p. 169 |
The Incubator of Knowledge Engineering | p. 172 |
Model Based | p. 172 |
Anthropomorphic Models | p. 173 |
Programmable Interface | p. 174 |
Variable Rule Based | p. 176 |
Executable | p. 176 |
Translatable | p. 177 |
Domain Specific | p. 179 |
Object Oriented | p. 180 |
Domain Variable | p. 180 |
Domain Interdependent | p. 180 |
Model Interdependent | p. 180 |
Meta-Models and Meta-Languages | p. 181 |
A Radically Different Project Setup | p. 181 |
Software Development as an Educational Activity | p. 187 |
How Do We Train People? | p. 189 |
Levels of Learning | p. 190 |
How Do We Learn Most Efficiently for this System? | p. 191 |
Controlled Failure | p. 193 |
The Project | p. 194 |
Praveen's Morning | p. 195 |
Mayank's Morning | p. 196 |
Hafsa's Morning | p. 198 |
Maria's Morning | p. 199 |
Jill's Morning | p. 200 |
The Meeting | p. 201 |
Summary | p. 203 |
The Five Knowledge Storage Media | p. 205 |
Knowledge | p. 205 |
A Brief History of Knowledge Storage | p. 208 |
DNA | p. 208 |
Brains | p. 210 |
Hardware | p. 210 |
Books | p. 213 |
Software | p. 213 |
The Characteristics of the Knowledge Storage Media | p. 215 |
DNA | p. 217 |
Persistency | p. 217 |
Update Frequency | p. 218 |
Intentionality | p. 218 |
Self-Modification | p. 218 |
Modify Surroundings | p. 218 |
Brain | p. 219 |
Persistency | p. 219 |
Update Frequency | p. 219 |
Intentionality | p. 219 |
Self-Modification | p. 219 |
Modify Surroundings | p. 219 |
Hardware Design | p. 219 |
Persistency | p. 219 |
Update Frequency | p. 220 |
Intentionality | p. 220 |
Self-Modification | p. 220 |
Modify Surroundings | p. 220 |
Books | p. 220 |
Persistency | p. 220 |
Update Frequency | p. 220 |
Intentionality | p. 221 |
Self-Modification | p. 221 |
Modify Surroundings | p. 221 |
Software | p. 221 |
Persistency | p. 221 |
Update Frequency | p. 221 |
Intentionality | p. 221 |
Self-Modification | p. 221 |
Modify Surroundings | p. 222 |
Building on Knowledge | p. 222 |
Brains, Books, and Software | p. 223 |
Summary | p. 225 |
The Five Orders of Ignorance | p. 227 |
A Walk in the Woods | p. 232 |
A Path Less Traveled | p. 233 |
Tracks | p. 233 |
Prototyping | p. 234 |
The Expectation of Product | p. 235 |
Kinds of Knowledge | p. 235 |
The Five Orders of Ignorance | p. 236 |
Zeroth Order Ignorance (0OI): Lack of Ignorance | p. 236 |
First Order Ignorance (1OI): Lack of Knowledge | p. 236 |
Second Order Ignorance (2OI): Lack of Awareness | p. 236 |
Third Order Ignorance (3OI): Lack of Process | p. 237 |
Fourth Order Ignorance (4OI): Meta Ignorance | p. 237 |
The Five Orders of Ignorance in Systems Development | p. 237 |
0OI | p. 238 |
1OI | p. 238 |
2OI | p. 238 |
3OI | p. 238 |
4OI | p. 239 |
The 3OI Cycle | p. 239 |
The Inability to Measure Knowledge | p. 241 |
Summary | p. 242 |
Index | p. 245 |
Table of Contents provided by Ingram. All Rights Reserved. |
The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.
The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.