The notion of continuous improvement is not a new one, and yet there are so many aspects of software production that go unchanged, even as they cause us pain.
Sometimes there are significant barriers to making changes because these systems are centralised. Making a change to the build tool will affect everyone which means we need to come to a consensus about what should change. So long as there’s disagreement about what should change, we get trapped in endless bikeshedding, bickering about small details instead of making small improvements that add up to big benefits.
What if, instead of having to convince everyone else on your team to make a change, you could just improve the way you work?
Say you want to automatically fix a mistake you keep making. With Atomist, you could create an autofix that notices the mistake and just fixes it for you. Hooray! Now when I make that silly mistake, I don’t have to break my flow to go fix it manually. The fix just… happens.
What if it was easy to share your solution to your one small problem with other people so they could also autofix their mistakes? You only have to write the code to autofix things once, and everyone can just use that method and get on with doing other things. Why reinvent the wheel?
Instead of trying to fix everything globally all at once, we can make small, incremental improvements to our own lives and then share them with people who have similar problems. If others don’t need what we’ve built, that’s fine, they don’t have to use it. But if you’ve built something that would help me and all my friends, it’s easy to use Atomist as a lever that magnifies your small amount of work into a big benefit for all of us.
We don’t need to change the world overnight. We can just tidy one little corner of our habitat today and make life just that little bit easier. And gradually, each little tweak, fix, enhancement, and tool adds to the system and everything gets better. Piece by piece.
And one day, who knows? We might have changed the world after all.