Live data from Hacker News

Ask HN: How do you keep track of software requirements and test them?

news.ycombinator.com

71–80 of 134 posts

Re: Ask HN: How do you keep track of software requirements and test them?

#71
post #35

I review software for at least 3-5 companies per week as part of FDA submission packages. The FDA requirements require traceability between reqs and the validation. While many small companies just use excel spreadsheets for traceability, the majority of large companies seem to use JIRA tickets alongside confluence. While those arent the only methods, they seem to be 90% of the packages I review.

I would love to see how other companies do it. I understand the need for traceability but the implementation in my company is just terrible. We have super expensive systems that are very tedious to use. The processes are slow and clunky. There must be a better way.

Re: Ask HN: How do you keep track of software requirements and test them?

#72
post #40

Earlier quoted context omitted.

This actually has a nugget of wisdom. I wish I was more open to soaking up wisdom - and less likely to argue a point - when I was a junior dev. Or still now, really. Moreover, if your PO can't define the goals, and what needs to be tested to get there, well you have a problem. Assuming the team is committed to some form of Agile and you have such a thing as a PO. However, I also disagree with the main thrust of this…

> Moreover, if your PO can't define the goals, and what needs to be tested to get there, well you have a problem. In some work environments, there may be unspoken requirements, or requirements that the people who want the work done don't know they have. For example, in an online shopping business the head of marketing wants to be able to allocate a free gift to every customer's first order. That's a nice simple busin…

> there may be unspoken requirements, or requirements that the people who want the work done don't know they have

That is just restating the problem that the "PO can't define the goals."

It's a bigger problem in the industry. Somehow, the Agile marketing campaign succeeded, and now everyone is Agile, regardless of whether the team is following one of the myriad paradigms.

I can rattle off dozens of orgs doing Scrum, but maybe 1 or 2 that actually are. Maybe doing two weeks of work and calling it a sprint, then doing another two weeks of work...and so on. No defined roles. It's just a badge word on the company's culture page.

The companies that are really doing something Agile are the consultancies that are selling an Agile process.

Re: Ask HN: How do you keep track of software requirements and test them?

#73

As a junior dev, this isn't your job. Your job is to do what is being asked of you and not screw it up too much. If they wanted to track requirements, they'd already track them. People have very fragile egos - if you come in as a junior dev and start suggesting shit - they will not like that. If you come in as a senior dev and start suggesting shit, they'll not like it, unless your suggestion is 'how about I do your…

Well so the reason I asked this questions is that I did screw up a bit, and I think it could have been caught had I done sufficient testing - but I didn't because it doesn't seem to be part of the culture here, and neither are peer reviews. So I _was_ trying to do only what was asked of me, just writing the code, but I guess I thought what I did at my previous job could have helped - which is keeping track of what wa…

"give it a quick test and ship it out, our customers are better at finding bugs than we are" - lecture from the CEO of a company I used to work for who didn't want me to waste any time testing and didn't want to pay me to do testing. I left soon after that to find a place with a different culture, trying to change it was way too hard

Re: Ask HN: How do you keep track of software requirements and test them?

#74
post #19

Gitlab. Just use Issues you can do everything with the free tier. (It's called "Issues workflow" - gitlab goes a little overboard though, but I'd look at pictures of peoples issues list to get examples). My opinion would be to not use all the fancy features that automatically tie issues to merge requests, releases, epics, pipelines etc... it's way to much for a small team that is not doing any type of management. Jus…

If possible, could I get your opinion on a specific example? In my current situation, I was asked to add a feature which required a few (java) classes. So -

* It seems like this would have been a milestone?

* So then maybe a few issues for the different classes or requirements?

* For each issue, after/during development I would note what tests are needed, maybe in the comments section of the issue? Maybe in the description?

* And then automated tests using junit?

Re: Ask HN: How do you keep track of software requirements and test them?

#75

Earlier quoted context omitted.

If builders built buildings the way programmers write programs, then the first woodpecker that came along would destroy civilization. ~ Gerald Weinberg (1933-10-27 age:84) Weinberg’s Second Law https://www.mindprod.com/jgloss/unmain.html

> If builders built buildings the way programmers write programs, then the first woodpecker that came along would destroy civilization. If builders built buildings the way programmers write programs, we’d have progressed from wattle-and-daub through wood and reinforced concrete to molecular nanotechnology construction in the first two generations of humans building occupied structures. Bad analogy is bad because prog…

Still I feel like your analogy is the better one, things are moving very fast. With declarative infra and reproducible builds you’re pumping out high quality, well tested buildings at record speeds.

Re: Ask HN: How do you keep track of software requirements and test them?

#76

This is super interesting and incredibly difficult. In some regulated environments, like medical devices, you MUST keep track of requirements in your product's technical documentation. I work on a Software Medical Device product and have seen tons of workflows at similar companies. There are many different approaches to this and none that I have seen work really well. In my view this field is ripe for disruption and…

For option A, how do you put the requirements in the repo? Another user mentioned the possibility of having a "req" folder at the same level of e.g. "src" and "test". Maybe the file structure would match that of the other directories? And what do you use - excel files, word docs, .md files, something else?

Re: Ask HN: How do you keep track of software requirements and test them?

#77

What we do: - we track work (doesn't matter where), each story has a list of "acceptance criteria", for example: 'if a user logs in, there's a big red button in the middle of the screen, and if the user clicks on it, then it turns to green' - there's one pull request per story - each pull request contains end-to-end (or other, but mostly e2e) tests that prove that all ACs are addressed, for example the test logs in a…

Dream board for any projects. One PR per PBI/US is already hard to make people understand this or that we/they shouldn't start working on a PBI/US without acceptance criteria.

After I am unsure of the whole "testing part" especially running all the tests for each PR for typical projects..

Re: Ask HN: How do you keep track of software requirements and test them?

#78

Earlier quoted context omitted.

Just wanted to ask, this pretty much ensures you're doing waterfall development, as opposed to agile, right?

Waterfall and Agile are tools. If you need to hang a photo, a hammer and a nail. Cut down a tree? Maybe not the hammer and the nail.

Could you use both to good effect? Waterfall to make a plan, schedule, and budget. Then basically disregard all that and execute using Agile and see how you fare. Of course there would be a reckoning as you would end up building the system they want rather than what was spec'd out.

Re: Ask HN: How do you keep track of software requirements and test them?

#79
post #35

I review software for at least 3-5 companies per week as part of FDA submission packages. The FDA requirements require traceability between reqs and the validation. While many small companies just use excel spreadsheets for traceability, the majority of large companies seem to use JIRA tickets alongside confluence. While those arent the only methods, they seem to be 90% of the packages I review.

Health tech - we also use this combo. The Jira test management plugin XRay is pretty good if you need more traceability.

Xray and R4J plugins make it pretty nice in JIRA... as far as traceability goes it's MUCH more user friendly than DOORS.

Re: Ask HN: How do you keep track of software requirements and test them?

#80

Earlier quoted context omitted.

Just wanted to ask, this pretty much ensures you're doing waterfall development, as opposed to agile, right?

Waterfall is a great methodology where warranted. It ensures you're doing things in a principled, predictable, repeatable manner. We see all this stuff lamenting about and trying to implement reproducibility in science and build systems, yet seem to embrace chaos in certain types of engineering practices. We largely used waterfall in GEOINT and I think it was a great match and our processes started to break down and…

Even with “hard” requirements in advance, things are always subject to change, or unforeseen requirements additions/modifications will be needed.

I don’t see why you can’t maintain the spirit of agile and develop iteratively while increasing fidelity, in order to learn out these things as early as possible.

Post reply on HN