One of the key issues faced by owners, managers and web developers of online stores is choosing an eCommerce platform that will allow them to efficiently manage their online store and develop it as painlessly as possible.
You surely know that choosing the right platform for your store can bring huge business benefits if the topic is carefully addressed from the very beginning. If you’ve come here, we assume you already know what Sylius is, and you are considering it as part of your tech stack.
Suppose you properly plan and prepare for the web development process (Sylius implementation). In that case, the building and maintenance of eCommerce will be more accessible, and you will notice the return on investment faster.
The process of website development/eCommerce platform development depends on many factors, and in this article, we will discuss those related to Sylius.
Who is Sylius for?
Sylius is a suitable solution for medium businesses developing fast and enterprise companies with needs for custom and light solutions that can scale infinitely.
What types of projects is it suitable for?
The uses of Sylius are limitless for those who look for a non-limiting solution, especially:
- Enterprise or rapidly growing mid-market B2C projects where scalability is the key
- Projects for which the functional answer cannot be found in standard eCommerce solutions (marketplaces, custom B2B projects, advanced configurators, etc)
- Complex and complete “best-of-breed” ecosystems
Our experience in Sylius
We are the Leading Sylius Partner, so we are able to give active feedback for both the open-source and commercial versions. Our team comprises almost 60 people – PMs, web developers (backend and frontend), UI / UX designers, consultants, sales, marketing, and HR.
Our dedicated open-source team has developed more than 30 Sylius plugins, which were installed around 1 000 000 times worldwide by the time this article was written.
We are not limited to a specific country or market, and thanks to the possibility of remote work, Agile and Scrum methodologies, focus on communication, and flexible adaptation to the needs, we have the opportunity to work with clients from different time zones, various countries and industries (automotive, fashion, e-grocery, optics, fintech, entertainment, and more).
Sylius website development – the process of creating an online store
Please note that the process may be considered not only for the Sylius-based websites. It is general and should be a suggestion rather than a determinant.
Mapping business needs in web development process
The first and, at the same time, a key stage of implementing the new eCommerce system/online store is preparing a business analysis. The professional analysis allows you to create a well-functioning sales system that will help develop B2B, B2C, omnichannel or multichannel activities and strengthen the brand’s position on the market.
Analyze the market
As important as defining goals is to objectively define the company’s current position in the market and the processes that take place internally. It involves answering the following questions:
- Where is your company today?
- Is eCommerce popular in your industry?
- Are your competitors already selling online?
- Do you have any role models to follow?
The ability to answer those questions may give you a picture of your competitors, possible benefits, and threats. Then:
- Think about functions, applications, plans, limitations of the current store, the migration process, and what problems would the new eCommerce solve
- Based on the requirements, an agency can recommend a solution, architecture and plan to be implemented. At this time, you can use the help of external agencies or do it comprehensively in-house
Consider the differences between platforms
To clearly understand differences, it is crucial to understand the business’ point of view – what is a promotion, a product, etc. – there will be many solutions to the same problem across platforms, so it’s important to understand the basic requirements.
Establish key business functionalities for website development:
- M – Must have – mandatory requirements that the system must provide
- S – Should have – requirements that should be included in the system
- C – Could have – additional requirements that are desirable but not essential
- W – Won’t have – requirements that will not be implemented (but may be implemented in the future)
Determine the platform requirements
After setting your goals, analyzing your company’s position in the market, and being aware of potential threats, it’s time to define your technology requirements. It is critical to prioritize the actual needs of the business. Extensive analytics and an understanding of your business are needed.
Prepare a list of the functions you will need in your system. It may be a content management system, social media integration, advanced search engines, Google Analytics integration, well-presented visual content, mobile-friendly website, etc.
Establish MVP; at which stage you can go live, e.g. it may be the possibility of placing an order and not necessarily buying a subscription right away.
Designing a roadmap
That is, defining as accurately as possible the project development timeline (without dates) and stages of the project (main functionalities). It consists of:
- Setting the main business goals of the project as milestones
- Planning a roadmap with an internal development team or agency; programmers should verify business expectations
- Roadmap consultation with the implementation team
Verifying the weaknesses and strengths of the eCommerce project (in the context of Sylius)
It is all about asking questions like:
- Why is Sylius a big advantage in this case?
- What in Sylius is burdened with greater risk?
- What should work the same, and what works completely differently in Sylius?
- Which parts of the system work better/worse?
It is worth knowing „why” and answering the questions „What does Sylius give us / how it will affect business” – e.g. high flexibility, our programming team will do well, we will not be overwhelmed by technical debt.
Verify the team of web developers
We often witness situations where experienced PHP / Symfony developers start with the Sylius project (with no experience in Sylius) without using its full potential. Therefore, it is worth considering whether to trust experienced people (who have experience with Sylius) when starting the project because it is easier for programmers to enter the Sylius project and conduct it further than to start it correctly.
Consider what speaks for building a team on your side and what speaks for using the services of a certified agency/software house. On the one hand, when you decide to build a team, you have direct control over the work, and on the other hand, the team needs to be trained and hired, and there is a risk that they may leave. The difficulty in choosing an agency may be the problem of verifying it, the rotation of programmers, or the possible termination of the contract.
The choice is very individual and depends on many factors. An alternative to full project delegation is to hire an agency to support you in the first phases of the project while building your internal team.
Web development projects standardization
Maintaining standards is very important to long-term web development, helps in managing dispersed teams and avoiding technical debt.
More about standardization >>
Set the environment
The staging environment should be as close as possible to the production environment.
- CI/CD processes (continuous integration/continuous delivery or deployment)
- Git flow
- Limiting the number of environments – only as much as necessary (e.g. development, test, staging)
Good software should be reliable, extendable, and easy to maintain.
In short, your application should work as you expect in various conditions and with different loads. Building new features should be as easy as at the beginning – even in case of considerable codebase growth. And last (but not least) – every change you need, and want to make, should be possible to be done in a reasonable amount of time.
Tests have a few roles in the application:
- Allow to make changes in the code easier, and they don’t require long manual testing afterward – even in a big and complicated system
- Enhance the probability that all parts of the code are behaving exactly as we need them to behave
- Check whether all separate modules are communicating with each other as they should
Sylius has a testing environment – Behat; one function can be tested in several ways, but if testing takes 2x as much as implementation, unit testing should be considered.
The most important parts are worth testing comprehensively.
Unit tests are worth doing for heavy logic, but they should not be the basis (a unit test can be covered, for example, with a promotion calculator, but the entire flow must be tested comprehensively).
It is worth starting tests from the beginning of the project, but it is not always worth testing simple cases.
The choice of hosting services is influenced by many factors, such as customer location, load, and the number of users, so appropriate research is needed.
The moment of going live should be carefully considered – when and which elements, what if something goes wrong – and a contingency plan should be prepared a contingency plan in case of problems.
It is worth considering manual tests before launch or, alternatively, making a new business website available for a small group of customers (large companies often decide on this).
It is better not to go live at a crucial moment for business, before the expected increase in traffic (like holidays, etc.), because it generates a greater risk.
Sylius web development – good practices
- Take the time to learn Symfony Good Practices (DI, SOLID)
- Take the time to familiarize yourself with the Sylius ecosystem, familiarize yourself with the available solutions
- Learn about test tools (Behat, PHPSpec, PHPUnit, etc)
- Get to know the ecosystem of Sylius and its tools; Sylius CRUD / Sylius Grid / Sylius workflows
- ASK – Sylius Developers Slack – get involved with the community
- Studying the documentation of Sylius
- Xdebug – improve the PHP development experience and watch some processes run
- We have created the so-called BitBag Bible, which is an internal collection of good and proven programming practices
A practical and well-organized web development process will enable online businesses to leverage the satisfaction of consumers and streamline the buying process for merchants. But unfortunately, even experienced web developer or agency may face various challenges while developing Sylius-based websites.
Having those struggles in mind, we provide Vision-to-plan eCommerce Workshops (a comprehensive service that involves collecting requirements and matching appropriate technologies) and Sylius project assistance (expert outsourcing, plugin development, project maintenance, and project takeover).