Nowadays every project uses some sort of CMS. Instead of painting a canvas in the old days of HTML, the requirement is to build software applications that need to follow more traditional development approaches.
If the project is coded improperly, then quite often you have to throw it away and start over. The cost to fix all of these problems can be significant.
Here are some of the most common reasons that make so many web projects fail.
1. Unqualified Developers
You want to build this incredibly complex website that will automate your business and benefit from the wonderful opportunities the web 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 may not be qualified to do the job. Most marketing agencies are incredible at building a brand, but do they have the people in-house to build a website or application?
Hiring developers in-house could get you a jack-of-all-trades and a master-of-none. Multiple people with specialization of different disciplines is required to build today’s complex websites. In-house resources are better suited once the project is launched. The developer can then support in-house resources on an as needed basis saving you money.
2. Unclear Definition of the Scope & Requirements
Everyone is so anxious to get going, but they don’t think about how it’s all going to work and what happens under different scenarios.
This is especially true when a company puts their business online for the first time. Most clients think they know what they want, but the devil is in the details. I’ll bet that you have met a huge number of clients 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 you’re building something that clients want and need, not just what you want. Get input from customers.
3. Lack of Stakeholders
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 initially wanted. Changes can be very expensive in time and money if made at the end of a project instead of the beginning.
4. 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, built it in phases. You don’t have to publish it all on the web at once. There is nothing wrong with replacing an existing website after three or four phases are completed.
5. Designing Without Purpose or Function
You have probably seen some 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 the development team work with the designer, so together they come up with something that is both beautiful and functional. Otherwise, you could end up with a Frankenstein site that is neither.
6. Not Using Version Control
It’s unfathomable today to build a new website without some sort of source code control system. 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 offline. Proper source code control is vital for any project.
7. Lack of Good Project Management
The Project Manager (PM) is the Quarterback (or number 10) of the 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 runaway train that ends in disaster. A good PM will publish weekly progress reports keeping everything on track.
8. Hacking Core or Source Code
Hacking is changing the source code structure. When an unqualified developer doesn’t know how to do something, they tend to hack the code to make it work. This causes a number of problems and greatly affects quality. If a 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 later to maintain the site and could possibly leave a site vulnerable to exploits.
9. Scope Creep
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 all adds to the time and cost of a project.
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 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. Lack of Cohesive Quality Assurance
All projects have bugs, so it’s better to find the problems first instead of the users. 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 for fixing their problems. Otherwise, things could get very sloppy.
Building a successful website requires all ten of these areas to be adequately 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.