The Challenge
One of our clients, who are an awarding organisation for technical qualifications, was about to take on a whole new type of qualification, which was graded very differently than anything they had done before.
It required a new grading engine to be created, which would be the core system, responsible for calculating final grades based on unit scores for each candidate.
With our experience of creating enterprise-level software within an existing technical landscape, we knew we'd be able to deliver a great application here.
Technical design
This application would be a new system which would need to communicate with various other systems. In our early discovery sessions, we drafted up a technical architecture proposal which would enable the grading engine to work independently from outside systems. Using an API to create a one-way boundary, the system would be able to keep running even if other systems were swapped out or changed in the future.
Naturally, with a system like this, reliability was key. As all data would be coming in through the API, we built a hardened validation layer that would reject anything which fell outside of the expected business rules. This was a critical foundational step to ensure that data was correct to begin with.
The business rules of the application also worked very well within a test-driven software approach. We created a comprehensive suite of tests that gave us confidence that everything was created to the specification that we had intended.
Security was also a key element that we needed to consider, and so we used the latest techniques to build strong security and tracking into the core system and all of the touchpoints.
As for the software stack itself, we made use of robust but modern technologies. The core systems were built using ASP.NET Core, and hosted on the Azure cloud.

User interface and experience
Along with the engine and API, we also built a web-based admin interface, that would allow for administrators to set up configuration data for any qualifications that needed to be supported. This was a crucial step to ensure that the system would be future-proof, and wouldn't require ongoing specialist knowledge.
Even for internal systems, we believe that a simple an intuitive experience is key to reduce training time, improve productivity, and reduce human error. We refined the design through wireframing and basic prototyping, before building using a modern web app stack, utilising React.JS.

Integrations
No enterprise system exists alone, and indeed, the best systems focus on what they do best and integrate with other touch-points. SAP was the main manager of qualification and candidate data here, and so we needed to ensure that the new grading engine would fit nicely with this. The SAP system was adapted to push and pull data to our API, and we created a technology-agnostic interface. This would allow for SAP to adapt and change in the future, without modifications being required to the core engine.
Another core component of enterprise software is creating intuitive and timely reports. We worked with the client to understand what data was needed, and by whom. Great reports exist to give a snapshot of the data, and we also created notifications for any unexpected anomalies, so that they could be investigated.

Delivering results
As with all of our projects, timely communication and working closely with our client, was important to the success of this one. We ended up with a rock-solid system that will be adaptable for many future qualifications, along with a branded and intuitive admin portal.
No project comes without hurdles along the way, but we apply our pragmatism and creative problem solving when needed. We delivered a great experience here, to specification, and within the required timelines. The icing on the cake is always striving for happy clients - and this one was no different!