Category Archives: Software Development

The second test project & the second bid

Categories: Semi-Popular, Software Development | Tagged , , , , , | 1 Comment

It is like pulling teeth to find good software companies to hire. I started off by hiring software companies / software outsourcing companies who talked well on the phone. Then, after I saw their work I realized that talk is cheap. Of course the ones who didn’t talk well, couldn’t function when we needed to communicate. Damned if you do and damned if you don’t.

So, to get a sense of perspective about how efficient companies were, I gave many a test estimate job. Some bid too high, while others bid too low. What I realized is that the ones who bid too low were not realistic or reliable. The ones who bid too high were crooked. Those who bid right on target were too good to have time for me. So, I tried to find companies who bid a little higher than what I wanted — but, not too much higher. I overlooked a few things.

I found one software outsourcing company who bid perfectly on a test project. I wanted a bid of 40 hours, and they bid exactly 40. Then I had another project which took other programmers about 2 hours. This same company wanted 16 hours for 2 hours of work. OMG! They bid very realistically on the first job, and insanely on the second. So, I am realizing that my screening process needs to be longer and include more than one bid.

Another company was given a job that I thought an American software company should take 4 hours to complete, but that an Indian company might take 6 hours. They came in at 5.25 hours. I was very happy, and their work was flawless. Then they bid on a 60 hour project and wanted 800 hours. What happened?

I feel that before settling on a particular software outsourcing company, shop around and really put people through two test projects and several quick bids to see if they are in the ball-park each step of the game. If they are sometimes out of the ball park, you could lose your shirt very quickly.

Never judge a company by their first bid!

Tweets:
(1) If ur testing companies out, give them a 1st test project, and then a 2nd before hiring them.
(2) If a company bid sensibly on test project #1, they might bid insanely the 2nd time around
(3) Never judge a company by their first bid!
(4) Don’t judge a book by its cover or a company by its 1st bid.
A 2nd bid proves you’re consistently in the ballpark!
(5) Baseball is back! As you visit the ballpark, make sure the IT guys bidding are in the ballpark! Or they’re…OUT!
(6) Bidding too low: unrealistic.
Too high: crooked.
On target: too busy for me.
A little higher than ideal? 🙂
(7) Don’t judge book by its cover or company by its 1st bid. Get two bids to make sure both are in your ballpark!

You might also like:

You are a helpless victim if you hire the wrong company!
Click here

How to ensure that software company you hired will deliver!
Click here

We like to work remotely = a warning sign in programming!

Categories: Software Development | Tagged , , , , | Leave a comment

“We like to work remotely”
In this virtual age, people work remotely all the time. That is possible with the new technology, and a popular choice. I work from home as does everyone I work with. But, not everyone works well from home.

I like to work “one on one” with programmers. That means I need to visit their office to work with them. The problem I encounter is that they either don’t like having me around — ever, or that they don’t have an office. It gets more confusing than that though.

American companies in California and other states are very tricky these days. Watch out, because you might get taken for a ride. When I ask if the company has an office, they often say that they do. Next, I ask if the people they hire actually work in the office. You never know, they might have half their staff in the Philippines. I get a variety of answers. I typically tell them that I am going to visit their office so I can get a sense of who they are and how they work, etc. It is common for these companies to tell me that they do not allow visits from clients. They are probably hiding the fact that their workers are not actually working in their office.

The next truth or untruth I typically uncover is that their workers not only work remotely, but are not in fact employees. This is actually a serious problem. If a company has an employee, they can tell the employee what to do, and the employee has to do it. If the virtual programmers are independent contractors, they can accept any job they like, and are often very picky about who they will even talk to. Your point of contact will assure you that they are in control, but more times than not, the programmer is in control, and is not interested in acquiring new clients.

Then, when I find companies whose employees actually do work all under the same roof, the common answer is that they don’t want to work with me. There always seems to be a reason why I am prevented from getting my work done by someone reliable.

I had one scenario with a bunch of programmers. They told me that there were seven of them and that they were all authors. I was assigned to their lead programmer. After a while there were “delays” in my work getting done. The delays were really that the programmer had taken on a new client and didn’t want to work with me because he didn’t like me and didn’t have time either. I mentioned that I would be happy to work with their other programmers. Then, I learned that was against company policy as the lead programmer had to know what was going on before they could write even a single line of code. I was sabotaged with an artificial road block. The truth was that there was only one programmer and that he was not an author. I was hoodwinked.

Review of scenarios
(1) A programming company actually has an office with actual employees working in the actual office. They might refuse to work with a small company or bid four times the number of hours that a project actually needs. We have seen this many times. They can get away with a lot because they seem reputable.
(2) A programming company PRETENDS to have an office. When you tell them you are going to visit them, then the “employees” work remotely and are not in the office. When you finally make it to their office, it is a conference room in a shared office — and their name is not even on the roster for the shared office space.
(3) A programming company says that they work REMOTELY, but that they have been working with each other for 10 years. You have no way to verify how long they have been in business or how long they have been working with a particular programmer. The arrangement is likely to only have lasted a few months to two years at most making it very unstable for a long term relationship.
(4) A programming company has an office, but refuses to let you work directly with programmers there. Are they hiding something?
(5) A programming company with or without an office hires overseas workers who might not live up to any type of American standards.

How can you be safe hiring programmers you might ask? Honestly, California is the worst place in the world to look for a programmer. Try the Mid-West, Northeast, or find a company in India or Belarus that you have screened very thoroughly. There are some very good companies overseas, but they are mixed in with some con artists. America has almost the same percentage of con artists, but with prices that are four times as high. Do you want to get conned in dollars or rupees? I assure you that getting conned in dollars is much more costly! Be cautious and good luck!

You might also like:

5 reasons to have your company under one roof!
http://bpo.123outsource.net/2013/10/04/5-reasons-why-you-should-have-your-company-under-one-roof/

Cottage industries in India ruin India’s outsourcing reputation
http://bpo.123outsource.net/2013/09/29/cottage-industries-in-india-ruin-indias-outsourcing-reputation/

A worldwide shortage of good .net programmers

Categories: Software Development | Tagged , , , | Leave a comment

The old days
It used to be easy to hire programmers for many years, but recently a bubble in the .net programming market has formed, making it hard to get any programming resources at all, even if you pay top dollar. The only way to get work done is to offshore the work to Eastern Europe or India it seems. But, even they have a shortage of the higher end programmers.

But, when will this bubble end? Maybe sooner than you think!

What is India doing?
India is churning out programmers faster than a sausage machine turns out sausages — or at least it seems. The big companies gulp up all the good ones too. In India there are tons of junior level programmers available, but where are the seasoned programmers? Gulped up! They exist, but they just are not available for consumption by smaller companies. However, as the years go on, all of the existing junior programmers will mature into seasoned programmers, and hopefully there will be too many programmers for the big companies to devour. Or, there could be a turn in the world economy where the big guys start laying off workers left and right. It is unpredictable and markets are always cyclical in any case. But, programmers grow on trees in India and that is not going to change.

The hidden giant!
The world looks at India when it thinks about software outsourcing. The Philippines doesn’t do that much IT outsourcing compared to call center work. But, what about China? China focused more on manufacturing for decades, but now is doing a lot more with IT outsourcing. Chinese companies tend to be larger than most Indian companies which is a huge difference. But, the key fact to understand here is that Chinese will work 16 hour days, and can be very efficient if they put their mind to it. If the Chinese decide to take over IT outsourcing, then in a matter of years, the game will be over. India is too lackadaisical to win the game. China will win and take most of the market with it. This could mean mass unemployment for American programmers and a glass ceiling for salary increases in India.

You might also like:

Programmers and the speed of their work
Click here

Is someone else doing the work assigned to you?
Click here

What makes a good project manager?

Categories: Semi-Popular, Software Development | Tagged , , | Leave a comment

Most people think that someone experienced would make a good project manager. This is not always the case. If you don’t triple check everything and watch every detail, you can not be a good project manager even if you have 30 years of experience. If you can’t communicate well, you also cannot lead others. Experienced workers often lack all of the qualifications to be a good project manager. The problem is that a good business model consists of having a good lead programmer on staff to supervise the others.

If you have a team of programmers and the lower level programmers are sometimes a little sloppy, that is acceptable (although not desirable) assuming that the project manager catches all of their mistakes before they go too far. But, if there is any failing on the part of the project manager, the project can not get done efficiently (or at all).

A good project manager needs to know how to:
Estimate jobs, allocate resources, communicate, double check work, regularly confirm ETA and schedules, and more.

The irony is that the project manager doesn’t have to be a good worker, or a worker at all. Many good project managers do not know how to code. They might be able to read code, but they often do not know the language being used in a particular project. Their job is to lead, and not to work. Some people are better at grunt work while others are born leaders.

Just remember the following quote:
Those who cannot do — lead; Those who cannot lead, lead leaders! Those who cannot lead leaders become project managers at dysfunctional companies!

You might also like:

Steve Jobs watched his programmers carefully, so should you!
Click here

How good are you at estimating jobs?
Click here

If you do outsourcing, your programmers need English

Categories: Outsourcing Articles, Popular on Google+, Semi-Popular, Software Development | Tagged | 1 Comment

Many programming bosses think that their programmers don’t need to interact with clients. They don’t like dealing with human beings in any case, right? This is true. Programmers have a particular gene that scientists have isolated that is responsible for antisocial behavior. It is the S3427 gene. It causes people to not be physically capable of picking up a phone and dialing 10 digits, or sending an email on their own initiative. It is a most interesting gene, and so many people have it. But, sometimes the client needs to be able to interface directly with a programmer, especially for more complicated projects.

Many programming companies have a “project manager” who is someone who flakes 90% of the time and doesn’t really supervise anything, not do they double check anything. Clients are forced to relay their question to the project manager who asks the programmer who gives the project manager an answer who relays the answer to the client. There is double the quantity of communication, triple the aggravation, and quadruple the miscommunication. If you are talking to someone, you should talk directly to them, especially if it is complicated.

But, if you hire people in India, the programmers typically don’t know English. So, how do you work with them? You can find people who know a little English, and hope for the best. Or, ideally you hire people who really do know English. After centuries of British rule, you would expect more people to know English, right?

The bottom line is:

If your .net programmers don’t know English, you will encounter a lot of problems outsourcing to English speaking countries. Why not hire people who know English, and then train them in good communication skills?

You might also like:

Customer service is what Americans want
http://bpo.123outsource.net/2013/09/12/customer-service-what-americans-want/

A special economic zone for insourcing in Oklahoma
http://bpo.123outsource.net/2013/09/04/a-special-economic-zone-idea-for-insourcing-in-oklahoma/

Steve Jobs watched his programmers carefully — so should you!
http://bpo.123outsource.net/2013/10/10/steve-jobs-watched-his-programmers-carefully-so-should-you/

Hiring people with a good attitude does wonders!
http://bpo.123outsource.net/2013/07/09/hiring-people-with-a-good-attitude-does-wonders/

You are a helpless victim if you hire the wrong company

Categories: Software Development | Tagged , | Leave a comment

There is nothing worse than being a business owner who is helpless. You might be a millionaire or a “crorepati”, but if you hire the wrong people to work for you, you will be as helpless as an elderly person at a nursing home screaming, “Help… help… will somebody help me…?” All the money in the world will not help you get these jerks to deliver on their promises or get their work done on time. As a business owner you need to be smart, otherwise you will be in this helpless situation over and over again. You can fire one company only to get another BPO company that strings you up and dangles you almost exactly like the last one did. They don’t care about long term business, and they hate their clients. How do you protect yourself from bad software companies or bad outsourcing companies?

First of all, it is common for Americans to be mistrustful of companies in other countries. I will tell you from first hand experience that companies abroad are not worse than American companies. Their workers might be smarter or dumber depending on where you go, but the integrity violations are worse on American soil than India. The problem in India is not integrity, it is that they put some incompetent beginner on your project who can barely function, while the American company tries to charge you $60 per hour for a minimum wage employee who is completely unhelpful. Either way you get screwed, but at least in India they get quadruple the amount of work done (in octuple the amount of hours at 25% of the cost per hour — do the math). You will get screwed almost every time unless you know how to shop.

Quick Tips
Does the boss give you a better worker upon your request? If not, fire them.
Is the company willing to do a test project for you? If not, don’t hire them
Does the company bid 10 hours on a 3 hour job? Don’t use them.
Did the company deliver sloppy work on a test project? Don’t use them.

Checking References
Did you check the company’s references online? It is always good to check references, but treat them with a grain of salt (if doing outsourcing, preferably sea salt). I checked one company’s references, and they were good. I read online reviews, and contacted three clients they gave me as references. They checked out well. So, I was safe, right? I asked them to do an estimate for a project that takes American programmers 3 hours, and Indian programmers a little longer (Things in India take longer because they have less experienced programmers allocated to YOUR job. The good ones work at Oracle and Intel in India). This company wanted 10 hours to do a 3 hour job AND charged quadruple per hour. I would have lost my shirt if I had relied solely on reviews. So, check reviews, but don’t rely on them. A review is only a statement from a company’s best client. What you really want to know is how their worst client feels.

The test project idea
You never know who a good company to work with will be. However, there are ways to weed bad companies out to improve your odds of being lynched by bad software companies. Putting them through a test run, or serious of test runs is one way to do it. Remember, companies that have salespeople or programmers that talk well at interviews DON’T DELIVER 80% of the time. Without a test run, you will get only talk, and no verification that they at least CAN deliver when they are trying. It still doesn’t say how they will perform when they stop trying, but at least a test run tells you something.

Being helpless is dangerous
You can lose money if you fire someone in the middle of a project. You can get sued for not paying someone for work they left half done. A bad company can damage your programming or data (and not care even a little bit). They can hurt your feelings, not to mention delay you for months on end without a second thought. Beware. You are dealing with scoundrels out there. Protect yourself.

How to ensure that the software company you hired will deliver!

Categories: Semi-Popular, Software Development | Tagged , , , , | Leave a comment

It is commonplace in America for smaller programming houses to take on new clients when they have no resources to do the actual work. They typically do this either because they can not predict their future workload, or because they intentionally want to have a large backlog of orders so their staff will not be sitting around with nothing to do.

Unfortunately, what these companies typically do is to take on a new client, and immediately put them on the back burner. The client will have to wait months to get one week’s worth of work done. Lies, deceit, and other manipulative exchanges of reasons will accompany the sluggish work. The question is, how do you ensure that your new software company will not put you on the back burner?

(1) First of all, SMALL software companies don’t care about the long term business – by definition. Because if they did, they wouldn’t be small for long. They would treat their customers well, acquire new ones, but not lose the old ones that often. Smaller software companies typically mishandle all of their clients and lose them as fast as they come in. That guarantees that they will remain small (and inept) forever, until the market changes in which case they would simply vanish.

(2) Companies with offices typically get more done than companies where employees work from home. This is not a hard and fast rule, but I have many examples in my mental database of work-at-home scenarios. If the company is a large and reputable company and workers work at home, that might work. But, for small companies that don’t have a solid reputation, you are asking for trouble if people work from home. Companies with 1-5 people tend to be completely un-businesslike and irresponsible. Pair that with working from home and you have a disaster. If they have an office, and the office has not been populated by them for more than five years, they lack what Indians call: “Being well settled”.

On the other hand, companies who have had offices for years and have 6-12 people who work in the office daily, my experience has been that they are not perfect, but will get some serious work done. Companies with 20+ workers will get tons of work done. The size of the population inhabiting the office (during business hours) is directly proportional to how much work will get done on your project.

(3) Companies LIE about how many employees they have. You need to VERIFY that they really have 500 employees. Ask the boss to NAME THEM all and tell you a little about each of them. I am not joking. At least do this with the employees whose business pertains to your work. VISIT their office to make sure it really exists and that they really have 30 Java programmers with 10 years of experience per person, and not 4 Java programmers where the lead programmer has 3 years of experience who is leading a bunch of inept clowns with 1 year of experience.

(4) TEST these companies out. Give them a few test projects. Perhaps ask them for an estimate on a job. See if the amount of hours they need is reasonable. See if they ask good questions. Ask them to do a quick project to see if they actually do anything. How quick? You are paying for your test, so it is as quick as you like. A 1-hour test might be enough to see if they get off their rear!

(5) Getting programmers to deliver is similar to getting building contractors to deliver. They are notoriously late every step of the way, and two month projects generally take two years. A PENALTY contract might be hard to get them to sign, but it is at least something to think about if time is money. There needs to be a distinct penalty for sluggish or uncooperative behavior. They can ruin your company’s development plan for months if they don’t cooperate.

Potential Damages for Carelessness
Imagine that you hire a company who gets you to get involved in a long project and they stall half-way through. You will be put in the position where you have a choice of firing them mid-way (which is expensive and complicated) or waiting indefinitely for them to finish. You are at risk, and most software companies couldn’t care less about stringing you up and keeping you waiting indefinitely. Proceed with caution!

Slow-but-good verses Fast & Sloppy programmers

Categories: Semi-Popular, Software Development | Tagged , | Leave a comment

Programming is a very meticulous task and you can ruin someone’s business if you are sloppy. The programmers I have hired in the past were all sloppy which is why I am changing my hiring algorithm to include a testing process involving a two hour programming test. The test is easy to pass, but most people are not paying attention and fail. But, let’s say that some people do pass the test. Then what?

If one company delivers slow and meticulous work, that is wonderful. But, what type of project do you put them on? If one project is time sensitive and my company will suffer $2000 / day in damages if there is a delay — then slow and meticulous might not be the ideal choice. On the other hand, if I have a very complicated project which doesn’t need to get done for a few months, then slow and meticulous might be a great choice.

Fast & sloppy can work too on a NEW project that doesn’t have any customers or data yet. If they fix their mistakes right away, you might be able to make some real headway, and working on an experimental project might be great with this type of team — once again assuming that they fix their mistakes as quickly as they make them.

But, what about fast and meticulous. Programming companies are so short-staffed, that it seems almost impossible to get fast service at any price. I think you could make a mint if you hired really good programmers and charged insane prices. Some people will pay for it, at least when they are in a bind — which seems to be the case for many companies. If you get a client who is short on time but packed with money, they might like to have someone fast and good who charges 50% more than the market rate for programming services.

The moral of the story here is to think from the perspective of the customer. They are the ones paying you, so try to find a way to cater your programming (or other services) to their needs in terms of speed, accuracy, customer service, or anything else that matters to whomever is paying.

How to start an IT outsourcing company

Categories: Semi-Popular, Software Development | Tagged , | Leave a comment

There are so many different IT outsourcing companies in India, it makes my head spin — and so does the long flight to India!

But, how do people get these operations off the ground? (no, not the flight… the companies). It is hard to start an IT company. There are many types of skill sets that you need to run one, and you are lucky to have even one of the 20+ skill sets. You need great business skills, great people skills, sales skills, organizational skills, scheduling skills, hiring skills, analytical skills, investment skills, and also technical skills. So, where do you start?

My recommendation is to start an IT outsourcing company in one of two ways.

(1) Work for someone else and get to a management position for many years. Then, you will have technical and management skills. Those are critical for having your own business, although you will need a lot more skills than what you learn on the job. At least you will have some foundation for starting an IT outsourcing company.

(2) Work as a freelancer. Freelancers learn a lot about business skills. You will learn your skill, what to charge, how to organize your time, and maybe even how to hire others to help you when you have an overflow of work. If you hire the wrong person, your reputation will be ruined — so be careful!

What specialty should you choose if you are going to be starting an IT outsourcing company?

If you are smart, you will specialize in whatever you know most about. If you are excellent with databases, then stick to that. If you are an ASP whiz, then specialize in ASP. If you are great with Java script, then specialize in that. If your clients need other languages as well, you might hire additional help with related services so that you can offer one-stop shopping. But, try to offer a more economical deal for your main specialty, so that you can attract and keep more business.

Where should you get an office?
When starting off, there will be many challenges and hurdles. I suggest starting with a low budget. Get a cheaper office and keep your expenses low. To attract good workers, you might keep the office very comfortable and be nice to them. If the office is too horrible, and you treat your workers too horribly, then you will lose them and be out of business!

How many people do I hire when starting out?

Stick to hiring yourself, and use freelancers or on call help until you have enough business to justify hiring the 2nd person. Sure, that is not glamorous advice for someone to hear, but that is the truth, and you can not afford to pay 20 salaries when you have zero clients, right?

Good luck starting your IT outsourcing company.

Be an expert at this field BEFORE even thinking about starting up…

Creating a test job

Categories: Software Development | Tagged , | Leave a comment

Creating a test job for programmers or call centers

If you hire outside firms to do your work, be careful. You don’t know who they are or how they work until they have done something for you.  Once they have been on board for a few months, then you will know their tricks if they have any.  It is best to design a small job for them to do. Even if it is a job that doesn’t even need to be done, you should create something that you can use to evaluate the efficiency, skill, and communication skills of the company you hire.

I learned that I needed to test out five programming companies to find one that was acceptable to me. My standards are not even that high.  It is just that most companies can’t or won’t get work done on time according to specifications — not even close.  Some companies don’t even return calls.  Others just take the job, and don’t do anything. A few companies cheat and try to overcharge you.  Some companies have workers who don’t follow directions…

All I can say is that — It is a jungle out there… test people out. Stick your toe in before you get your leg bitten off in outsourcing!

Programmers and their speed of work

Categories: Popular on Google+, Software Development | Tagged , , | 1 Comment

Programmers and their speed of work
 
I lacked perspective because I used the same people for years
I have had the pleasure or displeasure of needing the services of many programmers in my lifetime.  They are all different in so many ways.  Some get back to you when they are supposed to while others leave you always wondering what their progress is, has been, or will be — if any.  In any case, I had spent too many years with the same programmers and noticed that one of them was pretty fast while the other was sometimes reasonably paced, and sometimes a little slow. I didn’t realize that the speed of a programmer can vary much more than these two.
 
Programmers quitting & getting fired by the boatload
After this, one of the programmers got fired, and the other quit.  I was left high and dry. So, I tried some other programmers out, foolishly thinking that they would churn out work at a similar speed to the previous programmers.  The first one I hired took three times as long to do similar tasks as my previous programmer.  He used the excuse that he was not familiar with the coding of the site.  I tried another who took four times as long.  Familiar or not, I feel that maybe taking 50% longer makes sense but three or four times is ridiculous.  I don’t know who is right or wrong because I am not a programmer.  All I can say is that I would really like to have my old programmer back.
 
Don’t pay by the hour as a general rule
The moral of the story from a business standpoint is that you can NOT assign programming jobs to be billed by the hour, unless you are very familiar with the individual doing the work.  Otherwise, you can easily get crazy bills that are high because the programmer is slow, or perhaps they are padding their hours, or who knows what? It is not easy to say unless you know a person’s character or behavior. I only know the bottom line which is that I am being billed for far more hours than I feel is reasonable.
 
Quality & speed can really vary
Additionally prices for programmers can range from $10-30 per hour in India and from $45-$180 in the United States.  The quality and speed of their work can really vary, and it is not easy to know how skilled an individual programmer is unless you really know them well and have worked with them extensively.  The best way to assess a programmer is to engage them in conversation, see how responsive they are about their work, and use your senses.  If you start having problems with their work, that might not show up for months, so in the beginnning — use your senses.

Beware of American Programming Companies that sell availability

Categories: Software Development | Tagged , , | Leave a comment

My experience hiring programmers in America is that they claim to have time to help you when they don’t. I had five instances in a row where I was offered 20 hours a week, and in all five cases 20 became zero. They didn’t even return phone calls in several cases. Baffling. Then, there were more conservative people who were more noncommittal. They also offered me time that they didn’t have. So, how do you know if your American programming company will give you what they promise when they generally don’t keep promises?

My answer is to hire more than one company at the same time. If one doesn’t have time, perhaps the other one does have time. Or, hire one American company and hire someone in a foreign country. Communication is the biggest problem with Eastern Europeans and Indians. But, they generally have time to get the work done. That doesn’t guarantee that they will be honest or accurate, but at least they are doing something!

In my experience, probably only about 10% of software companies are what I would call honest. Maybe my figure is off. Perhaps I am too optimistic. If they don’t lie about one thing, they are probably deceiving you about something else. Perhaps only 5% are honest. But, if you find someone who is “not that bad”, and gets the job done without screwing you too painfully, you are winning the game!

I had a dream where one Russian company said,
“We are not going to screw you more than a little bit today. You look like you have been screwed enough in the last few months”

On the other hand, if someone is handling your domain registration or hosting, any problem there can put you out of business. You need to trust your programming company / software company with your life. When hiring companies, ask yourself:

“Would I trust this company with my life?”
“Would I take a 3 day car ride with these people?”
“Would I let these people marry my daughter if I had one?”

If the answer is “Oh, hell no” to any of these three questions, keep shopping. Finding a good software company is like finding a needle in a haystack. You are more in danger of catching hay fever than pricking yourself. Let’s be realistic.

You might also like:

It is done — said the outsourced programmer
http://bpo.123outsource.net/2012/10/10/it-is-done-said-the-outsourced-programmer/

Leaving the job half done
http://bpo.123outsource.net/2012/07/17/leaving-the-job-half-done/