6 ms·
Formal Requirements Elicitation Tool
- bubble_instr 5y agoi wonder what tool was used to gather the requirements for FRET?
- throwawaybutwhy 5y agoIt requires python2. Guess there was some red tape involved.
- andrewviren 5y agoThis looks comprehensive. What commercial software does this replace / compete with? Does one exist?
- johnwalkr 5y agoThere are a lot. I work in the industry and IBM Doors is the traditional tool but everyone hates it. Jama and Valispace are more modern tools, and there are various addons for JIRA as well. Those are all for general use, if you consider software requirements there are a ton of other tools. MS Word plus manual tracking is also common but revision and configuration is control is a nightmare.
- Rochus 5y agoReminds me of Planguage by Tom Gilb, see e.g. https://www.amazon.com/-/de/dp-0750665076/dp/0750665076 https://www.amazon.com/-/de/dp-0750665076/dp/0750665076. Many attempts have been made with varying degrees of formalization. Another one is e.g. https://en.wikipedia.org/wiki/Gellish https://en.wikipedia.org/wiki/Gellish. It would be interesting to know what FRET is supposed to be able to do better than previous approaches.
- basilgohar 5y agoThis is the first time I heard about the "NASA Open Source Agreement" [0] software license, which, sadly, is not GPL-compatible. I am confused why a government agency can release something more restrictive than the public domain. I wish license awareness was a part of more discussions. I've noticed a trend on HN to be dismissive or unaware of the implications of such things until it's too late. [0] https://en.wikipedia.org/wiki/NASA_Open_Source_Agreement https://en.wikipedia.org/wiki/NASA_Open_Source_Agreement
- Rochus 5y ago> which, sadly, is not GPL-compatible A lot of even more common open-source licences are not "GPL compatible", mostly because they don't require "copyleft" (which also applies to the NASA license). All approaches have their specific advantages and disadvantages. GPL has disadvantages as well.
- detaro 5y agoA license doesn't have to be copyleft to be GPL compatible.
- Rochus 5y agoUnless you want to use GPL code in your project which uses a non-copyleft license?
- yjftsjthsd-h 5y agoCDDL and GPL are both copyleft. They are not compatible.
- Rochus 5y agoPls define "compatible"; this is a totally ambiguous/undefined term; that's why I put it in quotes in all of my comments.
- fluidcruft 5y ago"Compatible" means that two licenses don't have terms/conditions that contradict. CDDL was deliberately designed to conflict with GPL. For example https://www.fsf.org/licensing/zfs-and-linux https://www.fsf.org/licensing/zfs-and-linux
- Rochus 5y ago> means that two licenses don't have terms/conditions that contradict This approach is too simplistic. It should also be remembered that each state has its own legislation and the effect and enforceability (and thus the "compatibility") of the licenses differs in each country. It also depends on what you specifically intend to do with the OSS licensed components. A conclusion can only be reached for the specific case at hand, not in general. As long as there are no supreme court rulings for the specific case or a sufficiently similar case, the legal situation remains uncertain.
- lmilcin 5y agoThis is fantastic if you don't mind your requirements being out of date by the time you finish writing them down. That is assuming your business stays alive long enough. Jokes aside, I would suggest not to corrupt your mind by looking at it, unless you are responsible for a complex safety critical application (never good idea to mix complex and safety critical -- you likely have more important problem to solve) or where a single software error can cause multi-billion dollar loss (never good idea to design your application so that single error can cause huge loss -- you likely have more important problems to solve). I have seen many attempts to formalise requirements this way and they all utterly failed. Main reason being that the people who tried to implement it were not ready for the vast effort needed to actually get it done and then to maintain it as requirements inevitably change. But the more fundamental reason for all these failures was that there always have been much more important things to get done and people who pushed these tools just did not understand what is important and this usually ends in project failure.
- derefr 5y agoTo me, the most laborious part of the requirements-gathering process, isn't anything to do with driving the collection of the client's description of the problem domain and (hypothetical) solution domain. Instead, it's: 1. having domain experts understand the requirements well-enough to recognize and push back on impossible/impractical requirements (this being the reason the person doing the requirements-gathering is almost always an engineer of some kind); and 2. communicating that impossibility/impracticality back to the client, so that they'll understand it well-enough to be able to iterate on the requirements (or, potentially, realize that the problem is now entirely impossible/impractical to be solved with the general approach they have in mind.) Is there any tool in this category that tries to eliminate at least some of this human labor, acting as a "compiler for requirements" that can be fed "requirements validation rules" — or maybe constructing the requirements into an expert system or proof-language and running it to find contradictions? Not as something to assist the engineer in validating, to be clear (there's plenty of those); but rather as something to sit as the equivalent of a "level-one CSR" in front of engineers, to give some level of pre-validation to things before they're tasked with fully validating them. Something that could live on the backend of a "Requirements Elicitation" tool like this, to act as a CI system, preventing clients from "finalizing" their requirements until they've corrected any obvious errors.