Hacker News new | ask | show | jobs
by sloaken 811 days ago
1 current organization does not, but I am trying to get them to. It is necessary for long term maintenance. How do I fix something when I do not know what it is required to do.

2 I do not, nor do I know anyone who does. Except user seabass-labrax But I see it as essential.

3 depending on organization, but generally they have to be knowledgeable in the frame of the customer (internal or external) needs. Other places I have worked the sales team had a large influence.

4 if it is not a short term, or throw away code when the developer leaves (from winning the lottery). Then anything worth doing is worth doing right.

5 it will change, and you have to plan on that.

6 there are fancy tools but I find them cumbersome to learn, and often default to word and / or spreadsheets

7 I expect with any requirement to have listed with it where it came from. Be it my initials, a particular meeting, a government regulation. In a serious production, you trace the requirements to design, implementation and test procedures. With recording dates of passing tests. My current one will not have all this tracing.

I like to put Wants in the requirements, and list them as such. Basically I am kicking the issue down the road for someone else to decide if it is a need.

Remember: if you cannot test it, it is not a requirement.

1 comments

this is super valuable insight to me. I would agree with you, i have experience in how it is done in large complex organisations and i had awareness that in less organised smaller orgs its not done with traceability etc. One theme i notice is that people, especially creative people don't like doing it, but find it necessary as they see all the issues coming from not writing or having specs/reqs. But this insight you gave is super useful for me. Thank you!
One last comment: When writing up requirements, be careful to not put implementation details as requirements. For example: let us say you are a IBM mainframe / COBOL. Putting in IBM and or COBOL as a requirement would restrict the development that might choice a raspberry Pi running Slackware and Java. And of course the reverse is true, despite being unlikely.

There are probably some good books / online classes on the topic, worth a weekends time.