Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>You absolutely need a detailed specification before starting work; otherwise your developers don't know what to write or when they have finished. Joel Spolsky has written <a href="http://www.joelonsoftware.com/articles/fog0000000036.html" rel="nofollow noreferrer">a good essay</a> on this topic, with examples. Don't expect the spec to remain unchanged during development though: build revisions into the plan.</p> <p>meade, above, has recommended combining the spec with the tests. This is known as <a href="http://en.wikipedia.org/wiki/Test-driven_development" rel="nofollow noreferrer">Test Driven Development</a> and is a very good idea. It pins things down in a way that natural language often doesn't, and cuts down the amount of work.</p> <p>You also need to think about unit tests and automation. This is a big time saver and quality booster. The GUI level tests may be difficult to automate, but you should make the GUI layer as thin as possible, and have automated tests for the functions underneath. This is a huge time saver later in development because you can test the whole application thoroughly as often as you like. Manual tests are expensive and slow, so there is a strong temptation to cut corners: "we only changed the Foo module, so we only need to repeat tests 7, 8 and 9". Then the customer phones up complaining that something in the Bar module is broken, and it turns out that Foo has an obscure side effect on Bar that the developers missed. Automated tests would catch this because automated tests are cheap to run. See <a href="http://www.secondlifeinsider.com/2007/10/23/side-effects-anatomy-of-a-second-life-bug/" rel="nofollow noreferrer">here</a> for a true story about such a bug.</p> <p>If your application is big enough to need it then specify modules using TDD, and turn those module tests into automated tests.</p> <p>An hour to run through all the manual tests sounds a bit optimistic, unless its a very simple application. Don't forget you have to test all the error cases as well as the main path.</p>
    singulars
    1. This table or related slice is empty.
    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. This table or related slice is empty.
    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