Test or build twice?

There is a general view in software development that testing is 30-50% of the cost of a project.

Lets call it 50. And often a high proportion of it is done late in the project.

Would it therefore make sense to get 2 teams to build 2 versions of the system in parallel and not bother with a chunk of testing?

Upside:

  • it will be finished in approximately half the calendar time. Assuming much of the ‘traditional’ testing happens after dev
  • Lots of comfort if the 2 projects give similar results (and they are independent enough)

Downside

  • There is a whole bunch of pitfalls that both teams could hit. Such as poor requirements – the number one cause of software project failure
  • If the two projects don’t agree then there is a load of testing to find which (if either) is right
  • Its quite plausible for both teams to make the same mistakes, so they could agree on something that is wrong.

What other pros and cons are there?

What do you think?

I have done a few straight replacement projects, and it is nice to be able to test back to a known result. Like in those maths test where they give you the answer and ask for the proof.

Anyone ever worked on a parallel development like this?

cheers

Simon

Advertisements

9 Responses to “Test or build twice?”

  1. alastair Says:

    but then you would have two versions of the same system, both equally and uniquely buggy, and you still have not solved the fundamental problem of poorly specified requirements.

  2. Biggus Dickus Says:

    In the perfect world I would build the app – then throw it away and build it all over again. THAT would produce the best result because you would understand the entire process front to back when you sit down again.

    But I don’t live in a perfect world.

    Dick
    p.s. Simon – did you get my email I sent you with the attachment yesterday? You have a nasty ISP.

  3. Simon Says:

    never attribute to malice what can be explained by complete incompetence – my (current) isp are nice but dim numpties.
    I am in the process of changing
    and yes I did get the pic

  4. Bob Phillips Says:

    BDs idea is a great, if impractical idea.

    I often say that when I spend 5 hours writing some code, and my application crashes just before I get to save it, it is not only a waste of time to cry over that particular spilt milk, but should actually be seen as an opportunity. Second time around, I remember most of the code I wrote, I remember the difficulties/hard bits and so don’t have to go through that again, the whole process is smoother and more logical, and inevitably ends up with better quality code (who hasn’t looked at old code and thought, Christ what a load of $#*%).

    Redeveloping the whole project would give you similar opportunities, plus you could ditch the weak players at the (re-)start.

  5. Mike Alexander Says:

    Bob,

    “who hasn’t looked at old code and thought, Christ what a load of $#*%”

    This is very funny and very true.

  6. Biggus Dickus Says:

    On the other hand I’ve looked at some old code and thought “How did I figure that out !!!” When I’m really “in the zone” writing code some times I surprise myself. When I am forced to revist it (not always in a pleasant way mind you) it scares me.

    Dick
    p.s. And sometimes I say – “That sure was s**t code !!”

  7. Todd Says:

    Man, I have to say that sounds like an awful idea. Please do not try it. Like a previous commenter pointed out. All you’ll end up with is two systems that haven’t been tested. Twice the crap!

  8. Simon Says:

    I think Parallel dev is pretty common in safety critical systems. (I assume (/hope) they keep in most of the testing though)

    Of course if your process is so moffed up you can’t find out what youre meant to be building then any dev tool or methodology will be next to useless.

    Old code/shit code – yep, and the odd too clever for my own good moment. I sometimes wish I commented my code, and included my initials or something as looking back I can’t tell whether its my code or not. obviously I’m happy to accept responsibility for the good stuff..

  9. Bob Phillips Says:

    You heard it here, Simon said … sometimes wish I commented my code …

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


%d bloggers like this: