18. Don’t be a correctness bully Don’t be a correctness bully. We all know the type that is just, “that’s not the way you do that”. Don’t be a correctness bully. We all know the type that is just, “that’s not the way you do that”.
19. Worse is better, but it’s also how we got into this mess Worse really is better. But it’s also how we got into this mess. Worse really is better. But it’s also how we got into this mess.
20. Yellow At the start of this project, I talked about the title, Yellow, and its inspiration, Derek Jarman’s Blue, how that was born out of his illness. At the start of this project, I talked about the title, Yellow, and its inspiration, Derek Jarman’s Blue, how that was born out of his illness.
1. Introduction This book is born out of frustration. It’s common for men (especially men) my age to lament the decline of this or that. New inventions suck. Old inventions that were… This book is born out of frustration. It’s common for men (especially men) my age to lament the decline of this or that. New inventions suck. Old inventions that were…
2. It was great until it wasn’t In most organizations I have been exposed to around the world, bosses and supervisors still make all important decisions. The more important the decision, the more… In most organizations I have been exposed to around the world, bosses and supervisors still make all important decisions. The more important the decision, the more…
3. Try not to kill your software development system In spite of the fact that management is responsible for the system, or for the lack of the system, I find in my experience that few people in industry know what… In spite of the fact that management is responsible for the system, or for the lack of the system, I find in my experience that few people in industry know what…
4. How do you make good software? Good software isn’t a precondition for success in the software industry. Otherwise, we’d have more of it. Good software can be made well, every release successful, and… Good software isn’t a precondition for success in the software industry. Otherwise, we’d have more of it. Good software can be made well, every release successful, and…
5. Variability is poison to software development The key idea is the elimination of the virus of variability. The key lies in the improvement of process capability. This idea was taught widely during World War II and… The key idea is the elimination of the virus of variability. The key lies in the improvement of process capability. This idea was taught widely during World War II and…
6. Design practice requires experimentation Thus, the only measure of the value of design is its economic value. Our designs are not important because they are new, or because they are beautiful, or because they… Thus, the only measure of the value of design is its economic value. Our designs are not important because they are new, or because they are beautiful, or because they…
7. Intrinsic versus extrinsic innovation We’ve just gone over the role design has in product development: economically useful information generated through prototyping and testing. The technology used in the… We’ve just gone over the role design has in product development: economically useful information generated through prototyping and testing. The technology used in the…
8. Programming as product design So I think what happened is computing has turned into pop culture and the universities are not helping in general, at least not in the US.So, Cicero – anybody know a… So I think what happened is computing has turned into pop culture and the universities are not helping in general, at least not in the US.So, Cicero – anybody know a…
9. Research & taste The solution? Exposure hours. The number of hours each team member is exposed directly to real users interacting with the team’s designs or the team’s competitor’s… The solution? Exposure hours. The number of hours each team member is exposed directly to real users interacting with the team’s designs or the team’s competitor’s…
10. Programming as theory-building The building of the program is the same as the building of the theory of it by and in the team of programmers. During the program life a programmer team possessing its… The building of the program is the same as the building of the theory of it by and in the team of programmers. During the program life a programmer team possessing its…
11. The first Software Crisis In Europe alone there are about 10,000 installed computers — this number is increasing at a rate of anywhere from 25 per cent to 50 per cent per year. The quality of… In Europe alone there are about 10,000 installed computers — this number is increasing at a rate of anywhere from 25 per cent to 50 per cent per year. The quality of…
12. The agile reaction The Agile Manifesto is an immune response on the part of programmers to bad management. The document is an expression of trauma, and its intellectual descendants… The Agile Manifesto is an immune response on the part of programmers to bad management. The document is an expression of trauma, and its intellectual descendants…
13. The many kinds of software failures There was a human test driver behind the wheel, but video from the car’s dash cam published by SF Chronicle shows that they were looking down, not at the road, in the… There was a human test driver behind the wheel, but video from the car’s dash cam published by SF Chronicle shows that they were looking down, not at the road, in the…
14. Silver bullets But, as we look to the horizon of a decade hence, we see no silver bullet. There is no single development, in either technology or management technique, which by itself… But, as we look to the horizon of a decade hence, we see no silver bullet. There is no single development, in either technology or management technique, which by itself…
15. WTF do you mean when you say ‘framework’? One of the most common abstractions in software development is that of a framework. They dominate web development and are a growing part of app development as the… One of the most common abstractions in software development is that of a framework. They dominate web development and are a growing part of app development as the…
16. You need to study exemplary software I wrote earlier about the importance of developing taste. Anybody who works in software development needs to study software. It’s an essential vaccination against the… I wrote earlier about the importance of developing taste. Anybody who works in software development needs to study software. It’s an essential vaccination against the…
17. Check your needs Another important step when starting a new project is a list of needs in order of priority for each constituency. This is another step where software projects commonly… Another important step when starting a new project is a list of needs in order of priority for each constituency. This is another step where software projects commonly…
18. Understand the paradigms Even though paradigms are defined through practice – exemplary software – they can usually be explained more easily once they have matured. Once there are a few stable… Even though paradigms are defined through practice – exemplary software – they can usually be explained more easily once they have matured. Once there are a few stable…
19. Maturity, Complexity, & Layers You know, broadly, what kind of app you’re making. You have a number of exemplary apps that serve as your benchmark and reference. You are aware of your needs, the… You know, broadly, what kind of app you’re making. You have a number of exemplary apps that serve as your benchmark and reference. You are aware of your needs, the…
20. In the end, what else is there but work? In software development, it’s a struggle not to get caught in the pop culture current of the day. Platform developers are anchored by their work. Even if an established… In software development, it’s a struggle not to get caught in the pop culture current of the day. Platform developers are anchored by their work. Even if an established…
21. The Collapse of Complex Companies A society has collapsed when it displays a rapid, significant loss of an established level of sociopolitical complexity. The term ‘established level’ is important. To… A society has collapsed when it displays a rapid, significant loss of an established level of sociopolitical complexity. The term ‘established level’ is important. To…
22. Failure demand: when mistakes improve your metrics You are exhausted. It’s shipped. Good work. The new widget does the job. You are exhausted. It’s shipped. Good work. The new widget does the job.
23. Disruptive Innovations: Clayton Christensen’s mistake We are conditioned by society to think about the world in terms of being. We are conditioned by society to think about the world in terms of being.
24. Supporters and Subscribers It’s long been a tradition in publishing to rely on the financial support of subscribers to help make a book a reality. It’s long been a tradition in publishing to rely on the financial support of subscribers to help make a book a reality.
25. Further reading This book is little more than a primer on how to apply systems-thinking to software development. This book is little more than a primer on how to apply systems-thinking to software development.
26. References The full reference list for the book "Out of the Software Crisis" The full reference list for the book "Out of the Software Crisis"
1. The Intelligence Illusion In the interest of impartiality, I didn’t use Generative AI in any way to while making this book. In the interest of impartiality, I didn’t use Generative AI in any way to while making this book.