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?
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.
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.
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.
16 comments
[ 3.0 ms ] story [ 37.9 ms ] threadPeople 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
http://en.wikipedia.org/wiki/Landkreuzer_P._1500_Monster