The Seven Righteous Fights (Rubyconf, 2015)
Usually we think of compound interest as what adds magically to our retirement or makes our student loans last forever. But there is also a compound interest of technical debt, where a project is made harder and more expensive because of early “cost-saving” choices.
I think it’s empowering for developers and other people involved in the inception of a project to have tools for making the project better long-term.
The seven things I think should be considered very early in development are:
- Localization. Are you ever planning on selling this to someone in another country?
- Security. Don’t be the organization that has to pay someone for disaster PR. Building in security early saves you a bunch of time and user churn later.
- Extensibility. What makes you so sure this API will always be internal?
- Documentation. People do not buy software solely based on Powerpoints. You need public docs. The docs have to be more useful than Stack Overflow.
- Affordance. UI is not a word. The microtext matters.
- Acceptance. Have you shown this to any actual humans who are like the users?
- Accessibility. We all use computers different ways. Does your software allow that?
I expect this talk will be relevant to both senior people working on leading project teams, and empowering for juniors who don’t have a structure for critiquing usability problems. I want people to leave with an understand of how small changes in the initial trajectory of a project can lead to greatly improved outcomes.