Software development; from demand to feature!

hands-header

With more than 600 IDEXX Animana customers in the Netherlands and approximately 100 in other countries, most Animana users have great ideas for improving our practice management software! Ideally we would like these ideas to come to fruition within a short time frame, but unfortunately this is not always possible.

In this article, we will explain how the process of demand for actual feature development occurs and how decisions are made in that regard.

A request starts with a clear need or desire by the user when they would like do something that is currently not available with Animana. Usually, you would need to be in contact with the support team, or your account manager. Together you will precisely define what the feature will consist of and how it will need to work in practice.  Often during these conversations, we succeed in finding an existing solution where no new feature or programming work is needed and your clinic can continue working in this way.  However, if no solution is found, there will be an “issue” or “feature” created in JIRA, which is a management tool used by our software development team.

Within this new “issue” or “feature”, we compile all the relevant information from the request, such as:

  • What is the clinic need or challenge with regards to functionality?
  • How can the software development team contribute to a solution?
  • How often and how many practices are affected or would it be utilized by?
  • Is there a suitable work-around available?
  • Is it relevant for daily use by the practice?
  • Is the request absolutely required (e.g. a legal obligation) or is it a “nice to have”?

A product manager; in close consultation with a software architect, will then translate the practical demand into a clear project and goal. All the necessary background information, implications to existing use of the software and any other related issues that could be simultaneously developed, would be considered. We can then estimate the realistic time it will require a programmer to develop the new functionality (“feature”) or fix the “issue”.

How do we prioritize all these important requests? Of course we would like to roll them all out as quickly as possible! This is where difficult decisions are made:

  • Will it benefit a majority of practices or are there legal obligations that in turn increase the urgency for development?
  • Could it possibly be used in multiple countries?
  • How much resource and time are required for actual programming and will there be a need for future development
  • etc.?

Based on these criteria, the issues and features are added to a “sprint”!

A “sprint” is a period of approximately 4 weeks of programming time in which a new software version is developed. In addition to programming requests from our customers in the sprints, we also include technical improvements, strategic developments from our own pipeline and possible links to third parties, like plugins. In addition, there is always some space in the sprint for acute unforeseen issues that require immediate attention. This ultimately impacts resources.

In general, there are a lot more ideas and requests than our programmers can program in the time available.

The good news is we are looking to alleviate this with a strategic and astute recruitment policy.

Starting as a team of two, we have grown to a team of 15 within the Development Team alone. Nevertheless, capacity will remain the limiting factor, simply because as the primary user in a real life practice, you and your team will always generate and propose new ideas which is more than welcomed.

Although you now hopefully realize why we are not able to fulfill your wishes immediately, we ask you to please continue to share your great ideas. Together we can ensure that IDEXX Animana remains the best software package for veterinary practice.