Pondering the Possibilities Through the Lens of Time
I’ve been working on large scale software for more than three decades, first in telecom, and most recently in banking. While I love developing software, I find the environment in which we get to work is often … unsatisfying. Over the years I have experienced many ideas (typically technical practices, but sometimes organizational as well) that have clearly been exceptionally wonderful. When we find those things, we carry them with us to the next project, accreting good ideas like snails accumulating camouflage.
These blog postings were mostly responses to requests from people who are struggling in those unsatisfying environments. While I’m not comfortable with self promotion, enough people have asked me for these over the years that it’s just easier to post them.
My desire is to create an awesome environment for developing software, one that unlocks the potential in our developers and our organization. An environment that is both highly productive and genuinely fun to work in.
Scaling adds an additional dimension of complexity. When I research for papers that talk about e.g. scrum at scale, people seem to think working with 10 teams is large. My idea of scale is typically a product with ~1,500 developers. That really pushes the boundaries of many of the ideas out there, and makes one really, really appreciate the significance of the organizational transformation necessary to make the necessary changes at that scale. It’s not just about technical practices.