Ask HN: How do you keep a record of your application's features?

I'm building my first SaaS and am finding that there are many little features and behaviors that I'm adding, in order to satisfy a subset of customers (and myself!). My worry is that any attempt to refactor or rewrite code will lose some of this functionality down the cracks. How do y'all manage this? Do you keep a list somewhere of every feature and its behavior? Any advice from people who have done this before?

  • A basic practice of software engineering is to put every change request into an issue tracking system and then put the id's of the changes into the version control commit messages.

    If each feature, user story, bug fix, whatever, has a ticket in the issue tracking system you have documented what the application does.

    Automated testing, unit and otherwise, is also effective for giving you some confidence that a recent change hasn't broken something obscure.