When companies come to us (thick RFP documents under their arms), most of them want a system that is very flexible so they can change it as they see fit. Take for example the homepage of their webshop: it contains banners with large images, titles, subtitles, product images with product information and everything should be changeable in size, location, format etc. etc. maximum flexibility so the marketing department can change it all according to their current marketing and promotional ideas.
So far so good. By far the best way to accomplish this is to make a
HTML page, maybe some basic layout columns or rows and let the client
fill those with their data. Maximum flexibility for the client.
But when you talk to them or read further in their RFP there is
almost always the next (implicit or explicit) requirement: “anyone at
our company should be able to manage the website through the backend,
even without any technical (html,css,php) knowledge”.
Well dear RFP writers: these two requirements don’t match. You can’t
expect users without any technical knowledge to have maximum control
over a technical system.
Even that second requirement on it’s own is actually quite a silly
one. When you have a transportation business looking for new trucks, do
you require the truck manufacturer to deliver trucks that everyone
without a drivers license can drive? If you have large complicated
machines in your factory, don’t you put your new employees through
thorough training sessions before they are allowed to even come near the
machines? Don’t you think that the medical people operating the MRI
machine at your hospital to have had extensive training to operate the
machine and interpret the results? You think any soldier just sits down
in an Apache helicopter and flies away?
No. You don’t.
So why on earth do you expect that the person that answers your
phone, does your accounting or designs your banners to operate your
webshop right out of the box?
Of course IT companies can go a long way in making things automatic
and flexible, but you can save a lot of money if you also invest in
having people that are capable of doing things themselves instead of
needing to call the IT company for everything they need or
overdeveloping systems to make them nitwit-proof.
Running a serious e-commerce business requires you to have a team of
employees that are (well) trained in several areas. Besides product
managers, you’ll need people to be able to create online marketing
materials (designer), optimization experts (testing/SEO/SEM), content
writers (text writing and some basic HTML/CSS skills) and someone to
lead this team to prioritize and keep your site moving forward. The
bigger your site, the more specialisations you’ll have and you want to
have the knowledge for all the recurring tasks in-home as quickly as
possible. It’s ok to outsource if you can’t find additional people in
your area or to add to your growth. It’s not ok to outsource if you
don’t have the knowledge in-house.
Of course the IT company will be happy to take your money and write
more code for you. But more code won’t make you more flexible. Investing
in smart and trained employees will.