Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Best tools to handle complex requirements writing?
14 points by tmaly on April 28, 2017 | hide | past | favorite | 7 comments
Can anyone suggest free or paid tools that could handle complex business requirements creation. I am looking for something that could handle a complex domain where there could be many questions that could arise from the business requirements document. These questions would have to be reconciled before a proper specification could be created.



There is an established discipline of Requirements Engineering:

https://en.wikipedia.org/wiki/Requirements_engineering

Resources include:

IEEE: https://www.ieee.org/index.html

And the Software Engineering Institute: https://www.sei.cmu.edu/productlines/frame_report/req_eng.ht...


What scale of complexity? How long do you expect the thing to be? Below a certain threshold just plain old text will do fine.


the situation I see quite often is someone from legal submitting a very long set of business requirements. These requirements do not translate perfectly on the technical side, and if the programmer is not diligent enough, what gets implemented as a specification misses some critical aspect.

Without so detailed back and forth with say a business analyst of someone that knows the business and some of the technical domain, the end result is poor.

Right now a Twiki or Confluence work great for collaboration of some sense. But there needs to be some finer level of workflow that could be incorporated into the process. I was hoping to find a tool that does requirements just 20% better than a word processor or Twiki.


BDD tools might be useful here: I've heard of people getting good results from getting everyone in room and formally specifying the requirements that way. Don't even need the tests to be executable, just well structured.


TL;DR - Gherkin end-to-end example

BDD has already been mentioned[0] but I thought a concrete example would be helpful.

The following excerpts are from a Gherkin specification for bowling[1]. These examples use SpecFlow, Xunit, and C# but the specific technology is not what is important.

Here is a Gherkin feature[2] for scoring a game of bowling.

  Feature: Score Calculation 
    In order to know my performance
    As a player
    I want the system to calculate my total score
Features consist of scenarios. Here is the scenario[3] for a game with a total score of zero.

  Scenario: Gutter game
    Given a new bowling game
    When all of my balls are landing in the gutter
    Then my total score should be 0
Scenarios are mapped to unit tests. Here is the code[4] that implements this scenario.

        [Given(@"a new bowling game")]
        public void GivenANewBowlingGame()
        {
            _game = new Game();
        }

        [When(@"all of my balls are landing in the gutter")]
        public void WhenAllOfMyBallsAreLandingInTheGutter()
        {
            for (int i = 0; i < 20; i++)
            {
                _game.Roll(0);
            }
        }

        [Then(@"my total score should be (\d+)")]
        public void ThenMyTotalScoreShouldBe(int score)
        {
            Assert.Equal(score, _game.Score);
        }
Hopefully this is enough to give you a sense of whether Gherkin would work for you.

[0] https://news.ycombinator.com/item?id=14222650

[1] https://github.com/techtalk/SpecFlow-Examples/tree/master/Bo...

[2] https://github.com/techtalk/SpecFlow-Examples/blob/master/Bo...

[3] https://github.com/techtalk/SpecFlow-Examples/blob/master/Bo...

[4] https://github.com/techtalk/SpecFlow-Examples/blob/master/Bo...

Edited to fix formatting of examples.


If you want a real industrial/DoD grade complexity capable tool: https://www.ibm.com/us-en/marketplace/cloud-requirements-man...


Never tried but... https://airtable.com




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: