BreakPoint

cancel
Showing results for 
Search instead for 
Did you mean: 

How often has this happened to you?

OK so I'm shamelessly seeking sympathy. 

 

Large project was behind schedule- contractor that was hired to do the work wasn't up to the task.  And here I am looking at a project that is "Insane" on my Sunday off.  About 100 VIs and ctls that are jammed in a structure  that has no possibility of controlling state flow if a hardware (operator) error occurs.  ReVIse......


"Should be" isn't "Is" -Jay
0 Kudos
Message 1 of 28
(11,098 Views)

During an interview for my current job I was shown two ATEs that were collecting dust because the vendors weren't "up to the task".  I should have seen it coming, but I was assigned to complete both of them.  I'm currently on a third clean-up project.

Here's an article that says rewriting code from scratch is the "single worst strategic mistake that any software company can make."  I'm going to guess that this doesn't include code that doesn't work or has a horrible architecture.  I put the first project into production without rewriting it, but saw then that any future mods would be horribly difficult.  I've since rewritten it and the other two.  Perhaps you're in the same boat?

 

Good luck!

Jim
You're entirely bonkers. But I'll tell you a secret. All the best people are. ~ Alice
For he does not know what will happen; So who can tell him when it will occur? Eccl. 8:7

0 Kudos
Message 2 of 28
(11,094 Views)

jcarmody

 

your current icon Ford-Perfect-ly fit:-)

 

"Funny, how just when you think life can't possibly get any worse it suddently does" Mavin, THGTTG

 

Greetings from Germany
Henrik

LV since v3.1

“ground” is a convenient fantasy

'˙˙˙˙uıɐƃɐ lɐıp puɐ °06 ǝuoɥd ɹnoʎ uɹnʇ ǝsɐǝld 'ʎɹɐuıƃɐɯı sı pǝlɐıp ǝʌɐɥ noʎ ɹǝqɯnu ǝɥʇ'


0 Kudos
Message 3 of 28
(11,072 Views)
Henrik, stickler point - it's actually Ford Prefect. The joke is that Ford tried to select a name which would be inconspicuous and mistook the car for the dominant life form.

___________________
Try to take over the world!
Message 4 of 28
(11,061 Views)

jcarmody wrote:

During an interview for my current job I was shown two ATEs that were collecting dust because the vendors weren't "up to the task".  I should have seen it coming, but I was assigned to complete both of them.  I'm currently on a third clean-up project.

Here's an article that says rewriting code from scratch is the "single worst strategic mistake that any software company can make."  I'm going to guess that this doesn't include code that doesn't work or has a horrible architecture.  I put the first project into production without rewriting it, but saw then that any future mods would be horribly difficult.  I've since rewritten it and the other two.  Perhaps you're in the same boat?

 

Good luck!


G-Story:

 

I was contracted to re-write an app that was failing misreably. Durring my presentation of the new architecture (prior to coding) to the in-house team one of the members noted "Ben, it looks like you are going to completely re-write the app, WHY?" I responded, "The issue with the other application are mostly due to a poor design that sucked. I plan on writing correctly." They did not expect that answer but it was the truth. So after re-writing it based on five sperate threads, instead of one (how can you keep a PID under control if your code is single threaded and spends all of its time trying to auto-scale a curve-tracer and only after wards finds the PID has wondered off to lala-land), they asked to have the app as three diferent flavors.

 

So writing a program do do what another one failed to do is not rew-riting it, since the first version was not a reality.

 

Ben

Retired Senior Automation Systems Architect with Data Science Automation LabVIEW Champion Knight of NI and Prepper LinkedIn Profile YouTube Channel
Message 5 of 28
(11,055 Views)

Jim-

OH I'm in that boat alright-  Anyone got an oar?

 

Thanks for the support - Ben- Not surprisingly those are the exact words I just used to explain to the department why I need time to "Redefine basic test factors to meet internal standards of test design."


"Should be" isn't "Is" -Jay
Message 6 of 28
(11,037 Views)

We had a contract programming house build an app for us. It worked perfectly (if a little slow). It didn't turn into a nightmare until we had to modify something. A couple of years down the road - there *MAY* be one wire left over from the original code. It also runs a lot faster now. We haven't contracted out code since.

 

--------------

In a previous job, I confronted one of the engineers who had built his own LV code to do some testing on his hardware. His reply to me, "It works, so get lost." A few weeks later I delivered his newest test system (I was in charge of the lab) as a mass of wires around the components (looked like a plate of spaghetti) and told him, "It works, so deal with it." Good thing I had a boss that backed me up.

 

     Rob

Message 7 of 28
(11,009 Views)

Here's an article that says rewriting code from scratch is the "single worst strategic mistake that any software company can make."

 

 


That whole desaster is also known as the 'second system syndrome'. It applies when you (or your team) rewrites the code you (or your team) developed (migrating from V1 to V2) from scratch. I think nothing bad of rewriting someone elses code (IMO this involves a lot of reading the code which might be undocumented) completly.

 


I personally even would go (and I do, with all consequnces) for rearchitecting some code if it ran out of scope (simple example: if there is a huge set of case structures that evolved over time, go for a state machine). But if you do so, try to keep the SubVi code untouched (it might be a mess of math, but it worked before) in order to make small changes on the overall code (it is like keeping a valid build all the time). And account for this coding on the schedule (rearchitecting takes severe time).

 

One more point for the rewriting side: in TDD (test driven developement), they considere it a practice, that if your code fails the test, it is cheaper to rewrite it than to debug it.

 

But: try to keep the overall cahnge managable. That means, if you do a new architecture, practice it first on a smaller project before getting wild on the big one. An: try to have a valid build all the time. For a certain set of SubVIs, a regression testing might be useful as well.

 

Felix

 

Message 8 of 28
(11,001 Views)

I have re-written a number of applications because a: they sucked, and b: the operators wanted new functions and features in the "upgraded" code. It might as well have been a brand new application, deserving of a re-write from scratch.

PaulG.
Retired
Message 9 of 28
(10,997 Views)

F. Schubert wrote:

Here's an article that says rewriting code from scratch is the "single worst strategic mistake that any software company can make."


True Story:

 

Employee 1291: "Can you please modify this Vi so that the switches stop getting stuck or flicker real fast for no reason"?

 

Me: "No I can not".

 

 

Message Edited by Broken Arrow on 11-12-2009 08:28 AM
Richard






Message 10 of 28
(10,920 Views)