If you are outsourcing your app development to a developer, there are two aspects of app quality you must know about:
1. Functional Quality – the quality you can see, and;
2. Structural Quality – the quality you cannot see but acts as the foundation of your app
Most developers don’t want you to know about the second type. Let’s explore what that means for your app.
Functional quality is how well the app looks (appears visually) and works (buttons, sliders, etc). Functional quality focuses on whether the app performs against the documented features and requirements for your app.
Lack of functional quality shows up through poor UI and features that don’t work as they should. For the most part, you report these issues to your developer and they fix it.
Functional quality relies primarily on how well the developer understands the app requirements and, after fully developed, how well the app is tested. With a myriad of mobile devices, operating systems, and browsers, the app must be tested in multiple environments to ensure functional quality.
Structural quality, on the other hand, is not visible to you or to users as it forms the foundation upon which your app is built. Structural quality it is based on how good your developer is. If you are working with a single developer you will only get the knowledge and experience of that one person, if you are working with a development partner, they typically have an architect who oversees the structural aspect of the app. Therefore, when it comes to Structural quality and whether you use a freelance developer or a development partner really depends on how much risk tolerance you have (ie individual developer = higher risk of future problems).
Given many people have either been part of the home building or renovating process than have built an app, and given app development can be as personal a journey to their creators as their home is, it is useful to use home development as an analogy for your app quality development.
If functional quality is building your house to your specifications like a certain number of rooms, placement of windows, colours, fittings, measurements, etc., then structural quality is a strong and reliable the foundation and walls that support your cherished home.
Bad structural quality can have a very negative impact on the cost and time required to maintain your app through time. It may not be a big problem when your app is initially launched (or it may) but as you proceed with future updates, enhancements and general maintenance to the app, bad quality may show up in following ways:
1. Inconsistent App Bugs – certain bugs are hard to reproduce in any given scenario; the bug appears random
2. Bug Dominos – fixing one bug may lead to one or more bugs throughout the app
3. Big effort for Small change – small changes take way too long to fix because the app’s foundation is unsteady and hard to debug
4. App Crash- the app works fine most of the time, but it can crash suddenly for no known reason
These issues arise often times because the developer hasn’t followed a proper framework or app architecture.
In these instances, there may be little code documentation or code structure to identify different elements and features of your app. The absence of architecture and documentation make it very difficult for a new developer to understand your app and make changes to it when you decide you need another developer or yours disappears on your through time.
Trust that the chances are high that you will change developers a few times during the lifetime of your app as it grows and changes in line with your user demands. So how do you assess the code quality of your developer and ensure a solid foundation?
1. Talk to their clients. Ask them if they faced those above symptoms of bad code while they worked with the developer you are assessing.
2. Have a look at the code – A good code should look neat like a nice formatted word doc versus a word doc with text all over the place. You should be able to see English comments in different places explaining the code and the changes made. You will see white spaces, meaningful names used for variables and functions within the code
3. Ask the developer what framework and architecture they use in their coding. Ask them what is their process/tools for maintaining code versions.
4. Get a developer friend to review their code.
If you’d like an experienced app developer to take a look at your app code for testing or to give their opinions, simply call us today on 1300 781 794