The Seven Deadly Sins: Surviving A Custom Software Project


by Rob Carr

Are you looking for a custom software company to build your web, mobile or desktop application? If so, you might not understand the pitfalls and risks you face. Research shows that many software projects are deemed failures, for a variety of reasons. In this article we'll list the major mistakes (sins) people make, and provide strategies to avoid them, and survive a custom software project.

Deadly Sin #1: Basing your decision primarily on price

There's a reason this is the first deadly sin. It's committed more than all the other deadly sins combined. People have a tendency to think that all developers are the same, so cost becomes the major determinant in who they hire. It's a big mistake, and I've seen people make this mistake repeatedly.

Hiring the wrong company starts a vicious cycle. First, when you hire the wrong company, you almost always commit one or more other deadly sins. For example, maybe you also pay too much in advance. Or you don't set realistic milestones. And once you've paid out enough money, you sort of get stuck. Welcome to software hell. It's almost like a bad marriage. You start rationalizing that staying is better than leaving, even though your spouse is hitting you. It is this sort of victim thinking that keeps you with a bad software development company far longer than you should.

So how do you avoid this deadly sin? For starters, develop a checklist to rate the companies you are considering, based on factors other than cost. Sure, you want to check references, review similar projects, etc. Those are obvious items. Here are some you may not have thought of:

Ask them how you are going to monitor their progress of your project? Ask them if they use Subversion (or any other repository)? All reputable developers know what this is. Ask them about Continuous Integration, and which tool they use to manage their builds? Verify the exact coding standards they'll be using when creating and documenting your code. I have interviewed many developers over the years and I am shocked how many get all 4 of these wrong. I give you many more questions in our free downloads section.

Deadly Sin #2: Paying too much in advance

If you committed sin #1, I can just about guarantee that you've committed this one too. Understand that I am not just talking about the initial retainer. You want to pay for progress you can see and verify. You need to avoid the situation where the developer is stuck with a lot of work, and little or no future revenue to look forward to. But what about the money you already paid them? It's gone. It was used to finish another project before yours that also turned into a disaster.

Structure the payment schedule around deliverables, or milestones. In other words, pay for results. It is critical that you understand how much of the project has been completed, and then make payments corresponding to that amount.

Deadly Sin #3: Not asking for a Nondisclosure Agreement

If you have a real good idea, your product may become a huge success. The last thing you want to do is find yourself in a dispute with your programmer. Consider Facebook, for example. Cameron and Tyler Winklevoss claim that they basically gave Mark Zuckerberg the entire Facebook idea, and he stole it from them. Okay, so show us the Nondisclosure Agreement. Uh, don't have one. Say goodbye to billions. Don't skip this step. It is critical that you have the company you hire sign a Nondisclosure Agreement (a.k.a. an NDA), which also assigns all rights to the software project to you. In fact, you should have this NDA in hand before you even start discussing your project with any company.

Deadly Sin #4: Not actually owning the source code

You are hiring a company to write a lot of source code. This source code represents the product you are buying (website, mobile app, etc.). You need to make sure that the agreement you sign grants you sole ownership of this code. Otherwise, you've just paid your competitor to steal your idea.

Deadly Sin #5: Receiving undocumented source code

This has to be one of the most common of the seven deadly sins. Imagine this. You pay a company to write thousands of lines of code. When they are done, the program works fine. You call the company back a year later to get some changes done, only to find out the company no longer exists. Fortunately, you have the source code, and you kept it safe somewhere. You confidently search for someone else to continue development, only to get bad news. The source code has absolutely no comments, which are explanations within the source code describing why the code was written the way it was. This is a huge issue in our industry. In 9.5 out of 10 cases, the new developer is going to tell you it is easier to start over. And in many cases, that would probably be good advice.

Source code is nice. Commented source code is better. Demand it.

Deadly Sin #6: Not asking for complete documentation

You are paying good money to have your custom software project developed. You owe it to yourself to get all the documentation the software company created. Why is this important? Imagine for a minute that the company you hired goes out of business a year or two down the road. What do you think the chances are of ever getting documentation? Zero? Good documentation, combined with commented source code, is your insurance policy in the event your software developer disappears.

Deadly Sin #7: Not doing external audits

If you really want to cover yourself, you should hire another company to review the application your developer has built. This has several benefits. First, there's nothing like an external audit to make sure your programmers have double-checked and fixed their sloppy code. The company you hire to do the audit also wants to give you value, so they are probably going to find a few issues. This doesn't mean your programmers are bad. Everyone misses something once in a while, including us. But by letting the company you hire know from day one that an external audit will occur, you are already putting them on notice. We've been on both ends of this, and the client always came out the winner in the end.

So there you have it. Seven deadly sins you should avoid if you want your custom software project to have a good chance of success. Don't make these seven custom software development mistakes and your project will be heading in the right direction. Good luck with your software project!

About the Author

Rob Carr has 20 years of software development experience. He is the founder of MyProgrammer, a custom software development company focusing on building database applications.

Rob Carr MyProgrammer, Inc. http://www.myprogrammer.com

Tell others about
this page:

facebook twitter reddit google+



Comments? Questions? Email Here

© HowtoAdvice.com

Next
Send us Feedback about HowtoAdvice.com
--
How to Advice .com
Charity
  1. Uncensored Trump
  2. Addiction Recovery
  3. Hospice Foundation
  4. Flat Earth Awareness
  5. Oil Painting Prints