At the very base of every computer system is software or code. Systems don’t actively think, they only interpret the instructions they are given. This is why high quality code is important and we are faced with writing some code for every Microsoft Dynamics NAV implementation, be it for a small enhancement or a major add-on. To achieve quality code at Fenwick we have created a strong culture of using coding quality standards, and over my time working here I have discovered why.
Why focus on quality systems?
Efficiency
When we develop software using standards created by both Microsoft and Fenwick we are able to ensure that all modifications to Dynamics NAV will work efficiently and effectively. Making the system run faster will be noticeable to all users, allowing you to work faster.
Maintainability
Working in teams allows a spread of expertise across a project, but with this comes the need to write software that can be understood by anyone. The better the code is written the quicker anyone can pick it up and make further enhancements without wasting time trying to decipher what was already changed.
Reduced issues
In the short term, quality systems may come at an extra cost, however, over time quality systems will reduce costs. By designing our changes strategically, costs are reduced later on when making further modifications, and upgrading or maintaining systems. Additionally processes can be easily changed without having to rewrite previous enhancements.
Establishing the importance of quality code is the first step to tackling any new modification to a system. If it’s this obvious that high quality systems are important, where’s the problem? Well, doing a quick modification might save time, whereas developing a comprehensive solution takes time. As we continue to document standards we are reducing the development time for quality systems, but there will always be instances when a programmer is faced with deciding between writing good code (according to the standards) and writing quick code (known as quick and dirty). Time pressures for a solution, an enhancement or a project will always create a conflict between getting things done and doing it right.
The best results come when we find a happy medium. Continuous improvement and peer reviews ensure we are always producing the best code. Writing software can be complex but by following the standards we are able to combine the knowledge of the whole organisation to ensure we create the quality systems that are efficient, effective, reliable and easy to maintain.