I often wonder why so many of our clients come to us after their Web Projects fail. About 75% of our business comes from projects where someone else couldn't get the job done. The most common situation is what I call the 'Money Pit'. That's where the developer keeps telling the client its almost done and they never get there.
Today every project uses some sort of Content Management System framework. Instead of painting a canvas in the old days of HTML, we are building software applications that need to follow more traditional development approaches. If the project is coded improperly, then often times you have to throw it away and start over. The cost to fix all of these problems can be significant. I thought I would share the most common reasons we have seen throughout the years that make so many projects fail.
1. The "Freelance Syndrome"
Unqualified developers; using your marketing firm, friend / neighbor, hiring your own or going offshore.
You want to build this incredible website that will automate your business and benefit from the wonderful opportunities the Internet provides. Everyone is telling you they can do it for you and they all sound the same. The problem is most of the people you are talking to aren't qualified to do the job. Most Marketing Agencies are incredible at building your brand, but do they have the people in-house to build your web application? Make sure they're not outsourcing your project to freelancers or even worse, overseas. Visit or speak with the actual people building your website and look at their work. Speak with references. Look out for the bait and switch. Have they done projects of similar complexity? Doing business with friends and neighbors doesn't make sense. Hiring developers in-house could get you a jack of all trades and a master of none. For every 20 developers that apply here at CommonPlaces, only one is truly qualified enough to hire. Multiple people with specialization of different disciplines is required to build today's websites. In-house resources are better suited once the project is launched. Your developer can then support in-house resources on an as needed basis saving you money.
2. Jumping the Gun:
Lack of a clear definition of the scope and requirements.
Everyone is so anxious to get going and they think they know where they are going. But they don't think about how it's going to work and what happens under different scenarios. This is especially true when a company puts their business online. How will this new process affect your business? Most clients think they know what they want, but the devil is in the details. I can't tell you how many clients we meet with that when pressed to detail their process, haven't thought through all of the ramifications. Make sure you go through a detailed planning exercise before you start building. Make sure building something that your customers want and need, not just what you want. Get input from customers.
3. Lost Leadership:
Lack of Stakeholder buy in and involvement.
Management wants a new website to meet corporate objectives and to increase its ROI. Then management doesn't take the time to get involved when key decisions are being made. Huge problems can arise when management tests the Beta version and finds it's not what they originally wanted. Some of the best projects we have developed are those in which executive management was actively involved from the beginning. Changes can be very expensive in time and money if made at the end of a project instead of the beginning.
4. The 'Facebook Syndrome'
Biting off more than you can chew.
Be careful not to bite off more than you can chew. Rome wasn't built in a day. If you have a really complex project, do it in phases. You don't have to publish it all on the web at once. There is nothing wrong with replacing your existing website after three or four phases are completed.
5. Putting the Design First:
Designing without purpose or function.
We have seen some absolutely beautiful designs for new projects that just cannot be built or would be too expensive to build. It's best to wireframe out all of the functionality taking into account the platform you're using before the design is done. Then have your development team work with the designer, so together they come up with something that is beautiful and functional. Otherwise you could come up with a Frankenstein site that is neither.
6. Uncontrolled Code:
Not using a Version Control Program.
It's unfathomable today to build a new website with out some sort of source code control system. We use GIT or SVN at CommonPlaces. When developers create, support, and update source code files for a large application, the coordination can be complex. Source-control systems record all file changes, with comments, in a project. You need to have the ability to roll back functionality, merge work together and work off line. Proper source code control is vital for any project.
7. Uncontrolled Developers:
Lack of good Project Management.
The Project Manager (PM) is the Quarterback of your football team. The PM is responsible for the successful planning, execution, monitoring, control and closure of a project. The PM needs to understand the client's needs and provide communication to and from the developers. Without a proficient PM, the project will get off track and become a run away train that ends up in disaster. A good PM will publish weekly progress reports keeping everything on track.
8. Trying to Reinvent the Wheel:
Hacking Core or Source Code
Hacking is changing the source code structure. We always believe in K.I.S.S, Keep it short and simple. When an unqualified developer doesn't know how to do something, they tend to hack the code to make it do it. This causes a number of problems and greatly affects quality. If your developer fixes one problem and another arises, it may be the result of a lot of hacks. Doing so will make it near impossible for site updates due to Security and bug fixes. It also makes it difficult for those that come in after to maintain the site and could possibly leave your site vulnerable to exploits. We have a tool we run that uncovers all of the Hacks for our customers who come to us in trouble. Then we show them the results and why their website doesn't work.
9. Getting Off Track:
This happens a lot. A good PM's main job is to keep things on track. It's natural as you go through the development, to come up with new ideas and things you want. You need to realize that every time you make a change, it adds to the time and cost of your project. Changes late within the process have large affects. If a website is built and tested, you will have to retest after the change. Some changes are beneficial, especially if they make the website better for your users. But lots of indecision and changing can derail a project. Scope Creep happens when decision makers aren't involved early on or the project didn't go through proper planning.
10. No Functionality Testing:
Lack of cohesive Quality Assurance.
It's important to unit test each piece of functionality and then do regression testing on the final product. All projects have bugs, so it's better to have the developers find the problems instead of your users. We usually set aside 20% to 25% of the development time to perform proper QA. Make sure there is a comprehensive QA Plan, otherwise you could get a website that has a lot of issues. Developers need to be thinking about quality from day one and be responsible to fix their problems. Otherwise it could get very sloppy.
Building a successful website requires all ten of these areas to be properly addressed. Failure to perform any of these tasks could derail a project which ends up being completely wasted money in the budget. When you select a developer make sure they can address all of these before you start. Properly done projects can be a tremendous asset to the wellbeing of your company.