Our strategy we employed was to build a team that the client could recognize as their own and have that team engage with the business stake holders often to keep in parallel with their goals. One unit of the team is determined to keep the intricacies of the day-to-day business in motion; the other unit is to enhance their applications and ensure evolution of business needs are met with equal development. Like incremental code changes to steadily progress these systems, we continuously, sprint after sprint, learned new facets of their business which only added to our tooling and reasoning when approaching tasks whether it be support or development.
Innovations
As mentioned above, one of our goals was to improve upon maintainability. When approaching a series of work items, our team sought to create additions to the client’s codebase that emphasized scalability and removal of limitations. One such improvement was to implement a way to migrate several stored procedures and surrounding code to utilize new extended columns that not only fixed an impassable truncation issue but did so in the least invasive way possible.
In using feature flags, new stored procedures in parallel with old, and new columns we corrected a boundary that as the system grew the values of essential fields were being truncated for one of their lines of business.
Another accomplishment that gave the client’s userbase a useful feature was our team’s implementation of stored payment methods. Putting this in place meant end users could keep their preferred selections of payment method, adding convenience to transactions with the client.
Core Technologies
To accomplish our goals, we leveraged several technologies.
- ASP.NET Core
- ASP.NET Framework
- Classic ASP
- MS SQL
- DB2 SQL
- Azure Function Apps
Their core application, due to several years of life cycles, required all these technologies to work together in unison. Some portions such as the client-side were written in VB.NET and Classic ASP while the server-side portions consisted of C#, VB.NET which retrieved data through services referencing their DB2 mainframe and MS SQL databases.
Many times, solutioning a work item called upon a combination of these technologies, where modifications, such as updating a stored procedure, meant also adjusting the .NET code to accommodate the change and ensuring regressive testing was successful. This integrated approach ensured that changes in one aspect of the system were seamlessly reflected throughout, maintaining the overall integrity and functionality of the application. Collaborative problem-solving became a cornerstone of our workflow, as we adeptly navigated the intricate interdependencies between technologies, swiftly adapting to evolving project requirements. This holistic perspective not only streamlined our development process but also fortified the robustness of the entire system, contributing to the overall success of our projects.