Have you ever felt that software development projects never seem to come together without major headaches? Does every project end in missed deadlines or a busted budget? Small setbacks and disappointments are bound to happen occasionally in software development; however, they should never be the honored guests at your company party. Good software developers put the client’s needs first and competently handle obstacles in the development process. Every so often, though, a bad developer takes advantage of a client and creates a software hostage situation.
Software hostage situations occur when a developer negatively impacts the success of a software development project through commission of one or more of the “three deadly sins” of software development: Laziness, Incompetence, and Greed.
Perhaps you experience trouble in your software development projects, but are unsure as to whether you are in a software hostage situation yourself. To be a software development hostage is to know true frustration in your projects; the symptoms are extreme, and the consequences of allowing the situation to continue are painful. If your developer commits one of the three deadly sins of software development, you might experience the following symptoms:
- Regular failure to provide accurate and detailed updates on a project or task
- Failure to keep up with tasks, resulting in a growing backlog of work that never seems to get done
- Lack of transparency on what work is actually being done on the project
- Refusal to fix existing bugs in your system; and refusal to accept outside help
- Small technical tasks take too long for the developer to complete
- Long delays in development (often with subsequent higher bills) with little or no explanation
- Refusal to update to more modern technologies, even though it is obvious that the new technologies are optimal
- Your system is glitchy, and no amount of work ever seems to fix it correctly
- Resistance to your ideas for the project, and insistence on implementing features that are not important to you or your business
- Your technical staff is not allowed to see the code or participate in development in any way
- The developer owns the code and refuses to release it to you for review
- Unexpected increase in cost on a project without accounting for expenses or hours
- Consistent denial of accessing your own development environment for use without real reason or explanation
- Demanding more money to work on a new feature, but refusing to provide what has already been completed and paid for (essentially blackmail)
This list of symptoms is neither complete nor exclusive. There are many more ways that a bad developer can negatively impact a company. You must always think critically when asking the question, “Am I in a software hostage situation?” Probably the greatest indicator that there may be a problem for you is if upon communicating to the developer that something is not going well, they are offended and refuse to acknowledge the problem. Depending on the severity of the issue, and to what extent alternative solutions are available, the developer’s response is a good measure of whether or not you need outside help.