Hamilton's Gift to Software Development

I've watched the show "Hamilton" several times now - once live - and I would thoroughly recommend it, if you haven't seen it already! But I'm a little confused - I'm not sure if this is an inspirational story about influencing the birth of a new country, or a cautionary tale about what can happen if you stand for something with no regard for other people's feelings. Hamilton's legacy made the USA into much of the financial powerhouse that it is today, but in the course of that, his son was shot and finally Hamilton himself was also shot in a duel, leaving his wife to promote much of his ideas and writings.

So what's that got to do with software development?

There is a recurring line in the show - "why do you write like you're running out of time?" - and the man wrote. A lot. Out of those writings he built a vision of how an entire country could operate financially - how to handle the debts that this country was founded with, and how to establish it on the world stage. Can you imagine the number of moving parts involved in that? Even with only the original 13 colonies, that's an undertaking, but to build the foundation for something that's grown into 50 states and over 300 million people - if you had to write the software for all of that, where would you start?

So that's Hamilton's contribution - write it out!

As developers, it's far too easy, and far too common for us to jump straight into the code - even on something relatively complex - and we start building things out. Then the further down that path we go, the harder it becomes to backtrack and refactor our code, so we end up writing even more complex code to work around the issues that we created earlier. Tell me you've never experienced this... - I know I have.

This is of course one of the features in JIRA - each large "chunk" of functionality is an Epic, which is broken down into user stories, and then each story has it's own tasks and sub tasks. Each of those tickets then has it's own description, defining exactly what should be done, how things are now and how they will be afterwards, and how to test the results. It's very tempting to just put a title on each of these, but if you take that little extra time to write up some details on each one, you can save HOURS later on in the project - just because you have a plan.

When the deadline is tight and the pressure is on, it's too easy to just throw something together and get it out there. When you take a few minutes to plan, although it feels like you're wasting time, you're actually saving a lot of problems later (when the deadline will be even tighter!). Hey, it worked for the USA, even if it didn't necessarily work out for Hamilton!