100 sprints of Zetadocs Expenses
The story so far developing our expense management solution for Microsoft Dynamics
Today we celebrate completing 100 sprints of development work on Zetadocs Expenses. It's been quite a journey since we started building software for today's cloud, mobile and hybrid world, and I'd like to share how things have changed over those 100 sprints.
It all began in September 2013 where we agreed the initial concepts, the design goals, the desired functional capabilities and a high-level architecture of Zetadocs Expenses. Since then, we have incrementally delivered new functionality in every sprint, and we have got into the routine of delivering monthly updates for our users that we write about in the Zetadocs Expenses blog.
Agile development
We use an agile software development process. But back in 2013 things were a little different from today: we used a physical Scrum board, with a card for a story and sticky notes for tasks. Now we use an on-screen Scrum board in Microsoft Team Foundation Server (TFS) for our daily stand-up meeting, and remote team members join via Skype. During the first year our sprints were four weeks long, but by sprint 12 we had moved to two week sprints. These shorter sprints raised the tempo of the project, giving us greater flexibility, a much leaner process and a way to keep our stakeholders closely involved through the "open to all" sprint review meeting that we have at the end of every sprint period - and we had this morning for sprint 100.
Elastic scalability
Our expenses solution is built on Microsoft Azure with various mobile frameworks. We have increasingly leveraged Azure's evolving capabilities and tooling. For instance, our software now uses App Services which gives us elastic scalability, rapid deployment through Azure Resource Manager (ARM) templates and a managed platform on which we can rely. We are also using serverless computing through Azure logic apps and functions. Azure is an impressive platform, and we're happy with our selection of it five years ago.
Development environment
Developer tooling has improved greatly: Continuous Integration ensures all developer changes are thoroughly tested and integrated on check-in. We have an automated release pipeline that deploys the solution to test and pre-production environments for extensive testing prior to an online update of the live production software. Once the solution is deployed, we use Application Insights to provide dashboards for monitoring in real-time application usage and performance. Should any problems arise the troubleshooting capabilities allow us to pinpoint problems rapidly.
Standing back, the tools and technologies we use have improved greatly over our first 100 sprints, resulting in boosted productivity, greater flexibility and better solutions. However, the main ingredient to our success is the hard work, determination and creativity of our team that builds the software. So, on the completion of sprint 100, as Development Manager, I’d like to say thank you and well done to them for what they have achieved.