Martin,

On Sat, Mar 21, 2009 at 9:50 PM, Martin Gainty <mgai...@hotmail.com> wrote:
>
> test driven means if I create a component as a developer I need to install a 
> JUnit testcase that will test the requisite function
>

Actually there's a bit more behind it.
Usually, you start to design an application starting with some
UseCases, Sequenz-Diagrams, Action-Diagrams, Class-Diagrams etc. So
basically you have a MDA (Modell Driven Architecture) reflecting /
incooperating *all* business-requirements (hopefully...)

When Using TDD, all of that is left behind. The flow of activity is like
- analyse the problem / requirement
- write a test reflecting the requirement
- code something on which the test will not fail

As you can see, TDD is more something being used for small projects.
I'd even say that what we understand as a project is already too big
for pure TDD.
TDD is great if you have a small problem, need ti implement a new
requirement or just fix a bug / unwanted behaviour. IMHO it's useless
for real-world projects having a certain complexity and size.
Besides, if you are using something like MDA, you start up like
outlined above, however, one you start to implement, you don't start
to code but you start to write some tests for the smallest parts aka
classes.
IMHO tests should mirror the requirements aka modells, however, I do
not think that the process should start with tests but tests should
come after the design is roughly set.

> Rapid Iterative Development means make as small a piece of functionality such 
> as a component
> and then add ancillary functions such as this project requirement

The thing is, that we all want the requirements to be complete once we
start with the development (which, in my understanding, consists of
analyses, design, test, implementation). However, most of us know that
requirements almost never are complete.
Therefore, one tries to accept the fact and uses something like RID
(being developed from RAD).

The lifecycle is:

- Requirements capture
- Analysis
- Design
- Implementation
- Testing

After that again starting with requirements capture.

This seems to be perfect - but hold it:

As you can imagine, it's almost impossible to estimate the effort for
a project, since you don't know all requirements beforehand.

So the big challange will be to convince your customer that this will
not be a fixed-price / fixed-time-project, however, he (the customer)
will definately benefit since this approach is most flexiable, you are
able to shortly implement new requirements (i.e. market-conditions,
new legal requirements etc.).
The problem still is: Most customers don't actually know their own
requirements, they don't know what they want / need, but still they
want a statement on what the project costs and how long it will
take...

Rgds

Gregor
-- 
just because your paranoid, doesn't mean they're not after you...
gpgp-fp: 79A84FA526807026795E4209D3B3FE028B3170B2
gpgp-key available @ http://pgpkeys.pca.dfn.de:11371

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to