About Me

IT Executive and former Uber-Geek. Married with "The Boy", living La Vida Loca in Fabulous Las Vegas.

My Local Weather
February 8, 2012, 10:44 pm
Clear
Clear
51°F
real feel: 47°F
current pressure: 30 in
humidity: 29%
wind speed: 4 m/s S
wind gusts: 4 m/s
sunrise: 6:35
sunset: 17:14
 

Posts Tagged ‘General Software Development’

Outsourcing–Dealing with “Good Enough”

One of the most common issues that western companies deal with after outsourcing software development to India is a lower standard of quality of the software/testing being done.  It would be simplistic, and a little racist, to simply say that Indians are incompetent, incapable, or most laughably – lazy.  I’ve dealt with literally dozens of western managers and developers infuriated by software delivered that functionally works, but that doesn’t follow what we would consider even a modest amount of professional development discipline.  This can include things like no unit tests, unit tests commented out, poor understanding of the technology being used for development, insecure code that would falter under even the slightest SQL injection attack, etc.  Again, the software generally works but is not something you’d want to trust your customer’s credit cards to.

Getting to the real problem

Indian Data Center Power Backup SystemRather than simply label the developers as incompetent, to be successful you need to understand a bit about the culture to get an understanding of where this problem could be coming from.  Nearly 1/3rd of the world’s poor live in India, with estimates ranging around 645 million people.  That poverty has led to a culture of making the most from everything they have.  Very little is thrown away, and what is thrown out is then picked through and reused again.  That spirit of ingenuity is what has allowed India to start pulling itself up to become a major influence in Asia and the rest of the world.  There are literally dozens of examples of this that you see every day.  From motorcycles turned into trucks for hauling goods to cow manure used as cooking fuel, everything can be used for something.  Girls forming Cow Poop for Fuel

But that ingenuity comes with a downside.  When resources are scarce, the mindset is generally to take the shortest solution to any problem.  One of my favorite examples of this mindset shows up in Indian construction.  All over India beautiful new skyscrapers of steel and glass are going up, most of those do so with construction workers crawling on scaffolding made of bamboo sticks lashed together.  Why?  Because bamboo sticks are all that they need.

For your developers, the same mindset leads to software that functionally works but is of poor quality.  Your requirements outline the functionality required but if you don’t make the quality requirements as equally clear then you leave it to them to decide the path they take and more times than not, that path will include bamboo scaffolding and smell of cow poop.

Indian Scaffolding

How to to get past “Good Enough”

The key to ensuring the quality of the software delivery is to create processes that enforce proper practices.  Don’t leave quality decisions to the teams until they show that they understand the level of quality you expect as a standard.

  1. Make nonfunctional details part of the specification.  This includes unit tests, code coverage, documentation, etc.   Code is not accepted until these items are also met.
  2. Use modern development automation to help find issues before testing.  These include continuous integration, automated builds, and automated regression testing.
  3. Provide training for all technologies that you expect the teams to be proficient in.  Don’t assume they already know anything more than basic syntax.
  4. Code review EVERYTHING!!
  5. Find leaders within your teams who understand the quality required and appoint them as mentors to the teams.

Sometimes a cigar is just a cigar

While my interpretation of the cultural mindset of “Good Enough” might explain poor quality standards, this doesn’t mean that there aren’t some bad apples out there.  Not every developer has the drive and discipline required to produce quality software.  Your best bet for those individuals is the same as bad developers in any country.  Minimize their ability to drop bombs into your code base until you can eventually get them off the team and out of your hair.

 

<Disclaimer> Please see my earlier post for a basic disclaimer and explanation of the intent of these posts.</Disclaimer>

Share

Great quote from Steve Ballmer on Apple’s “Cult Following”

I attended a TechNet event today called “Technologies to Change Your Business:  How Customers Are Implementing Tomorrow’s Strategies Today”.  It was primarily geared around Microsoft’s virtualization stories and SQL Server 2008, but I attended to see if Steve Ballmer was going to drop any news about Microsoft’s Cloud Services.  After his keynote, there was a question and answer session where a question was asked that led to the presenter talking about Apple’s “cult like following” for its products such as iPhone.  This was Steve Ballmer’s reply:

Currently 97% of people run our software.  I don’t know if that qualifies as a cult but we’re pretty happy with our numbers.

Well said sir, well said.

First published on my new blog at www.sleepdeprivedmind.com.

Share

Facts vs Web 2.0

I was recently wallowing in my usual firehose of RSS feeds when I came across a link from Heather Leigh’s blog about Mozilla’s attempt to poke at Internet Explorer by quoting statistics that say IE users are more likely to get, have, or be living with cancer.  The firestorm of disgust and outrage that they have since been dealt is certainly justified.  But what really bothers me isn’t that the ads were in incredibly poor taste, and they were, but that all of the so called “stats” were in fact complete works of fiction.

In the past several decades the world has seen a huge rise in the amount of information available with the click of a few keystrokes.  But information IS NOT fact.  Information requires interpretation and the application of judgement.  Facts are information for which there is actual evidence.  Now of course you can say that facts change, after all in my lifetime scientists have discovered that the electron is not the smallest particle of matter.  But those cases are rare enough to be largely irrelevant, paritcularly when you’re just trying to find out who the heck invented cheese in a can.  So then, as information overload hits us all sifting through the rubbish for actual nuggets of fact is becoming ever more difficult.  And Web 2.0 is making it worse.

I read through literally hundreds of blogs a day, a habit that first started while I was the editor for TheServerSide.NET.  During my reign there (sounds better than job), I saw first hand how information is misinterpreted as facts.  In a blog post Clemens Vasters joked about a meeting with Don Box where a new technology was going to be created called BOA or BML.  It was a joke, but Mary Jo Foley from Microsoft Watch picked up on it and reported it as a new technology on the horizon from Micorsoft.  Okay, so you can say shame on her for not getting her facts right (or ever reading the post correctly) but the real shame is on us, because if they hadn’t pointed out her mistake we’d all be wondering when BOA and BML would be released.  Blogs are great, you’re reading one now.  But whether you believe what I write is based on what exactly?  A perception of my expertise?  The fact that I have an MVP logo on my page?  Just because somebody can throw up a blog and pump out deeply thought out pontifications on the evils of corporate programming doesn’t make them experts nor does it make their products actually sell (Yes, I’m talking about Joel Spolsky).

Another case in point where Web 2.0 is blurring the line between fact and fiction is the case of Socal Networking.  Now I believe that social networking can be a valuable tool.  I like looking at the recommendations in Amazon or Rhapsody from other readers/listeners.  I’ve found some really cool music that way.  But social networking is predominantly an aggregation of opinion, not facts.  You wouldn’t go to Facebook to find out how magnetism and motion are converted into electricity, although I’m sure somebody has an opinion about it up there somewhere.  However, people often look to sites like Wikipedia for actual facts even though it has had numerous scandals of individuals posting incorrect information or information slanted toward a company’s product line.  In that sort of world, the loudest voice is the expert (see earlier reference to Joel) and facts are largely irrelevant.  But even in sites like FaceBook, data is often fiction.  How many articles do we have to read about teens thinking they are talking to another teen only to find out that they are actually a 43 year old dock worker looking to take advantage.  A teen reads the age quoted and accept it as fact automatically.

It all comes down to who do you trust.  Where can you get factual information online?  If I put up a flashy website with a nice corporate logo saying that I’m an expert in brain surgery and get enough links in Google, I can post any sort of rubbish I want to and it will only be a matter of time before I’m speaking at AMA conferences.  The ease of large scale broadcasts that Web 2.0 has enabled means we need to be even more careful about not trusting what we read.  And Mozilla, well they’re just idiots.

Share
Archives