4 ms·
I'm trying to understand what your workflow is that requires easy-to-use versioning. Aren't you basically always implementing against the current requirements?
by geofft 5y ago
I'm trying to understand what your workflow is that requires easy-to-use versioning. Aren't you basically always implementing against the current requirements?
I use Google Docs, with difficult-to-use version history if needed unexpectedly. If it's needed expectedly - e.g., because we planned to do something simple, it turned out we needed something more complicated, and we care about documenting for the future why the simple thing doesn't work - then I add a section to the current version of the doc explaining that. Or if implementation started and I need to catch up people who were familiar with the old requirements, then I add a section noting what the changes are.
These docs are generally prose, in the vague space of Amazon-style six-pagers, Architectural Decision Records, RFCs/enhancement proposals (Rust/Python/Kubernetes have great public examples of this), etc.
For extremely complicated requirements, the prose document includes an itemized list of stuff we need to get right, for easy reference, and then a prose explanation of why a particular approach will get them all right.
(In my experience, docs that just have lists are prone to having apparently-contradictory requirements and no explanation of how they're expected to be resolved.)