I will start you off with a quote from Donald Knuth, "People think that computer science is the art of geniuses but the actual reality is the opposite, just many people doing things that build on each other, like a wall of mini stones."
Choosing the right development technology to build a web presence is one of the most crucial elements of web development and one that many people overlook or ignore altogether. Most people jump to what ever technology is the new buzz word, or what their friend or business colleague muttered in a casual conversation. This is one of the biggest mistakes I have witnessed countless people do throughout my years as a applications developer.
When starting a business, one would develop a business plan which is an essential roadmap for business success. This living document generally projects 3-5 years ahead and outlines the route a company intends to take to grow revenue. A document similar to a business plan is also essential for your web development, and one should work closely with their developer of choice to create and define this plan prior to the start of their development. The decision of which technologies to use affects every aspect of your project from it’s conception through it’s life span.
This development plan should, at a minimum, cover the following:
- (Purpose) Understand your project requirements and goals, both long term and short term.
- (Scope) Break down the requirements, and identify the solutions required.
- (Software Lifecycle) Define how long you expect the website to live.
- Project Budget
- Project Timeline
- Identify technology to use
- Roles and Responsibilities
Every development technology has pros and cons that affect elements such as budget, lifespan, capabilities and potential for growth. Knowing your development goals and requirements over the next 3 to 5 years will allow a competent developer to assist you in making the right decision as to which technology to use based on the contents of the document you create. I can’t tell you how many clients I have had come to me from other development firms throughout the years that have had to start over from scratch after the first year of their website due to improper or lack of decision-making during this stage of development. I have also seen the opposite–companies that spent much more money than needed for a site that could have been developed better and with much less expense for a website that was never intended to live for more then 6 months.
One example of a common mistake I see daily in today’s field is the abuse of WordPress. I have no issues with WordPress in itself–I happen to feel that for some websites, it can be an excellent choice. (Notice the stress on “some.”) in today’s field, WordPress has been morphed into this I-can-do-anything system. Yet the truth is that that really means “I can do anything” but not “I can do anything well.” It’s a jack of all trades yet master of none.
Let’s jump from the tech talk to a non-techie example; would you buy a Honda civic to drive the off-road rubicon trail on the weekends? No, of course not, you would much rather purchase a 4x4, such as a Jeep. Sure, you could modify the frame of the Civic, add some 33-inch tires, an off-road suspension, new drive train, and a ton of other necessities, pay a mechanic for the time required to modify this car and drop a ton of cash into making the Civic a semi off-road capable machine. Yet that Civic will never really be a true off-road machine. That Civic will always have its limitations. Why? Because at it’s core, it’s still a Civic.
Yet, you could walk into a Jeep dealer and buy a capable, off-road vehicle right off the lot for much less time and expense. And as the years go on, you can add a few inexpensive upgrades to that Jeep and she will always be what you need it to be–a fun weekend off-road vehicle. Sure that jeep might require a little maintenance from time to time, but, in the long run, nowhere near the time or expense of that civic. Now if you where always going to drive on the street then that civic would be the right choice and a jeep would be over kill, cost you more upfront as well as the long term for gas.
Ok, so we had a little break from the tech discussion for the car buffs out there, but let’s get back to back geek speak . Say you needed a little 5 to 10-page website with a simple design and maybe a little contact forum with 5 fields, and you expect no more then 8,000 visitors to the website per month. You also know that 3 years down the line, you will never need anything more than that, because you and your developer took the time to write up a website plan, then that Wordpress site might be the right decision. Now, if during your website development plan you find that you’re going to want e-commerce in six months, as well as a member payment system, and the ability for customers to submit returns, which will be automated, then there are far better technologies that you should be using.
There are also other things that you and your developer should think about with the use of these technologies such as upgradeability, upkeep, security, server and processing needs, to name a few.
A few examples of how these can effect your web development and budget in the long term should be considered.
For example, Magento, a well-known, e-commerce engine is an excellent example, while it’s a well-built and popular shopping cart system, it’s very server-resource-intensive. Ask anyone who runs a Magneto website, and they will tell you that it’s a slow system. In many cases, this forces companies to pay a much greater amount per month in hosting for a faster server or hosting package. This expense adds up quickly, thus a company pays a much greater amount over the lifespan of the websites, not to mention the potential negative effects to their search engine optimization.
With more popular systems, such as WordPress and Magento, their popularity creates a greater risk to their security; hackers love to find and exploit security holes. If they focus their time on the more popular systems, their efforts bear more fruit, thus they target these system more frequently. While these exploits are typically found and fixed quickly, they require you or a developer to run these updates to your website on a regular basis. Some of these updates can conflict with plugins, themes, or other add-ons that your website uses, causing downtime and/or the need for a developer to fix them, once again adding to the cost of the website over time.
This is just the tip of the iceberg as to how this crucial step can make or break a development project. Spend the time and work with your developer to generate a development plan, allowing you to make informed decisions and choose the right technology for your specific project needs. Taking the time and planning ahead will save your time, money and aggravation while ensuring the lifespan and goals of your project are met with success. Let that wall of mini stones you’re building have a strong foundation that will support your business and its goals.