Discussion World Forum  


Go Back   Discussion World Forum > Discussion Forums > Computers & Technology

Computers & Technology Computer issues, hardware, software, internet and new technologies.

Reply
 
Thread Tools Display Modes
  #21  
Old Jun 4th 2012, 11:40 AM
pramjockey's Avatar
pramjockey pramjockey is offline
World Citizen
 
Join Date: May 2011
Location: Littleton, CO
Posts: 1,051
Default Re: The Russia Computer scene

Quote:
Originally Posted by drgoodtrips View Post




Guess who has to deal with the mess created by a system built of hacks and shortcuts, and is now trying to get it re-built correctly?

The costs of re-building a system are huge, plus the added costs of the shoddily built system that was originally placed are far higher than building a good system from the get-go ever would have been.
Reply With Quote
  #22  
Old Jun 4th 2012, 12:02 PM
shekib82 shekib82 is offline
Globetrotter
 
Join Date: Feb 2012
Posts: 3,134
Default Re: The Russia Computer scene

Quote:
Originally Posted by drgoodtrips View Post
The medical analogy works very well if you cite this rationale. A guy is bleeding to death -- who has time to waste washing hands?!?

When it comes to software, you can't go fast by making a mess. You only create the illusion of going fast. What you actually do with hacks is complete 50% of the work and call it done, letting the rest come in as defects reported by QA departments or users (that's the beauty of hacks -- you technically don't know that it isn't done, so you aren't technically lying to stakeholders and customers when you say that it is). That's the speed savings. Writing bad code isn't faster than writing good code - it's the lowering of standards that causes the perceived speedup.
Yeah maybe you're right. But then again sometimes the deadline can only be met by doing 50 percent of the work. And sometimes you just don't have a choice.
Reply With Quote
  #23  
Old Jun 4th 2012, 06:33 PM
Michael's Avatar
Michael Michael is offline
Administrator
Herder of Cats
 
Join Date: Oct 2008
Location: Toronto
Posts: 14,835
Default Re: The Russia Computer scene

Quote:
Originally Posted by pramjockey View Post
But, to cut corners costs SO much time down the road.
Those "cut corners" don't cost the programmer down the road, they cost the customer - its their problem. The programmer and the software company have moved on to new clients.

Software companies don't seem to have much incentive to write good code. That's the problem. Look at Microsoft - authors of some of the most bloated and ugly computer code out there (second place must go to Adobe whom I think hired a bunch of Microsoft programmers by the look of Adobe products nowadays - all massively bloated and buggy).

Check out the download size on Adobe Acrobat Reader. Ten years ago, that download was 16k and that program worked perfectly. Now it is 100 MB and buggy as all heck.
__________________
Remember what the dormouse said: Feed your head!
Reply With Quote
  #24  
Old Jun 4th 2012, 07:00 PM
pramjockey's Avatar
pramjockey pramjockey is offline
World Citizen
 
Join Date: May 2011
Location: Littleton, CO
Posts: 1,051
Default Re: The Russia Computer scene

Quote:
Originally Posted by Michael View Post
Those "cut corners" don't cost the programmer down the road, they cost the customer - its their problem. The programmer and the software company have moved on to new clients.

Software companies don't seem to have much incentive to write good code. That's the problem. Look at Microsoft - authors of some of the most bloated and ugly computer code out there (second place must go to Adobe whom I think hired a bunch of Microsoft programmers by the look of Adobe products nowadays - all massively bloated and buggy).

Check out the download size on Adobe Acrobat Reader. Ten years ago, that download was 16k and that program worked perfectly. Now it is 100 MB and buggy as all heck.
It depends on how you're defining "customer," though. As an internal customer to development, I can be one of the most expensive customers that the company ever has to deal with. A buggy tool can cost vast amounts of resources that are sometimes harder to see than an angry external customer, but even more costly.

The extra work that I have to do because of the failures of the development process (note that I'm not laying this at the feet of the coders) is extraordinarily expensive. I get paid a significant amount of money to do stupid busy work because the systems weren't designed correctly, implemented correctly, managed correctly, or ever dealt with in a long-term way of thinking about them. These failings cost the company millions of dollars in productivity, lost sales, morale, and reputation. That investment in the thousands a few years ago would have made a significant impact now.



But we do agree - Adobe is a steaming pile of rancid dogshit.
Reply With Quote
  #25  
Old Jun 5th 2012, 09:36 AM
Americano's Avatar
Americano Americano is offline
Globetrotter
 
Join Date: Oct 2008
Posts: 8,614
Default Re: The Russia Computer scene

Quote:
Originally Posted by shekib82 View Post
Yeah maybe you're right. But then again sometimes the deadline can only be met by doing 50 percent of the work. And sometimes you just don't have a choice.
I always thought that was the name of the game. Get the product to market, generate the almighty god cash flow and then produce ongoing patches as required. Versions 2, 3, etc. being used to increase customer base.

How else would the average software company survive and prosper? It's not like they have access to unlimited development capital and open-end schedules to develop perfect software.
__________________
"No one ever went broke underestimating the intelligence of the American people."
~H.L. Mencken~
Reply With Quote
  #26  
Old Jun 5th 2012, 12:09 PM
shekib82 shekib82 is offline
Globetrotter
 
Join Date: Feb 2012
Posts: 3,134
Default Re: The Russia Computer scene

Quote:
Originally Posted by Americano View Post
I always thought that was the name of the game. Get the product to market, generate the almighty god cash flow and then produce ongoing patches as required. Versions 2, 3, etc. being used to increase customer base.

How else would the average software company survive and prosper? It's not like they have access to unlimited development capital and open-end schedules to develop perfect software.
Well that's exactly it. Programmers are always pushed to cut corners to meet deadlines. Despite all the software engineering knowledge that exists a big part of the development process ends up being hacking. It is only after the multiple patches that the product end up being a quality product.
Reply With Quote
  #27  
Old Jun 5th 2012, 01:09 PM
Americano's Avatar
Americano Americano is offline
Globetrotter
 
Join Date: Oct 2008
Posts: 8,614
Default Re: The Russia Computer scene

Quote:
Originally Posted by shekib82 View Post
Well that's exactly it. Programmers are always pushed to cut corners to meet deadlines. Despite all the software engineering knowledge that exists a big part of the development process ends up being hacking. It is only after the multiple patches that the product end up being a quality product.
That makes sense. The critical management decision being when to release with a minimum of customer disruption (patches) based on business plan revenue requirements. I can't remember using any software from large accounting and database packages through personal graphics programs that didn't have updates. Some periodic, some in flurries. Customers are an efficient method of quality control in many products.
__________________
"No one ever went broke underestimating the intelligence of the American people."
~H.L. Mencken~
Reply With Quote
  #28  
Old Jun 5th 2012, 06:04 PM
Michael's Avatar
Michael Michael is offline
Administrator
Herder of Cats
 
Join Date: Oct 2008
Location: Toronto
Posts: 14,835
Default Re: The Russia Computer scene

Quote:
Originally Posted by Americano View Post
... Customers are an efficient method of quality control in many products.
Very true, but only for producers/sellers who value repeat business. If your business model is all about 'one sale and move on' then quality control is mostly unprofitable.
__________________
Remember what the dormouse said: Feed your head!
Reply With Quote
  #29  
Old Jun 5th 2012, 08:23 PM
Americano's Avatar
Americano Americano is offline
Globetrotter
 
Join Date: Oct 2008
Posts: 8,614
Default Re: The Russia Computer scene

Quote:
Originally Posted by Michael View Post
Very true, but only for producers/sellers who value repeat business. If your business model is all about 'one sale and move on' then quality control is mostly unprofitable.
It seems prevalent and accepted in the software application industry. Perhaps because, even though they curse it, customers have been conditioned to accept it? As mentioned, the criterion seems to be a management call on what's market acceptable in relation to revenue generation requirements. Though I'm unfamiliar with the details of that industry it would seem, like most business circumstances, to be allocation of human resource overhead to maintain positive cash flow. X programmers on the next release, Y on refining the current release through customer support data/outside product development adapters tying in with X.

Not exactly like engineering a building where cutting corners could result in physical disaster, unless the release is so premature as to be completely unusable.
__________________
"No one ever went broke underestimating the intelligence of the American people."
~H.L. Mencken~
Reply With Quote
  #30  
Old Jun 7th 2012, 12:42 AM
drgoodtrips's Avatar
drgoodtrips drgoodtrips is offline
Official Forum Geek
 
Join Date: Oct 2008
Posts: 1,314
Default Re: The Russia Computer scene

Quote:
Originally Posted by shekib82 View Post
Well that's exactly it. Programmers are always pushed to cut corners to meet deadlines. Despite all the software engineering knowledge that exists a big part of the development process ends up being hacking. It is only after the multiple patches that the product end up being a quality product.
This is, as I see it, a common misconception. Programmers (and project teams) are just pushed to meet deadlines. They're not asked to cut corners or to do anything, specifically -- just to meet the deadline. I'll grant you that a manager or even a customer might say something like "I don't care if it isn't perfect - I just want it now."

And, that's fine. In fact, it's more than fine -- it's expected. Netscape was a good example of what happens when you try to perfect the software while constantly pushing back shipping date. But here's the catch -- what you should be doing is shipping admittedly incomplete software to the customer rather than shitty software. What customers really want is the ability to make decisions.

If Michael contracted me to write a new website for DWF, he might say something like "I need something up and running by the end of the week, but it doesn't need to be complete -- just the basics". What he's saying to me isn't "write a piece of crap that will allow Russian hackers to crack our passwords in 10 minutes and rush it to market" and it isn't "hurry up and design something that's so bad it will be completely infeasible to add features to it." What he's really saying is "break your effort down into features (user stories) that each take a few days and let me prioritize which ones you do first." So, I might say it'll take me a day to get the user login credentials up, three days to get posting ability up, three days for the green forum colors and three days for the emoticons. From there, he might say "get the logins and postings working and let's go live with that. The forum colors and emoticons can wait for Version 1.1"

He's not interested in me cutting corners or writing crap. He's interested in prioritizing his feature set to emphasize functional, if not perfect, as soon as possible. This allows him to make business decisions about his site. Choosing features and their completion dates is a business decision. Writing crap is a (bad) technical decision. If techies were to explain it adequately to the business in terms of "technical debt", the business stakeholders would never allow duct-tape programming/hacking because it's every bit the company killer that being slow to market is, it just stretches the torture out longer and results in more layoffs at the end.

Think of it this way. If I hooked up with a company and offered a deal where they could have as many features as they wanted, but feature n would take n weeks to implement, nobody would hire me. In other words, the first thing they want takes a week, the second takes two weeks, the twelfth takes twelve weeks, etc. So, version 1.0 gets out the door nice and quick, but version 1.1 takes twice as long, and things spiral exponentially downward from there. That may sound ridiculous, and it should. It's how duct-tape programmers/hackers do software.

Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT -4. The time now is 08:34 AM.


Powered by vBulletin® Version 3.7.2
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
Copyright 2008 - 2017, DiscussionWorldForum.com