BreakPoint

cancel
Showing results for 
Search instead for 
Did you mean: 

It's no wonder...

This is just a rant. Because I'm annoied.

 

I just went to another corporate site to do a review of their software. They had ~20 test stands (at about 100k / stand) built by a company... a company that was bought out not too long ago.

 

It is no wonder they failed.

 

Every single rookie mistake existed in the code. I spent about 2 hours trying to figure out what was going on with just ONE top level VI and finally gave up. Huge abuse of local variables, block diagram that was likely 15x15 full screens. 5 layers deep of stacked structures with nested while loops, etc. Not to mention hidden wires, huge coupling with sub VIs, and a complete lack of comments.

 

Best part?  Every single test stand is running in the development environment... a shortcut to a top level VI that has automatic error handling (nothing programmatic) turned on.  In multiple stands, the main VI had been overwritten within the last year because normal operators clicked "save changes" as they exited.

 

How the hell do these people even get LabVIEW coding jobs, let alone justify selling that crap to customers?  Now we have giant, steaming pile of crap code that we don't have the money to replace, and that I'm going to have to support.

 

Ok.  /rant.

Message 1 of 9
(8,330 Views)

There, their, they're.  We've all been there, but not to the tune of $2M.  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

Message 2 of 9
(8,319 Views)

I have inherited almost as bad of code, from other Alliance Partners too.  I have actually gone to my (then) boss and asked him if he wanted be to spend 40 hours to try to figure out what the $!$#$!# the code is doing, 20 hours to figure out what needs fixed, and another 40 to fix everything else that fix broke OR I could just completely rewrite it all in 40 hours with a decent architecture and comments, a lot more scalabiltiy, and run 2-4x faster.  Being the great manager that he is*, he chose the former.

 

NOTE: My hours here were greatly scaled down to just make the point.  In reality, I was talking about months.

 

* For those who couldn't tell, that was sarcasm.


GCentral
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines
"Not that we are sufficient in ourselves to claim anything as coming from us, but our sufficiency is from God" - 2 Corinthians 3:5
Message 3 of 9
(8,316 Views)

@crossrulz wrote:

Being the great manager that he is*, he chose the former.

 


 

Isn't that frustrating?  Knowing you could redo it with code that is maintainable but being forced to support garbage?

 

I will admit that no small amount of blame rests with my company. They have nobody at the site who knows the first thing about LabVIEW (or code at all),  so they didn't catch any of these issues.  Just kept ordering...

0 Kudos
Message 4 of 9
(8,300 Views)

And if you think any of this is LabVIEW specific, you are mistaken. Bad code can be produced in any language!

 

As an example, here is an interesting analysis of some Toyota firmware code. 😮

Message 5 of 9
(8,293 Views)

This closing phrase resonated deeply with me:

 

"If you have to fight to implement quality, or conversely, if others let you get away with shoddy work, quality cannot flourish. The culture must support proper peer review, documented rule enforcement, use of code-quality tools and metrics, etc."

---
CLA
Message 6 of 9
(8,258 Views)
Message 7 of 9
(8,216 Views)
Message 8 of 9
(8,147 Views)

http://dilbert.com/strip/2013-02-24

When i inherit code it often feels like it wins ...

/Y

G# - Award winning reference based OOP for LV, for free! - Qestit VIPM GitHub

Qestit Systems
Certified-LabVIEW-Developer
0 Kudos
Message 9 of 9
(8,030 Views)