Case Study: Developing Car Dealership Management Software for Kia
Our company has built a reputation for developing sophisticated, large-scale web solutions for various corporations, mainly dealing with internal systems. Among our notable achievements is a cutting-edge solution we engineered for Kia, a titan in the automotive industry. This project — a car dealership management system — showcases our specialized skills in automotive solutions and our commitment to innovation in this sector.
For the past three years, we’ve been relentless in our efforts to grow and sustain this ambitious and complex project, with a dedicated team working on it. The project processes over 10 million queries each day and features seamless integrations with more than 20 key IT systems, including Salesforce and SAP; serving a diverse international user base while meeting exacting security standards.
In the following article, I will expand upon our development journey on this extensive system, as well as shed light on general strategies used to build enterprise-grade systems featuring high quality requirements and multi-million budgets.
What is special about this project
It’s important to remember that established corporations already have a whole host of IT systems that interlink and function cohesively, and that most solutions for corporations focus on the further development and maintenance of existing systems.New development from scratch is in fact quite rare, however, where it does occur, ensuring its seamless integration with the existing IT infrastructure is crucial.
For our project with Kia, the task was to create a car dealership management system. Kia had an existing solution that fell short of their comprehensive needs, prompting us to engineer a new system from the ground up.
The paramount challenge was working with a “live” IT system that thousands of dealers in numerous countries relied on daily. Our goal was to implement sweeping changes without disrupting ongoing operations, a crucial consideration given that dealership management software is a core component of such corporations.
Our work extended to the integration of Salesforce, SAP, and a host of other internal systems, each with its unique requirements and necessitating two-way integrations. This included setting up restricted access for different employee levels and configuring a variety of complex settings.
Data security, of course, was also of fundamental concern, given the sensitive nature of information any car manufacturer will hold. In this area, we adhered to the stringent requirements set out by the Kia head office, dealing with existing infrastructure configurations, and worked diligently to ensure the highest standards of security expertise expected of our development team.
Tasks came not just from the client’s project manager but also from various departments interacting with the system. Effectively, it can be said that we were serving multiple clients within the Kia organization, and consolidating their needs into a unified system was a challenging prospect.
Features of similar systems
While NDA agreements prevent us from sharing specific details about the systems we develop, we’re free to discuss typical dealer management systems features more broadly. Let’s explore what these systems ideally offer.
Such systems often boast a wide array of functionalities, with the specifics fully dependent on the unique objectives and market focus of the business in question.
Below is an outline of basic features that one might expect:
- Inventory Management:
- Vehicle inventory tracking, including specifics like make, model, year, Vehicle Identification Number (VIN), color, mileage, and pricing
- Availability of vehicles in the main warehouse.
- Control and audit of dealerships:
- Conducting inspections to control the quality of work, service, and appearance of dealerships
- Dealership rating
- Delegation of tasks for dealerships.
- Sales and Customer Relationship Management (CRM):
- Lead management and tracking
- Customer profiles and history
- Sales inquiry management and follow-up automation
- Sales team performance monitoring and reporting
- NPS report.
- Service and Maintenance Management:
- Service appointment scheduling
- Repair order management and tracking
- Service technician productivity monitoring
- Inspection time reports and dashboard.
- Parts and Accessories Management:
- Parts inventory tracking and management
- Automatic reordering and stock level monitoring
- Plan/Fact sales of parts
- Availability of spare parts in the main warehouse.
- Multi-Location Support:
- Centralized management and oversight of multiple dealership locations
- Support of dealerships from different countries.
- Reporting and Analytics:
- Comprehensive reports on sales performance, inventory turnover, service efficiency, and other KPIs
- Business intelligence and data visualization.
- Employee Performance Tracking:
- Sales team performance monitoring
- Commission and bonus calculations.
- Data Security and Compliance:
- Data encryption and security measures
- Compliance with industry regulations like GDPR or CCPA.
Design and analytics
In the initial phase of our project, we began by scrutinizing the existing out-of-the-box solution, alongside the specific needs of the client and each department. Our goal was to pinpoint any aspects that were falling short of both customer and employee expectations.
Initially, a single full-time Business Analyst (BA) was sufficient for a project of this magnitude. However, as the project progressed, it became apparent that we required a second full-time BA, despite the solid foundation that had been laid and the client’s extensive in-house expertise.
One of the primary challenges at this stage was the scarcity of similar systems in the marketplace, all of which were proprietary. Without previous experience in developing such systems, there was no opportunity for what is known as «reasonable adoption» — to peek into existing systems for insights that could be applied to our project. This meant that, in some instances, we had to reinvent the wheel, and we adopted an evolving development approach.
With such solutions, design plays a secondary role for a number of reasons:
- Internal users are already committed and motivated.
- We provide a support engineer who is always on standby to resolve queries and assist users.
- The intuitive understanding cultivated by a BA is deemed more significant here than UI/UX design creativity.
For these reasons, we didn’t place a substantial focus on design aspects, despite having a talented designer capable of crafting user-friendly interfaces. Rather, the crux of our success hinged on having business analysts with deep automotive sector knowledge and a comprehensive grasp of these systems’ operations. Fortunately, by the time we embarked on our work, we were well-equipped with the requisite expertise and BAs on board.
Tech stack and development
Generally, projects of this magnitude build upon a company’s existing tech stack. Given that most corporations deploy a variety of off-the-shelf software, they end up with an extensive array of technologies. Yet, within this diversity, every corporation prioritizes a set of core technologies that become central to their projects. Managing such a sprawling tech ecosystem can be challenging; therefore, many organizations limit themselves to a preferred tech stack.
Sometimes a contracting firm might not have all the necessary specialists ready to embark on a project. In such instances, it’s common to augment the team with externally sourced talent.
Our strategy is to foster in-house expertise across various sectors and to onboard engineers with specific technical skills as projects demand.
While I won’t delve deeply into the technical minutiae here — such a topic deserves its own detailed article — we managed over ten primary and related technologies on this project, which is what we would have expected given its scale and complexity. Moreover, the project features numerous integrations, executed not just through conventional APIs but also through more intricate and unconventional means.
Navigating the programming landscape is particularly challenging for these kinds of enterprise-level projects. Nevertheless, our considerable experience in developing sophisticated systems, backed by a robust engineering team, enabled us to meet these challenges head-on. Although getting going on the project took a few months, we ended up figuring it out without issue.
Currently, our dealership management system is undergoing significant modifications as we transition to a microservices architecture — a model which is more efficient for such projects. Having previously implemented this architecture in other projects, we are confident in our ability to manage this complexity effectively. Adopting a microservices approach enhances system stability, which is vital for our client’s success.
Kia, like any major enterprise, demands rigorous and multi-level security requirements. The stakes are particularly high for a car dealership management system project, which handles sensitive information such as sales figures and dealer records. To safeguard this data, we implemented security measures akin to those found in banking systems.
Typically, access to the production server, which houses critical business data, is exclusively granted to the client. Developers, deeply involved in the project as they may be, do not possess access to the actual sales and dealer databases on their own servers. Instead, any new code is routed to the client’s team leader for a thorough security audit. Only after it meets the stringent security criteria is it deployed to the production environment. This constitutes the primary level of our sensitive data security strategy.
Furthermore, we employ a role-based access control system within the company. For example, a sales manager’s access is confined to data relevant to their specific office, department, and role. They are effectively barred from accessing information about activities or sales in other departments.
An additional layer of security is provided by the DMZ. Its key objectives include thwarting DDoS attacks, restricting server access, limiting servers from reaching non-essential resources, and confining server-to-server interactions within the DMZ to essential ports only. The DMZ’s role in this project is to augment data access restrictions not just through IT system configurations but also through server settings, thus reinforcing our dual-layer data protection strategy.
Of course, regular software updates are essential in eliminating potential vulnerabilities and bolstering overall system security.
The security rules built-in to frameworks also play a critical role, preventing fundamental errors and offering programmers best practice recommendations.
Often, client-side security experts are involved in establishing development requirements and ensuring their adherence. At SECL Group, our team members boast extensive experience with high-stakes enterprise projects and are well-versed in identifying and addressing common security pitfalls.
Enterprises rely on dozens or even hundreds of different IT systems that together form a seamless data-sharing ecosystem. When introducing a new solution into this complex network, ensuring its compatibility with existing systems is absolutely essential. This makes using ready-made systems very inconvenient, as their integration frequently necessitates collaboration with their original developers, who may not possess the requisite integration expertise.
For this reason, many companies opt for bespoke software, which offers greater flexibility in integration with existing systems. In our endeavor with Kia, we undertook two-way integrations with established systems like SAP and Salesforce, in addition to various other bespoke applications, both external and internal.
We approach each integration as a distinct mini-project. Take, for instance, the Salesforce integration within our car dealership management system: the technical specifications alone spanned 80 pages. That’s testament to the magnitude of work involved for a single system, and in this project, we were dealing with over 20.
This phase is acknowledged as one of the most complex and intensive segments of the development cycle. It requires skilled engineers who are well-versed in the functionalities of both systems involved to ensure the integrations are executed successfully.
Quality assurance is a core principle for any car manufacturer. That’s why testing becomes a key phase in the development of any system for the automotive sector.
Initially, our approach to this project was grounded in manual quality checks, but we soon integrated both unit testing and automated testing into our process. Automation and unit testing boosted our capability to rigorously evaluate new features, which we typically roll out every two to four weeks, and each testing method is strategically applied within its relevant area of usage. Additionally, we employed specialized testing methods, such as security and load testing, to ensure robustness and performance under pressure.
Having expertise in integration testing in your team is also important. Given the numerous system integrations inherent in such projects, it’s essential to meticulously examine such connections, pinpointing the exact source of any issues that arise. We’ve already discussed quality assurance and types of testing in more detail in our blog article.
For a project of this magnitude, it’s insufficient to have experienced QA engineers; they must also possess a nuanced understanding of the automotive sector’s unique demands.
At present, our project team is composed of 15 dedicated members. This includes a project manager and two business analysts who bring specialized knowledge of the automotive sector. We have divided our development team into two distinct groups, with one focusing on back-end development and the other on front-end tasks, each led by its respective team leader.
In addition, we have a quality assurance (QA) team on board. We also engage DevOps and various other specialists on a part-time basis. An essential member of our team is the support engineer, who provides Level 1 and Level 2 support, fielding queries from both internal and external users, including those from external dealers working with the system’s API.
The composition of your team will depend on the scale of your project. Should the number of engineers increase, we would introduce a second project manager. As a rule, we also recruit additional employees at the client’s behest, which means that for larger projects, only a portion of our team is derived from our internal talent pool.
Our project for Kia involved creating an automotive dealer management system of considerable scale and complexity, tailored for one of the industry’s leading corporations. Due to the client’s unique and detailed requirements, an off-the-shelf solution simply wouldn’t have sufficed.
The development of such a system is not a one-off task but an ongoing journey of maintenance and enhancement. Even after the initial development phase, our team remains engaged, continuously integrating new features and refining existing ones.
For automotive companies, a system like this is vital, directly playing into sales operations. But car dealership management software stands out as one of the most intricate types of solutions in the industry. If you’re considering the development of a similar system for your business, we invite you to contact us for a consultation.