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

Tradeoffs in Coordination Among Teams

The other day in Budapest, Jez Humble and I wondered, what is the CAP theorem for teams? In distributed database systems, the CAP theorem says: choose two of Consistency, Availability, and Partitioning — and you must choose Partitioning. Consider a system for building software together. Unless the software is built by exactly one person, we …

Read moreTradeoffs in Coordination Among Teams

Post-agile: microservices and heads-up development

Notes from Craft Conference 2015, Budapest. Craft conference was all about microservices this year.[1] Yet, it was about so much more at the same time — even when it was talking about microservices. lobby of the venue. Very cool, and always packed Dan and I went on about microservices in our opening keynote,[2] about how it’s not …

Read morePost-agile: microservices and heads-up development

Causality: tougher than it looks, but we can take it on

We like to take a hunk of data, graph one factor against another, demonstrate correlation, and infer causality. This naive form of analysis is appealing in its simplicity, but it doesn’t cut it in the real world. With Big Data, we can identify correlation out the wazoo, but it’s time to get way more sophisticated …

Read moreCausality: tougher than it looks, but we can take it on