Skip to content
HomeVideosBooks
AllTopicsTrends
BlogsPodcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    Cover of Writing Great Specifications

    Writing Great Specifications

    Kamil Nicieja · 2018

    Software EngineeringWriting & Language
    Open LibraryAmazon
    Stats for nerds
    3recommend
    3mentions
    3people
    2018–2023years
    100% recommend

    Mentions per year

    201820192020202120222023

    What Hacker News says

    1. afandianMar 2023
      Not only that, but it enables product owners to actually express the features they want, in such a way as they can be implemented. Without that devs and product owners tend to second-guess each other.

      I've recently introduced Cucumber and it's been an incredibly useful framework for collaborating between developers and product owners. I'd recommend "Writing Great Specifications" by Kamil Nicieja.

      thread
    2. turtleyachtNov 2022
      It can be difficult to wrangle Gherkin. I've tried to use "Writing Great Specifications" as a kind of guide. Reducing specs to (mostly) one each of Given, When, and Then seems to reduce UI steps.

      Having agnostic specs is nice if the team moves from web app to, say, React Native: should still be the same feature set.

      The con is QA looking for step-by-step test instructions have to look elsewhere (at the "code"). And, I still haven't seen a real example of QA, PM, and dev working together to write Gherkin :)

      Tooling can help for some warts. Gherkin is line-oriented, so a parser is easier to write. Using ex or ed, one can generate a clickable webpage of specs to kick off a test.

      Interestingly, the book above recommends DDD as a way to organize test specs. One suggested exercise is to highlight words from a spec and label them as one domain or another, and determine the core domain versus secondary ones.

      Of course, one chapter or a few cannot describe DDD, but interesting to see that decomposition.

      Other than Cucumber, what do you use for BDD?

      thread
    3. tmalyFeb 2018
      I think you have to formalize the process first. If everyone in the company does something different every time a requirements doc is written, it is just chaos. Steli and Hiten had a great podcast episode on this recently.

      As part of that process, you will need tools to capture the documents and track changes to them. Consider something like Confluence or another type of wiki. You will also need good training. If you expect people across the company to use the process, you have to make it accessible and easy for them to learn.

      A book I would recommend that I am working through now is Writing Great Specifications by Bicieja

      thread

    Related

    Cover of Principles of program design
    2011–2024

    Principles of program design

    M. A. Jackson
    4 recommend · 13
    Cover of Designing Data-Intensive Applications
    2014–2026

    Designing Data-Intensive Applications

    Martin Kleppmann
    457 recommend · 846
    Cover of The art of computer programming
    2007–2026

    The art of computer programming

    Donald Knuth
    336 recommend · 1,799
    Cover of Write Great Code
    2009–2026

    Write Great Code

    Randall Hyde
    16 recommend · 25
    Cover of Code Complete
    2007–2026

    Code Complete

    Steve McConnell
    393 recommend · 894
    Cover of A Philosophy of Software Design
    2018–2026

    A Philosophy of Software Design

    John K. Ousterhout
    163 recommend · 342
    Cover of Writing solid code
    2008–2026

    Writing solid code

    Steve Maguire
    18 recommend · 39
    Cover of The Best Software Writing I
    2008–2023

    The Best Software Writing I

    Joel Spolsky
    4 recommend · 11