Working with your investment software development team

Our previous blog focused on how coding becomes a handbrake for your business and the importance of clean code with insights on how to maintain it.

If you are an investment manager who don’t do coding yourself, but still carry the responsibility of creating a successful and long-term project, we would like to share helpful guidelines with you.

As software developers of large investment administration systems, there are certain elements that the development team knows should be checked, confirmed and revisited by the investment project manager or client.

Herewith a few pointers to consider when working with your technology team.

1. Bug removal for quality investment systems
Quality control for complex investment systems is difficult. The key is automatic quality control through automated testing and test-driven methodologies. This gives project managers confidence that changes made during a development cycle keep unaffected parts bug-free.

Tests are additional sets of code and this increases the size of the code base. In the short-term it doesn’t enhance functionality, but it enables making bold changes to existing functionality.

The take-away here – ensure your team spends time on automated testing. The higher your test coverage, which is the percentage of functionality for which you have tests, the lower your bug-rate will be – there is a direct correlation.

2. If you have a great team, trust them
If your team advises you to build in non-functional work such as automated testing and clean code, trust them that these priorities are critical. This is the difference between short-term functionality and long-term cleaner systems for ongoing efficiency.

Cleaner systems are easier to maintain and enhance, so you will get more answers of “yes, this can be done” instead of pushback that changes are too difficult and will break other parts of the system.

3. Make sure your developers understand requirements
Dialogue between a knowledgeable team and knowledgeable management enhances understanding of the requirements and that is the best solution a team is able to produce. Encourage developers to understand the industry and managers to understand systems. This enhances the quality of the dialogue.

Managers should focus more on the customer and the problem/challenge and the development team should focus more on what is feasible to build into a system. Continually work on creating an environment where any requirement or solution may be questioned and any question deserves an explanation and further dialogue.

4. Impact vs time of development
Business departments could stand long in the queue to get their piece of the “development pie”. Knowing this they would often try and put everything they can think of on the wish list. Sometimes functionality will take too much time to develop, versus the business benefit it will bring.

A good developer will give a client and the manager this insight. Business benefit versus the cost to develop should always be weighed against each other.

In conclusion, development teams care about the system and the work they do. Too often development teams have been seen as bricklayers that will walk away from the building once their work is done. In reality, complex financial systems take many years to develop and your development team lives inside the building. They have integral knowledge of the system and business domain. Harnessing this knowledge and working with your team can be a great asset to the business.