Principles of Collaborative Automation

(this is a transcription of the talk by the same name. Here is a video.) Collaboration is crucial in software teams – and not only among people. We need our software, our tools, and our automations to collaborate as well. But what does that mean? I have four prerequisites for you here, and then four precautions …

Read morePrinciples of Collaborative Automation

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