16 comments

[ 3.0 ms ] story [ 37.9 ms ] thread
What if Enterprise IT built a website? :) I'm getting a 504 gateway timeout. I only mention it because it says "cloudflare" and the post hasn't received a lot of attention so I assume it's not a traffic issue?
It would never ship, would be filled with bugs and someone along the lines would switch the programming language AND the OS.
And that often happens with Race Cars as well. the only difference is after a while the manufacturer decides to cut the losses and mothball the program. See the Aston Martin AMR1 or the Panoz LMP07 or the Lister LMP Le Mans Prototypes.
division of labour is passe. It's a thorn people have forgotten to remove
I'm no longer convinced that this is a problem in our industry, so much as a systematic characteristic of it.

People notice when a car performs badly. Its horrible to drive, and likely will kill people.

Horribly written software, however, can be made to perform well under common usage, even if it fails spectacularly for every single edge case. For most edge case failures, chances are the user is going to be blamed, because most likely, the user doesn't know the correct way to hold the mouse.

And the more endemic problems with horribly written software: maintenance, and difficulty of upgrade, are both easily waved away by those making software decisions from a business perspective. Difficulty of upgrading software is a non-issue (assuming that business data is stored in a db somewhere, sanely), it just becomes a business decision of when to completely replace their current system with the best technology on the market 5 or 10 years from now. And maintenance in the meanwhile is largely a non-issue if you don't plan on steadily upgrading and improving your software, which really, most large places simply don't. The C-level exec isn't the one using the software, and really, as a result, many of them simply don't care.

If you look at it through that light, the IT process the OP describes makes complete sense. Send in an architecture team that proposes the world to the customer, and gets the largest possible contract signed. Send in developers, and minimize cost everywhere, only actually deliver on things you know the C-levels will check, because you know they won't check almost anything, and they certainly won't care about a source code report. Then send in your QA team, to make sure the company who built the software meets bare minimum contractual obligations, and where they haven't, the customer won't notice.

... sigh

Sadly enough I agree with this rather bleak assessment to a large degree. I don't believe that we're truly stuck with it though. Why have Agile and DevOps movements gained so much traction (hype)? For me it almost always comes down to the need for better collaboration between silos. Architects shouldn't be constrained unnecessarily by the mindset of devs or ops but if they are making design decisions that can never be implemented then time is being wasted. Wasted design time. Wasted processing time for the people handed it. And wasted time coming up with workarounds. Efforts to eradicate this waste, even in small amounts, are worthwhile and should be undertaken.
Why a race car? Why not a 'regular' car? Just compare the Chevy Volt against the Tesla Model S!
The mechanics wouldn't necessarily be part of the same "team" as the rest of the functions.
That looks like normal software development to me. Enterprise IT just involves more people, money and time.
The space shuttle would be a better analogy.
What if enterprise IT built software like an F1 racing team?
The software would be would be limited to 4 threads, have to use at least 500mb of memory, and be written in COBOL in order to be fair to other teams.
(comment deleted)