Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>I find it interesting that none of the responses so far have touched on what I consider to be a fundamental insight into modern development practices, and that is that the "old fashioned" way of writing software by gathering requirements, doing analysis and modelling the desired system before writing any code actually had a lot going for it.</p> <p>TDD actually embodies this <em>to an extent</em>.</p> <p>To write a test you first have to know - to put things in very simple terms - what your inputs will be and what your expected outputs will be.</p> <p>Once you have that knowledge you can write a test to exercise some piece of mythical code and also, to an extent, what other artifacts that code will interact with, before you write that code itself or create those artifacts.</p> <p>This is what we previously would call "requirements engineering" and "systems analysis" in the old "waterfall" method(s).</p> <p>Further than that, you will find that once you grasp the requirements at this level, writing tests will come naturally (it is, after all, merely the expression in code of the statement of functionality embodied in those requirements).</p> <p>And in writing the code that expresses the requirements in the form of tests, you will identify gaps and misunderstandings in the requirements before you've committed those gaps and misunderstandings to the project in the form of executable code.</p> <p>For modern practitioners of "Agile" methods to admit that they are engaged in a series of "waterfalls" is, I think, too embarrassing, so this need for requirements engineering and understanding is obfuscated behind language that talks around the need to address these things whilst trying desperately to avoid admitting that "Agile" (as commonly understood, or perhaps misunderstood) threw the baby out with much of the bathwater.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload