I worked with Bullet HQ’s API recently so that I could import account and related data in to their system. Afterwards I had the opportunity to talk with John Farrelly, responsible for Bullet’s Product Development about how they develop their software.
BulletHQ is an excellent Accounts and Payroll web application, based in Dublin. They recently began offering their Accounts package for free to individuals and businesses with an optional paid-for Payroll section.
How is BulletHQ developed?
I asked John how they develop their software, as an accounts package that businesses rely on, it needs to be rock solid.
I was delighted to hear that Bullet believe in and actively use continuous integration practices in developing their software, it is an approach to development we are actively moving towards here too in Murrion.
Continuous Integration (CI) is a practice of automating software builds using tools such as Travis, testing the software and then deploying Live code changes frequently, sometimes several times per day.
The development team spend a large amount of their time in writing tests and are big proponents of Test Driven Development (TDD), meaning writing tests first and developing code until those tests pass.
The team have so many tests in place for their software that it can take several hours to run the full suite!
To organise their work, the team use Sprints, often 2-weeks long. Sprints are an Agile software development approach. Sprints are a period of time to focus on one or more tasks. In team meetings, they collectively decide upon and take responsibility for the tasks that need to be included in the Sprint period.
What’s under the hood?
Bullet is built using Java. I was saddened to hear it’s not developed using PHP
What’s next for Bullet?
Bullet are putting the final touches to a new Support section on their site, to help new and existing users of their software to get answers from staff and other members of the community.
On a development front, they are focussed on choosing the right platform for the documentation of their API, so if you’re a developer, watch this space!