On every introductory call with a potential new client, we dig into the details of their upcoming project. Whether it is a web-based project where most of the content delivery will be via a website or mobile app or a more content management driven project that focuses on production plus delivery. Each project will fall into one of two buckets: custom built or utilizing modified off-the-shelf CMS software.
The difficulty for most clients is understanding which approach is right for them. The messaging on both sides of the debate is confusing and oftentimes hard to understand, especially for non-technical individuals who are focused on running their business, not on the nitty-gritty of CMS development.
For those who are proponents of custom-built CMS software, the arguments in favor of this approach are typically about security, scalability, and flexibility of the solution. They argue that building on top of a code framework, and not a piece of available software, will allow for the utmost control and flexibility over your website or content distribution methodology.
Off-the-shelf software is, by far, the most popular approach used today by many creative Web agencies. We agree that indeed off-the-shelf platforms such as WordPress, Drupal, Joomla, Sitecore, and the bunch are very good at doing what they do.
WordPress is a superior blogging platform and basic CMS. Drupal is amazing at the management of multitudes of documents. Magento is an amazing e-commerce platform.
Where clients must use their judgment is in sensing what the true capabilities of these platforms are and what their core competency is. This is where an agency or consultant can prove their value. The secret of a successful CMS project is determining whether your project can or cannot be properly built, to the vast majority of your requirements, with a particular platform.
So how can you know if you are a good fit for off-the-shelf software or a candidate for a custom-developed CMS solution? Here are a few tips to help guide you through the process:
What will be the most difficult parts of your project to complete, and why?
Going into a development project, you should start to consider and carefully analyze the specifics and where the most complicated logic will occur. This is sometimes challenging for potential clients. What seems simple to a client is difficult for a developer, and vice versa.
However, this doesn’t mean you should avoid it. In fact, it is a process that can help you as you build your online business. The secret is to spend time thinking about what makes you different versus your competition. That could be any number of things.
Is it customer service? In that case, will you need a complex customer service portal with interactive features? If you are a content creator, it could be your content development workflow which allows you to quickly distribute new content to multiple sources. Or perhaps it’s something more complex, like a reservation system or organizational tool.
The features, the differentiating factor, should be the number one focus of your vendor. Way too often, we see developers focus on 90% of the project that can be accomplished with off-the-shelf software. They save the 10% of the remainder until later in the project, and drop the bombshell by saying, “this may not be possible”.
But they have just done you a massive disservice. The primary cause of ditching off-the-shelf software to build something from a custom perspective is to meet the requirement of differentiation!
The following graphic illustrates how we define that 10% as your “impact zone”. This means the features or functionality that will make your customers understand what is unique about your offering.
So, focus on the 10% first. Focus on why you matter and why your business is better. Then make that differentiating factor the most important part of your website. You’ll quickly be able to judge a decent developer from one who has no idea what they’re doing. In the long run, you’ll be much happier with the end result.
Is the recommended platform, at its core, built to solve your problem?
One of the problems in the web development industry right now is the amount of developers and agencies that are only capable of using a single tool for providing solutions to their customers. This has led to the old cliché becoming a reality: When all you have is a hammer; everything looks like a nail.
To get around this problem, you must compare what your project needs to do with what the recommended solution was built for.
As an example, if you have a project that requires an e-commerce shopping experience with 1,000 products, you should think twice if a developer says that you should build a WordPress site.
Sure, there are decent plugins that extend WordPress to handle e-commerce, but WordPress as a platform was not built for e-commerce. It was built for blogging. The right choice would be one of the many platforms that focus on e-commerce: Magento, OS Commerce, PrestaShop, or even hosted solutions such as Shopify or BigCommerce.
Unfortunately, we often see projects that are completed on platforms that do not give the requirements justice. WordPress is one of the largest offenders, in terms of platforms, because developers are constantly modifying it via plugins to do things that the original developers never thought of.
We’ve seen complex SAAS applications built on top of the WordPress core, or complex multi-site installations built utilizing the WordPress engine. In both cases, updates to the platform were nearly impossible because of the development that was done on top of it.
If you can’t update, why bother using a platform? That is a good segue to our next point.
Are you pushing the envelope of what a platform can do?
It’s important to remember that off-the-shelf software is meant to serve the requirements of a broad spectrum of use cases. This means for ordinary types of projects such as blogs or informational sites, off-the-shelf software works well. Granted, you must worry about maintenance and upkeep, but the functionality will accomplish what you set out to do.
It’s when you take the core software and adjust it to meet your needs that you should begin to worry. As mentioned, many platforms offer the ability to extend their capabilities. You have heard of “plugins”, “extensions”, “modules”, and other names for how these platforms allow for additional capabilities. The issue with plugins is oftentimes making them all work together.
For example, to build a WordPress site, you may utilize plugins to handle everything from forms, slideshows, user logins, financial transactions, etc. But when you attempt to integrate them all together, you begin to realize that they don’t always play nicely. A common error at this point is to begin to modify them in ways that perhaps they weren’t meant to be. This creates a layer of “technical debt”, or in layman’s terms, a series of fixes on top of fixes that ultimately result in more problems than benefits.
As a client, it’s hard to know when you begin a project that you will be pushing the limits of the platform. Usually, it occurs over time — you create a fix or a work around, which leads to another work around. Eventually, you figure out that your system is not as stable as you want it to be and you are stuck with it.
You can mitigate this risk during the architecture and discovery phase of your project. Work closely with an agency to determine what your needs truly are. Ask them to look for any “gotchas” or areas of concern. Then listen to what their recommendations are.
Heading into a client/vendor relationship, never be closed minded to the possibility of other technical solutions. Commonly clients come our way asking specifically to build something on a particular platform, but after undergoing discovery they realize that the platform is not right for them in the short or long term. Be open minded in the beginning to avoid pushing the envelope later.
Can you review case studies that are similar?
Before you commit to any platform, whether it is custom-built or off-the-shelf, you need to carefully research recent history of the top contenders. This means a detailed review of past projects, how they solved customer problems, and what the specifics of each case were. Any good vendor will provide you with case studies, models, and examples of how they have helped other clients through a similar problem in the past.
When studying the materials, look for similarities between the example cases and yourself. Were they in a similar pre-project position? What challenges occurred during the project? And after it was complete, were they able to get the majority of the features they wanted? Were their requirements met?
Take these questions and ask the references. Any vendor should be able to provide them. Find out how they handled the project, how they molded a platform to their needs or built them a new one. By asking questions and researching now, you’ll avoid being stuck in a bad relationship with your platform of choice later.
The key takeaway is not to rush this process. Take the time to think it through, ask as many questions as possible, and trust your agency with their expertise. It’s never about the quick fix, but rather how your software can help you in the long haul.