Challenge

Develop a solution integrating complex user-facing forms and two-way data synchronisation with a complex and dynamic schema, while ensuring continuity of use for thousands of existing users.

Insight

Using well defined schemas will enforce alignment between forms and APIs, while automated tests ensure accuracy against real data. Asynchronous messaging keeps API communication separate from user interfaces.

Solution

The new grants application delivers on its promise of a better experience for users and admins through robust and well-tested data handling between systems.

Every year hundreds of millions of dollars in grants are distributed to support causes that make WA a great place to live. Through its benefactors, the programme has supported charitable and benevolent causes in variety of areas — everything from health and community relief, parks and recreation, to science and the arts — with benefits realised across the entire state. While the outcomes of the grants programme are incredibly positive, our client realised there was a key opportunity to make the funding process easier and more accessible for applicants and administrators alike. 

In the old system, applications were submitted digitally using a SmartForm, a PDF-based solution provided by business.gov.au, and manually entered into the CRM by the grants administration team. Eighteen form variations were available depending on the applicant's circumstances. A prolonged waiting period would follow — sometimes up to 4-months — during which time applicants couldn't check the status of an application or even confirm that it had been received. Completion of the SmartForm required users to install and run Adobe Acrobat Reader in a desktop environment, which meant mobile users were unable to apply. The sheer number of form variations led to significant administrative overhead for the intake team, both in processing and in maintaining the forms.

Planning

The new grants application is the culmination of 3 years of planning between our client, Fujitsu and Deloitte, with us being engaged at the build phase to provide technical planning and build resources for the new web application. Our first task was to take the high level system design produced by Fujitsu and the wireframes produced by Deloitte and identify top-level work items and estimates, allowing prioritisation at a feature level to meet budget requirements.

In this phase we also identified some of the unique technical challenges the project posed and designed the solution accordingly. First and foremost was the data-heavy nature of the process: the application requires hundreds of fields, many of which are conditional based on other fields; the challenge was ensuring alignment between the user-facing forms and the XML serialisation sent to SAP.

Our solution was to create a single source of truth for the data schema, and then build on facilities to create and process customised user-facing forms into persistent objects, and convert those objects to and from the XML format used by SAP. This allowed the forms to be customised in order to offer the best possible user experience while maintaining alignment with the data model. When changes to the application form become necessary, the process is made easier by the data schema being kept in only one place.

Reliability impacting the user experience was also a concern. With many moving parts (two-way API communication, PDF generation, virus checking, scheduled jobs to move files), the system needed to remain available to users even if connectivity was lost or certain components malfunctioned. 

We addressed this using an asynchronous message queue with periodic processing. If the portal loses connectivity to the SAP API, users can continue updating their application, and when connectivity is restored communication resumes. Fujitsu implemented a similar function on the SAP side for messages sent into the portal. We also implemented automated health checks so IT can be notified when the system is encountering errors, and introspection tools to aid debugging and troubleshooting.

Delivery and handover

We worked closely with our clients throughout the project to ensure the solution met all of the technical requirements — capacity, hosting, and security being foremost. 

As the project moved into delivery, we collaborated heavily with the client’s IT team and Fujitsu's SAP team, turning the designs into responsive HTML templates, building the core system components, and refining the user stories and task list. Our primary challenge during build was ensuring all the variations in the data communication between the portal and SAP were handled (and generated) correctly. As avid proponents of automated testing, we compiled a significant body of sample data and ran tests to ensure each was processed correctly; this continued through the life of the project and proved invaluable in avoiding regressions when making schema or schema handling changes.
Along with the functional requirements, we also had to ensure the client’s IT team could take  ownership of the system and provide ongoing support and maintenance. To achieve this we included documentation (built using Sphinx) at an API level, describing how different parts of the system work and how to perform common maintenance tasks. The codebase itself is also comprehensively unit tested, including many variations of the XML data, allowing code changes to happen with a greater degree of confidence.

Conclusion

The new Grants Application streamlines and improves the experience for everyone involved. It’s much easier for West Australians to apply for and manage grants, the review and approval process is more efficient for administrators and it’s more simple than ever for the internal IT team to support and maintain the system as a whole. 

The forms are now smarter, too. Automatically pre-populated fields make it easy to apply for multiple grants and let applicants save draft submissions, so they can return to it when it suits. Want to check on your submission? Easy. Users simply log in to the portal on any device (phone, tablet, desktop) to view the submission status, where they can then correct any errors and update information.

The successful 7-month agile development collaboration between the client, Deloitte, Fujitsu and us resulted in a new grants application experience that simplifies submission, accelerates processing and allows customer self-service, which ultimately empowers more Western Australian organisations to receive the much needed financial assistance they need to thrive.

Interested in working with us?

Whether you have a clearly defined product brief or you're not sure wherein the problem lies, drop us a line for a no-pressure chat about where you are at and how we might help.

A cute animal

You found !