The software development team at FISCAL Technologies primarily utilises the Microsoft technology stack. Our solutions are deployed on the Azure platform and are built utilising .NET Core, C#, TypeScript, SQL and PowerBI These technologies are supported by React which are used to build "easy to use", modern user interfaces and other technologies such as Terraform, YAML, Docker and Kubernetes which host and deploy the products within the Azure cloud.
To ensure that we are taking full advantage of the latest developments in our technology stack whilst ensuring that we are minimising the impact of security vulnerabilities we try to ensue wherever practical that we are running the latest versions of the technologies in our stack. Additionally, new technologies are constantly being monitored and evaluated by the team to make sure that we are taking full advantage of new innovations as they become available.
FISCAL Technologies engineering team are fully committed to using Agile methodologies for software development. We find that this approach fits particularly well with the development of our SaaS solution, as it provides us with the ability to regularly deliver value to our customers, while also allowing us to react quickly to changing priorities. The team uses a combination of Agile techniques, including Scrum, Test Driven Development, Pair Programming, Continuous Integration & Continuous Delivery.
Using the Scrum as a framework, we work in two week Sprints, holding planning sessions, daily stand-ups, showcases and retrospectives. We use a physical scrum board to track the progress of stories and tasks during the sprints, which we find makes planning sessions and daily stand-up meetings much more focused and interactive.
Sprint planning takes place mid-sprint, during these sessions we review the next highest priority stories, break them down into tasks and use story points and planning poker to estimate them. The end of sprint showcase provides us with an opportunity to demonstrate the changes to the product that have been introduced during the last sprint and keep the rest of the business up to date with current product development. We experiment with different retrospectives formats to keep them interesting, interactive and engaging, providing plenty of opportunity for the team to let off steam at the end of the Sprint.
Releasing software to live at the end of each Sprint means that we depend heavily on automated testing, requiring developers to add new tests for each task they complete. We use pair programming on more challenging stories to ensure that we develop high quality solutions, while taking advantage of knowledge sharing and learning opportunities. Use of constant integration and constant delivery means that we are always in a position where we are ready to release.
In keeping with the spirit of Agile we regularly review, streamline and refine processes, to reduce wasteful activities and ensure that we are constantly delivering value to our customers.