[PJUG Javamail] Is software engineering in the US dead?

Wayne Carstensen waynec at c-ware.com
Thu Oct 1 03:02:18 EDT 2009


Jumping in late on this topic, but I wanted to chime in on the 
philosophy of quality. Bad software is like pornography... we all know 
it when we see it.

But that is the issue here - the software we build is in a black box. 
Anyone can make the crappiest spaghetti code, but so long as the 
customer can push the button on the box and the light comes on, the job 
is done. So given time, money and quality - pick two. Unfortunately, 
quality is hidden in the box, so companies tend to squeeze time or 
money. I think quality is of the utmost importance, as I think it has 
the greatest impact on cost.

I think open source software magnifies this point, as it isolates 
quality from the time and cost factors, as it is freely available and 
turn-key. If you choose to integrate OSS libraries, you effectively 
outsource a segment of your application to the open source community. In 
the absence of cost and with minimal implementation time, quality is the 
only factor. The more you leverage a particular library, the closer you 
tie your applications quality to that of the library. Quality is the 
primary factor in choosing between two libraries.

Outsourcing is the polar opposite of open source, and in-house 
development is somewhere in between. Outsourcing companies must be 
motivated by dollars which means they will sacrifice quality, or as 
described in an earlier email lengthen timetables. Whereas open source 
developers want to fulfill their need for quality software, and so 
commit their time without money. In-house developers balance their time 
between quality and cost, because ultimately they will have to maintain 
their own mess. So you are ultimately making a decision where you will 
spend your money, and the only factor is quality, assuming that which 
ever option your choose you will get your black box with a button and 
the light will turn on. The only other trade off is dollars for time 
(takes longer to communicate over distance, language, etc.)

Is more maintenance work or initial bulk coding being outsourced? I can 
see outsourcing the maintenance programming, but not the initial core 
works, which can be critical to a projects longevity, where quality 
becomes a multiplier for any future work.

- Wayne

Wayne Carstensen
C-Ware, Inc.


Chris Kessel/Lou Doherty wrote:
> "Quality" of a mass produced good isn't comparable to "quality" of a 
> crafted item like software.  Whether your bobble head doll is stamped 
> out in China or the US makes little to no difference to its quality. 
> There's nothing resembling the kind of teamwork required in software, 
> communications required, design skills, etc. There's no "essence" as 
> Brooks put it in stamping out a bobble head doll.
> 
>  
> 
>             Leave it to me to change a discussion towards philosophy...
> 
>  
> 
> It's fine to change the discussion focus, but let's pick an analogy 
> that's closer to apples to apples, rather than apples to lawn mowers...
> 
>  
> 
> *From:* javamail-bounces at pjug.org [mailto:javamail-bounces at pjug.org] *On 
> Behalf Of *Howard Abrams
> *Sent:* Wednesday, September 30, 2009 11:16 AM
> *To:* javamail at pjug.org
> *Subject:* Re: [PJUG Javamail] Is software engineering in the US dead?
> 
>  
> 
> As I've been following this thread, I'm struck by how much the word 
> "quality" has been bantered around. We feel that we can justify our 
> higher cost due our better quality, but this strikes me as not very 
> tenable. I mean, how often do each of us shop at Walmart for our sound 
> systems as opposed to Echo Audio or Bose, What about Winco vs New 
> Seasons, or... you get the picture. As both business-people and 
> consumers, we often choose cheaper Chinese goods instead of better 
> quality versions from the U.S.. 
> 
>  
> 
> I have a toaster made in 1950 that still works (I've blogged about the 
> details <http://www.howardism.org/thoughts/001074.html>), but few people 
> are willing to spend extra money for a perceived increase in quality.
> 
>  
> 
> Of course, some people will spend more on something that they feel will 
> last longer or has another aspect of "value". People who purchase Macs 
> typically say the extra value they feel they are getting is worth the 
> extra cost. But "value" is a difficult metric, and while one person may 
> claim that a Mac is "better", another can disagree with the same reason.
> 
>  
> 
> While it is beside the point, I have found plenty of code produced by 
> American engineers that lack quality.
> 
>  
> 
> My point isn't to start up any flames (esp with your Mac and PC zealots 
> out there), but to get us thinking that maybe we, as a community of 
> engineers, could come up with more tenable arguments to back up our 
> "quality" rationale:
> 
>     * Language, timezone, culture, and communication.
>     * Long-term support and maintenance
>     * Produce code closer to requirements /quicker/
>     * Better able to render business requirements into business code
> 
>  
> 
> Leave it to me to change a discussion towards philosophy...
> 
>  
> 
>  
> 
> On Sep 29, 2009, at 4:47 PM, Nimret Sandhu wrote:
> 
> 
> 
> On Tuesday 29 September 2009 10:18:25 am Umesh Gohil wrote:
> 
> I am following this thread closely and thought to give my suggestion.  No
> 
>     Biased thought. My question is Why outsourcing take place? When you
>     think
> 
>     from management point of view then they want to reduce cost of
>     software and
> 
>     maximize profit.
> 
> 
> ( reducing cost of software && maximizing profit) != quality product
> necessarily
> 
> I think it's very short sighted to automatically assume that there are
> benefits in outsourcing just because it is cheaper .. esp ignoring the 
> other
> costs in terms of distributing your workload/workforce globally:
> communication issues, increased management costs, liability issues, etc etc.
> 
> I am not saying that it can't be done .. but there are lots of challenges
> which are simply overlooked cuz people think it's cheaper.
> 
> 
> How management can achieve this ? All of us know Labor or Employee or
> 
>     Contractor in US is not cheap. If Mngt want to maximize the profit then
> 
>     they have to find alternative and alternative is nothing but out
>     sourcing.
> 
>     All business has few advantage and disadvantage . Like that outsourcing
> 
>     also has advantage and disadvantage.
> 
>     Software development   is faster,
> 
>     Production support is there 24/7 and so on.
> 
> 
> not necessarily. when I was working with offshore teams and any issue 
> came up,
> we pretty much had to wait until the next day to resolve it. But if you're
> working with someone who has similar office hours or an overlap issues are
> resolved way more quickly. A simple thing which could be resolved in 10 
> mins
> can literally lead to a day's turnaround time!
> 
> again, 24/7 support and development sounds like a great idea but falls 
> short
> in practice.
> 
> 
> If you calculate also then
> 
>     Avg Employee Cost $45 -  $50 per hour
> 
> 
> seattle rates are higher than that for *quality* programmers.
> 
> 
> Offshore Cost $20 -- $25 per hour  [ $5 overhead cost ] Then also it is
> 
>     less than what avg employee cost.
> 
> 
> factor in the overhead cost of:
> - breaking up the work so that it can be worked in tandem
> - keeping track of the work as it is being done
> - acceptance testing
> - following up on issues as they arise
> - latency associated with working across timezones
> 
> and all of a sudden the hidden costs start showing up and the rate 
> comparision
> isn't quite the whole picture.
> 
> btw, last I managed offshoring work 4-5 years ago, the rates were more 
> like 4
> programmers in Bangalore for 1 american programmer. Out of the 4, 2 were
> junior level and only 1 of the two experienced programmers was really worth
> his salt imo.
> 
> 
> Some company are laying standard's for offshore team also like Sun
> 
>     Certification, Master degree , Few years of experience and so on. So
>     that
> 
>     they get quality product.
> 
> 
> well, don't even get me started on that. All I have to say is:
> http://www.businessweek.com/globalbiz/content/jan2009/gb2009017_807784.htm
> 
> I used to work at a startup back in the 2003 timeframe who had a 
> disagreement
> with their offshore partner but hadn't thought of that contingency. I 
> believe
> their entire source repository was downloaded remotely if I remember
> correctly. I am not saying that this is the norm for offshoring, just
> pointing out that this company decided to be what they thought was cost
> effective but ended up paying for it by losing their crown jewels. They 
> just
> hadn't thought things through.
> 
> A lot of companies/folks make the mistaken assumption that the business 
> rules
> in foreign countries rae the same as the US. Heck, even France/Germany have
> different work/business rules than the US does .. nevermind the rest of the
> world.
> 
> All of these things have to be factored in when companies are thinking of
> off-shoring and to some extent even partering with other entities within 
> the
> US.
> 
> 
> Software Engineering in US is not dead at all. But we need to learn new
> 
>     technology and be ready.
> 
> 
> after having said my .02 about outsourcing I will say that we are 
> competing in
> a global economy and there will be all kinds of programmers everywhere 
> around
> the world: excellent, mediocre and those who probably should not be
> programming. The key is to remain up to speed on new and upcoming
> technologies and being competitive.
> 
> cheers,
> -- 
> Nimret Sandhu
> http://www.nimret.com
> http://www.nimsoft.biz
> _______________________________________________
> Web Site - http://www.pjug.org/
> Javamail mailing list
> Javamail at pjug.org
> http://www.pjug.org/mailman/listinfo/javamail



More information about the Javamail mailing list