Hacker News new | ask | show | jobs
by mikece 2194 days ago
When was the last time the functionality and scope of an application was defined BEFORE it was built (and didn't change before shipping)?

The longer I program the more I like small, simple apps that can be chained together to do useful things... and be completely re-written at a later time when the full needs of the company are actually understood. What makes that re-writing or re-architecting a lot easier is clear documentation and modeling of the system at a high level, who the actors are, and what the essential/primary, secondary, and tertiary functions are as well as giving a score that reflects how essential each is to the company's core business (eg: a login/auth system would rate very low unless your product or service is a login/auth system -- this is a component that can/should be outsourced so you can focus on what makes money for your company).

Write the app "just good enough to work and make money" but document the business as completely and clearly as possible with the assumption that at some point in the future a team that's new to the company could write a complete replacement of all of your software (which might just happen if you are successful enough to get a massive investment and need to rearchitect for future growth).