the future of software: complexity

The other day in Iceland, a tiny conference on the Future of Software Development opened with Michael Feathers addressing a recurring theme: complexity. Software development is drowning in accidental complexity. How do we fight it? he asks. Can we embrace it? I ask. Complexity: Fight it, or fight through it, or embrace it? Yes. Here, …

Read morethe future of software: complexity

Collective problem solving in music, art, science, and software

Or: the Origins of Opera and the Future of Programming. (video, or TL;DR, or abstract) At the end of this post is an audacious idea about the present and future of software development. In the middle are points about mental models: how important and how difficult they are. But first, a story of the origins …

Read moreCollective problem solving in music, art, science, and software

Not “why”

“Why” is a terrible word because it’s overloaded. Often when we ask “why” we mean “for what purpose” — we’re looking for intention. In the bigger questions (bigger than one person’s decision), that doesn’t make sense. “Why do we let people buy those dangerous guns?”In a system the size of our country, there is no “for what …

Read moreNot “why”