27

We have a large ASP.NET/C# e-commerce website (over 250k products) that's been around for over 15 years. We have lots of highly customized functionality, including a private subscription area, user-specific features, and custom integrations with other websites and services. It pulls from several different databases, and has several services running independently to do things like building customized data sets and indexes, building caches, and sending user alerts and emails. We also have a very large CDN, and an even larger storage account that hosts several terabytes of our content.

The company owner "wants the entire website moved to a CMS." I don't want to mention any specific names, but the one he has in mind is like WordPress but more industry-specific, and they claim to "solve the problems of WordPress." His reasoning is: "it's insanity to have an in-house team doing all this stuff, everything needs to be outsourced," and "I talked to [executive tech person] from [Company X] and he says they outsource everything."

I already have a list a mile long of technical reasons why I think this is a bad idea, but here's my dilemma: The CMS he wants to use has a list of their clients on their home page, and some of those clients are in the same industry as us and are larger companies. Whatever technical reasons I use to discourage a migration will be met with: "[Company X] uses [CMS website] so we can too. Just do what they're doing."

First question: Are large companies running e-commerce websites with high degrees of customization using 3rd party CMS hosts? For example: Take any household name company that has a storefront with over 250k products and/or a private subscription area - are any of them running all of that on basically a juiced-up WordPress?

I don't feel the client list of the CMS website he wants to migrate to is honestly representing the capacity/extent the clients are using their service. Maybe I'm just getting old and falling behind, but it seems incomprehensible to me how a large, robust website of really any type could run on a CMS host. Maybe these companies are using them for smaller things that are in a silo, like static informational pages or blogs, but I can't imagine they're running everything they have on them. Am I wrong?

Second question: If I start rattling off technical reasons for why this won't work it's just going to be seen as me complaining and getting in the way on the basis that "[Company X] does it, so we should also be able to do it," so what's the strongest argument I can make that will appeal to a non-technical owner?

10
  • 16
    If [company X] is already doing it, then maybe it would be a good idea to try poking around their website a bit, and see how it compares to what you have now? The trick, of course, is that you won't know just how much they spent in time or money to get it where it is now. Commented Jul 30, 2024 at 23:02
  • 8
    What kind of CMS is it? 15 years ago I would think of "CMS" being synonymous with offerings such as WordPress with all their constraints and a feeling of being locked-in, but these days it might be a 'headless' set of APIs without WordPress-style restrictions (The difference being that a 'headless CMS' is generally more like a menu of APIs where you just choose bits which actually work for you as part of your backend, build the rest yourself. If you have already an existing custom-built platform then a 'migration' might be just another integration that retains most of your existing code) Commented Jul 31, 2024 at 6:52
  • 3
    Are you high enough up on the company to push back against the request with some safety, or are you lower level? If the former this is a reasonable exercise, if the latter it could be a career limiting move and better to either go along with the order or leave. Commented Aug 1, 2024 at 2:17
  • 4
    Leave, go work for someone who respects the opinions of people who know better than them Commented Aug 1, 2024 at 13:33
  • 2
    This might be a question of how large your company already is in the market. If it's one of the biggest, losing some customers over a cost-effective, inflexible, standard solution is acceptable. If you are small, you want to grab a piece of the cake that is left over, by serving these potential customers with your existing tailored solution. That said, Digitec-Galaxus, the biggest online retailer in Switzerland, uses a web-shop that is completely built on their own, with unique features, and they have fast time to market with these features. Commented Aug 1, 2024 at 17:47

8 Answers 8

51

This is a classic build versus buy conundrum. Remember that the CEO is looking at a higher level than engineers are typically accustomed to. This helps us, as engineers, to understand their perspective.

Many people in leadership assume that a generalized solution aimed at their particular industry will be more cost effective. They are not completely crazy, here. Economies of scale are powerful drivers of cost. The more customers you have paying for software, the less you need to charge each customer to turn a profit. Logic dictates that a company supplying 100s to thousands (maybe hundreds of thousands) of customers can spread development and operational costs out over all the customers.

The devil is in the details, though. The CEO hears a sales pitch. The sales person they talk to assures them Wiz-bang E-commerce CMS Solution™ is the panacea for all their problems. The trouble is, it might be, or it might not. Most times it falls somewhere in between. Our challenge as engineers is to do an assessment.

You respond by building a matrix of requirements that your current system satisfies, and map it to what Wiz-bang E-commerce CMS Solution™ offers. You also need to be honest about what Wiz-bang E-commerce CMS Solution™ offers, and include those items in your matrix. In the very least, you need to understand what the company needs that is not currently being met with your existing system.

Honestly, this starts skyrocketing over an engineer's pay grade, but it is good experience. Next step is to do a best effort estimate of what it would take to build the missing pieces into your current system, and include a timeline. Round up at every opportunity, and know that it will still be underestimated.

Next, provide an estimate and timeline assuming you use Wiz-bang E-commerce CMS Solution™ and you need to build the pieces it is missing. Again, round up. Be pessimistic. Know that this is wrong and represents a minimum budget and timeline. Be sure to include ongoing operational costs as part of your assessment.

In my experience, it is much more costly in time and money to switch, but after you switch, what do you gain? For some CEOs, saving money isn't the end goal. They want faster deployment of new features. If this represents the core of their business, then the company is probably willing to spend whatever is necessary to stay competitive. If Wiz-bang E-commerce CMS Solution™ is actively maintained and enhanced, the company might get new features quicker than building it in-house, even if they are not saving on costs. Heck, they might trade faster upgrades for increased costs.

Our job in engineering is to come up with some costs and timelines to make the switch. Give them options and an honest assessment of the benefits and drawbacks either way. This can be hard, because it might mean the software development department gets downsized, but that is life in the private sector.

Before you hang your head and polish your resume, put together the numbers. The CEO might have heard a sales pitch and been given a ballpark cost that does not account for those missing pieces. The CEO might change their minds if they see Wiz-bang E-commerce CMS Solution™ misses enough of the critical aspects of their business. It might solidify their decision to ditch the in-house solution to purchase something, or it might reassure them that building this thing in-house is the best way forward.

But you need to show them the numbers.

That's how you convince non-technical folks. Numbers.


Another thought too is that the CEO might still keep a significant engineering workforce around even after switching. You still need people to configure things, and no system is feature complete for everyone. I bet you will need to build things, but maybe this new CMS hits most of what you need, and your current engineering workforce can simply change their focus instead of being laid off. I'm not trying to put lipstick on a pig, here, but I also don't want you to think this is just doom and gloom for your job.

9
  • 38
    "You respond by building a matrix of requirements that your current system satisfies, and map it to what Wiz-bang offers" - a common problem with that approach is that nobody has a list of the requirements the existing system satisfies because it's been carefully fitted to the business over many years (and many requirements will be found to be satisfied only latently and coincidentally, rather than as a result of specific prior work, so many of them will never have crossed anyone's mind or tongue before). (1/2) Commented Jul 31, 2024 at 13:58
  • 19
    Nor will there be a clear idea of what requirements the new (completely unfamiliar) system can or cannot satisfy, since it has not been tested in use and the technical staff will probably not have accrued any prior experience with its workings. So I don't think this answer proceeds from very realistic assumptions, except the part that money is what talks to a non-technical business owner. (2/2) Commented Jul 31, 2024 at 14:00
  • 11
    @Steve: I agree that you cannot fully quantify the requirements of both systems, but you have to start with something. Often times a cursory comparison between systems is enough to know the new system is not viable. Until you quantify something it is your word against the CEO's. You need numbers, even if you cannot capture every nuance or account for every cost. Doing so is cost prohibitive in time and money. This requirements matrix should be more detailed than a back-of-the-napkin estimate, but is certainly less detailed than an exhaustive analysis. It ain't a perfect world. Commented Jul 31, 2024 at 14:48
  • 11
    To be fair, an engineer is not the best person to put this together. Typically the build vs buy comparison involves more than one random developer. It should involve the people actually using the existing system, someone from engineering with architectural knowledge, and the management responsible for the long term vision of the product. But, that's not the position the OP is in (hence the "above an engineer's paygrade" comment in my answer). I at least hope my answer provides a little guidance. Commented Jul 31, 2024 at 14:54
  • 7
    Also, nothing stops you from doing a demo run of the new site. Most SaaS providers will offer a trial period. Find a test group, have them attempt to replicate a small part of your data on the new system and have them document the things they like and dislike. That'll give you more practical experience and data to make a more informed decision before dumping tons of effort into it. Commented Jul 31, 2024 at 17:07
17

Before you start coming up with arguments about why this isn't a good idea, you should first take some time to get a better understanding of why the owner wants to do this. And I don't mean, "because our competitors are doing it" but what specific advantages the owner expects to get from this.

Often, non-technical people have misconceptions about what advantages and disadvantages there are to technical various strategies and approaches. For example, the owner might assume that moving to this solution will be less expensive overall. Presumably, this solution has some sort of licensing cost, and the owner knows that. So, if they are expecting to save money, they might assume that this will reduce staffing needs. Is that what they are thinking? Or, perhaps the custom site has suffered outages and the owner believes that this solution will make the system more robust. Don't assume you know what they are thinking.

You should find out what ideas about this are bouncing around in the owner's brain. Those ideas may not be well-formed but it's likely more than just that they want to imitate their competitors. Once you have a better idea of these expectations, you can start evaluating whether this solution will address them. Sometimes an off-the-shelf solution increases staffing needs. Maybe you don't need as many developers, but you'll need 10 times more people doing data entry. Does that math work? Maybe not. A lot of companies have adopted e.g., SAP and found that their total cost of ownership increases dramatically. Some companies have nearly gone bankrupt trying to implement COTS software. Has the owner considered the risk of having the solution provider increase prices in a few years if they are bought by another company looking to extract as much value as possible from the existing customer base? That kind of thing happens regularly. Find out what they are thinking and what they are not thinking about.

Once you understand what they are thinking and start making sense of whether they make sense, you can start asking about things that the owner hasn't considered. Have they considered that having a custom website may allow them to differentiate themselves from their competitors? In other words, how does the owner expect to compete against larger competitors if they constrain themselves to what the larger competitor can do? It's foolhardy for a destroyer to engage a battleship using battleship tactics. Has your owner considered that their website will no longer be a way to differentiate themselves?

All of that said, you should, as a professional, take this seriously and consider whether this move makes sense. Try to not 'put your finger on the scale.' Present an honest assessment of what it would mean to move.

2
  • 2
    Or the acquiring company may choose to completely shut down the service, since it no longer aligns with their strategy. Been there, 0/5 would not recommend Commented Aug 1, 2024 at 14:20
  • @MartinBa I think exactly this is currently happening in the OP's company; they want to pretty up for a buyer, or worse, they need to do it to satisfy stakeholders. Commented Aug 1, 2024 at 17:51
8

Take this as an opportunity to find out what the site does that is critical. Moving seems to be motivated by cost. Moving unneeded stuff is a pointless cost.

Whatever is left, that the CMS can’t do, that’s your excuse to keep hosting locally.

While looking for that play with the CMS and find out what they can do and how. Might be you still need staff to deal with them. Just because they “can” do it doesn’t make it a good deal.

There’s also the added risk of putting the family jewels in someone else’s safe. Might want to report on their data breaches.

3
  • 1
    At the risk of straying wildly off-topic, the risk in the final paragraph cuts two ways (indeed, this is why deposit-box services exist). Senior management may be looking to offload responsibility for data security (including breach notifications, GDPR compliance and the rest) to the third-party provider. One will only find whether this is a factor by engaging as you advise. Commented Aug 2, 2024 at 6:28
  • @TobySpeight yes it does. But the bigger point is to identify the risk. Not to dictate how to feel about it. Commented Aug 2, 2024 at 9:44
  • Yes, absolutely. Commented Aug 2, 2024 at 11:43
6

Second question: If I start rattling off technical reasons for why this won't work it's just going to be seen as me complaining [..] so what's the strongest argument I can make that will appeal to a non-technical owner?

Never argue technical details with a non-technical person, owner or not. Tailor your communication to the person you're dealing with. Since you list them as an owner, I'm interpreting that they have authority over the business requirements, or are at least aware of the must have requirements.1

Make a list of the existing requirements which either won't work in the new CMS system (i.e. you currently don't see a way how to do it), or come up with a reasonable ballpark estimate on how much time and effort this is going to take.

Since they're in charge, as per the basis of your question, the decision rests with them whether they either want to accept the loss of those requirements, invest the time and effort to figure out how to make them work with the CMS, or abandon the CMS plan altogether.

Note that, if applicable, you can also add arguments about how the CMS will add a general delay to any future work; but this is likely going to fall on deaf ears. Managers tend not to listen to technical advice on future technical work. While that is not an absolute truth, based on them already dismissing your technical input so far, I have little hope for them listening to your warnings about future work.

That being said, I would still list this, bring it up, and make sure that the manager's decision is recorded, in writing or with trustworthy witnesses (I prefer in writing but that's not always as feasible).

At the end of the day, you're not in charge, and you shouldn't be making the call on whether you move to this CMS or not. You can't override a manager's authority no matter how right you are.

The best you can do here is to see the future problems and cover your own ass before they inevitably happen. Bring up those future problems with the decision maker (manager), force them to acknowledge that you've brought it up (by answering a question that centers around this topic), and then when the problems hit, you're proven right, and management wants to turn around and blame you, you will have proof that you didn't want this to happen, brought this up with the relevant authority, and they doubled down on the decision.

First question: Are large companies running e-commerce websites with high degrees of customization using 3rd party CMS hosts?

Irrelevant for your current predicament. Don't engage your manager in their "others are using it" argument, because even if you manage to counter their claim, they can fall back to "but I want it done anyway" and you'll have negatively impacted their attitude towards you.

The kind of managers with whom you can bring up this kind of argument are the kind of managers who listen to their technical staff on technical matters. Clearly, that is not the case here, you're dealing with a manager who wants to make their decisions in their own vacuum (or at least without including your technical perspective). If they already dismiss your input, they're not going to appreciate you invalidating their arguments.


1 If they're not across the requirements, then raise these points with whoever is across them, get them to agree about the oncoming troubles (i.e. do they really want to lose those requirements due to the migration?).

If they agree with you, have them weigh in on this discussion with the manager in question. Maybe the manager will listen to business feedback, since they're not listening to technical feedback. You need to get the decision maker (manager) and product owner (manager or someone else) in the same room so that they can form a single response as to the consequences that this migration will have to the requirements/budget/deadlines.

If they toe the line with the manager, then shift your focus on the product owner and do what I described in the section above, get them to acknowledge that they've heard your concerns, record their answer, and use it to cover your ass if any of this blows back on you post-migration.

1
  • This. 100% this. They’re going to go ahead no matter what you say. Don’t spoil your relationship with them but do protect yourself by documenting your concerns. Commented Aug 1, 2024 at 2:28
4

The principle that your CEO is pursuing is the principle of competitive advantage:

  • He/she thinks that most of the work of your team can be covered by an of-the-shelf CMS, and that it will be less expensive to go that way in view of the economies of scale that software vendor can make on product development.
  • And indeed, many large corporations use off-the-shelf systems such as Salesforce to do the job, although these are frequently heavily customized.
  • In the business mind of your CEO, the only reason to develop/maintain something in-house, is when it does something unique or in a different way, that provides an advantage over competitors. And is hence worth the money invested.

How to help your CEO to do the right decision, and avoid that the choice is made on wrong/irrational grounds ?

  • Make sure that his/her cost analysis is complete. I.e. that it takes into account the extra cost of completely rebuilding the website using CMS. That it also take into account that not all CMS are able to do e-commerce and that this might require additional licenses or redevelopment as well.
  • Suggest to take into account also user satisfaction with the current features, especially if these were developed to address some specific business expectation.
  • Underline any competitive advantage that your website has, i.e. features/processes enabled by your custom development, not available in the target system but valued very much by either your customers or the business colleagues.
3

First question: Are large companies running e-commerce websites with high degrees of customization using 3rd party CMS hosts?

No. large companies, even medium sized companies can afford to have in house dev teams and like to think that the special rules they need to differentiate their offering need that.

what's the strongest argument I can make that will appeal to a non-technical owner?

"What features are you willing to lose?" No off the shelf product is going to support everything your custom system does. So spin up the POC add everything you can, then compare and contrast.

The real problem here is your job. If they can replace your software with an off the shelf offering, or they think they can, then why would you help them do it? Jump ship and let them sort it out themselves.

2
  • 2
    They still might be using that third-party CMS for something else than the main customer-facing website. E.g. the FAQ section (as this often needs to be edited by a non-technical department), or some internal website which nobody outside of the company ever sees. Or a supplier-facing website. Commented Jul 31, 2024 at 23:15
  • they might be, but in my experience they would roll their own CRM Commented Aug 1, 2024 at 14:29
3

I'd be thinking about an exit strategy. Consider the following options:

  1. The Boss gets his new system built, and it fails to match the existing one, the customers get upset and leave, and the business fails.

  2. The Boss gets his new system built; it isn't good, but the business survives, and a scapegoat is needed.

  3. The Boss gets his new system built; it is such a success that he can lay off all his developers.

  4. You try to talk him out of it; you are successful, but he gets the impression that you are "negative".

I'd be polishing my CV, and looking for alternatives.

2
  • 5
    Or stay, build a fresh, beautiful new store with the CMS, gather loads and loads of fodder for your CV, learn how to communicate these things with the C-level, learn about big migration projects, maybe even get a chance of a small leadership position by placing yourself as the one who has done the POC and knows the new system best, maybe get to add more employees with in-depth knowledge as the new system. It takes years to migrate anyways, and there will come a point where OP will receive signals whether it is time to move on or stay, long before any of those pessimistic options materialize. Commented Aug 1, 2024 at 12:44
  • 1
    @AnoE ...and the Boss was so happy that he let the little programmer marry his daughter and gave him half his kingdom, and they all lived happily ever after. Isn't that how those stories are supposed to end? Commented Aug 2, 2024 at 0:48
-3

When the company's business is virtual business it is efficient to outsource services and keep a reduced size team to integrate the services of the service providers, it helps with minding the business. Developing in-house software applications diversifies the business by increasing the concerns of business to run with concerns about development and operation of support applications. Outsourcing it is a way to stay afloat, survive, pick low hanging fruits by disposing the burden of infrastructure.

With a business beyond the virtual boundaries might be wiser to develop in-house infrastructure since business exists thanks to the real world infrastructure. Software development could start with a team developing the business applications and evolve to maintaining the development and operational infrastructure, cybersecurity, data mining, forecasting and so on.

In the end it is about short, medium and long term objectives.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.