E-Commerce Platform vs Custom Development: Which one do you need?

/, Technical, Written by our colleagues/E-Commerce Platform vs Custom Development: Which one do you need?

Everyone involved in e-commerce has been asking this question at one point. You might be the CEO of a company looking to step up its online game, or an IT manager seeking a direction for building e-commerce solutions, or just a geek wishing to implement the next Alibaba. In any case, choosing the best way to start an online shopping business initiative is never easy. In order to help you with this decision, we’ve analyzed the topic from three different perspectives: the business owner, the software solution provider, and the developer.

Business Owner’s Perspective

You’re an internationally renowned brand operating in the robotics industry, but your processes are as old as your first machine and most of your sales are still done through the phone. Or you’re an established fashion retailer who’s been selling online for several years, but your homepage is as well-designed as the front of a Fiat Multipla, not to mention that your employees take it as a punishment when they are asked to update items in your online shop. Either way, you want to switch to a state-of-the-art e-commerce system which would boost your sales, increase your customer base, and reduce your operational costs. You’ve done your homework, performed all the required analysis steps, and gathered most of your high-level requirements. Now, you have to decide between implementing a system from scratch and building it on top of an existing e-commerce platform.

How do you make the right choice?

There are several factors you have to take into consideration, one of them being the time-to-market. In a world where competition is fierce and a couple of months of delay could mean the difference between success and failure, your best bet is to go with an e-commerce platform. A platform would offer you the core features and functionality required for an online shop, allowing you to speed up the go-live process. In case of a more relaxed timeline, building a system from scratch would also be a suitable option. However, delays are bound to occur, pushing a late release date even further. If you choose to go down that road, make sure that the late release is not affecting your organization and that the system will still be relevant on the go-live date.

When it comes to project costs, there is not a clear winner between using an e-commerce platform and custom development. We cannot say what option would suit you best, since it depends on your business model, past experience, staff, and much more. Instead, we can give you some useful tips that will help you stay on budget in case you decide to go with an e-commerce platform:

  • Make use of out-of-the-box features and try to stay away from “nice-to-haves” that require additional development effort.
  • Make sure you choose an implementation partner that has the necessary expertise to use the platform and deliver a high-quality solution. If the best practices are not followed you might end up with a poorly crafted, inflexible, and difficult to maintain system.
  • Take a close look at the platform’s back-office capabilities. A user-friendly, intuitive, and powerful back-office solution has the potential to reduce your operational costs and decrease the level of frustration among the staff managing your e-commerce system.

One of the main advantages that e-commerce platforms have over custom developed systems is that they provide the core features and functionality of an e-commerce solution, so you don’t have to reinvent the wheel. There is one caveat, though: Not all platforms will suit your business domain and processes, thus an in-depth research before choosing a platform is crucial. Too often customers buy expensive licenses just to realize later that countless workarounds have to be found in order to deliver the desired end-product. That quickly turns into a nightmare for both business and developers, and it can lead to project failure. That’s not where you want to end up, so do your research properly.

Software Solution Provider’s Perspective

Let’s assume now that you’re in charge of a software development company who wants to start offering e-commerce solutions. Some of the most brilliant minds work for you. They are proficient web developers with multiple programming languages under their belt, but their e-commerce experience is limited to Black Friday’s shopping frenzy, when they engage in the challenge of buying the niftiest gadgets before they run out of stock. Everyone is eager to begin this new e-commerce journey, and it’s in your hands to keep the motivation up while maintaining a profitable business.

What do you need to know before you get started?

Building systems on top of an e-commerce platform allows you to define and follow a standardized development process. Your e-commerce teams will operate in a similar manner, using the same work methodology, tools, frameworks, and facing similar challenges. That means plenty of reusable knowledge can be gathered across the company, which enables a more streamlined and efficient development flow. Also, using a common development process makes it easier to reassign developers from one project to another, with reduced ramp-up time.

You might think that you could have the same benefits when you’re starting projects from scratch, and you would be right. With enough discipline and collaboration between your teams you could reach the exact same point. However, in practice, projects started from scratch tend to diverge to an extent where it becomes challenging for a new developer to join an ongoing project, since it has to get familiar with everything that has been developed so far. In contrast, when joining a project developed on top of an e-commerce platform developers are already aware of the core functionality, project structure, and development patterns. They only have to get familiar with the business logic and the particularities of the current project. This will increase your efficiency and save valuable time for your customer.

Additionally, using an e-commerce platform may open new perspectives for you, by joining a dynamic ecosystem filled with business opportunities. A well-established community will make it easier to get the support you need for implementing an e-commerce solution. Also, by being part of such an ecosystem you will be able to establish strategic partnerships with other parties, which may generate even more business for you. On the long run, building a name for yourself inside the community will help you get new customers and win better projects.

However, it’s not all fun and games when you choose to use an e-commerce platform. There are a number of hurdles to overcome, and we’ll try to list the most common ones. First, it might prove difficult to attract and retain talent in your company. The reason for that is that most developers think of e-commerce as a niche, and perceive an e-commerce platform as an even smaller niche. Their concern is that the knowledge and skills they gain by working with an e-commerce platform are not applicable to other areas, making them unattractive to the labor market. For that matter, they prefer to work on projects that start from scratch and imply a larger degree of custom development. As an employer, you should strive to choose a platform that allows developers to gain a broader range of relevant skills, in order to keep them technically sound and increase their motivation.

Then, you have to take into account the learning curve for an e-commerce platform. Your developers will need to get familiar with the platform, understand its underlying structure, find out how to extend it, grasp the best practices, and so on. You may have to invest both time and money for that, since many e-commerce platform providers request developers to follow a few training programs before working with the platform.

Finally, some e-commerce platforms will have higher entry barriers, requiring a partnership to be signed and a set of prerequisites to be met, such as a minimum number of certified developers. Also, the ecosystem might be strictly controlled by the platform provider. That means the projects available to you might be limited to a certain geographical area and the project assignment might depend on your type of partnership. Make sure you are comfortable with all the implications before starting your business initiative.

Developer’s Perspective

We’ve been talking so far about customers, employers, and their struggles, but someone needs to make the magic happen. That’s right, I’m talking about you, the almighty software developer. You’ve been developing applications from scratch for several years, using just a handful of frameworks and tools. You enjoy crafting a system from the ground up. Why would you change any of that? How could an e-commerce platform help you build a system and what are the drawbacks of using one? All these questions are legitimate, it would be unwise to jump head first without knowing what you’re getting into. For that matter, we’ll try to address your concerns in the next paragraphs.

The main fear developers have when working with an e-commerce platform is being isolated in a niche and losing touch with the rest of the market. That’s a valid concern, but it’s uncommon for that to happen. Most platforms are based on widely-adopted technologies and frameworks, and they are designed to be as flexible and extensible as possible. That means you would still get to work with the same frameworks as the rest of the market, which would keep your skills up-to-date and help you stay relevant for other possible jobs. However, in case you find yourself working with a platform using outdated technologies and makes you feel stuck, run away as fast as you can. When you land your next interview, you don’t want to be the one who brings a knife to a gunfight.

Then, developers are concerned that there’s not much custom development involved when using a platform. Most of them view an e-commerce platforms as an almost-ready product which requires just a bit of configuration and tweaking before being released to the world. Most customers see an e-commerce platform the same way, but then they get new ideas. Luckily, these ideas generate plenty of work for developers, who are faced with exciting challenges. Working with an e-commerce platform is rather similar with joining a project three months after it was started from scratch. You have the main structure of the application and the core components of the system, but there is plenty of room for custom development from then on, since most customers want to extend the standard solution to some degree.

There’s definitely a learning curve involved with each e-commerce platform, so you won’t be able to use the platform at full capacity right away. This shouldn’t be seen as a disadvantage though, since you get to learn how the platform is built, how it works, and how you can extend it. All this knowledge can be reused on other assignments, serving as best practices and architectural design inspiration. Then, you might find yourself working around the platform in order to implement a certain component or feature. That might be the case sometimes, especially in the beginning, but once you know how the platform works and what is the intended way to extend it, the development becomes smoother and starts to feel more natural. It’s true that a platform will reduce the flexibility you have in a purely custom development project, but a well-crafted platform will ensure that you can still make your own architectural choices.

Conclusion

E-commerce platforms are ideal tools to support your digital transformation. Reduced time-to-market, core features and functionality, standardized development process, vibrant community, countless extension points, all that will give you a head start in any e-commerce business initiative.

Give it a try! Find the right e-commerce platform and put it to work. Who knows, maybe the next Alibaba is easier to build than you imagined.

Andrei Danciu

SAP Hybris Consultant

2017-01-06T11:36:40+00:00September 16th, 2016|Categories: Java, Technical, Written by our colleagues|Tags: , , |