“The difficulty of ensuring all the quality aspects of a software is proportional to the complexity of the system.”
I agree with the above statement. Not only quality but costs involved are also related to the software complexity. If a code is highly complex, then its quality is low, and there would be more costs involved in managing it.
A system or software that is complex faces the following issues:
- Risk of bugs/errors is high
- Difficulty in adding a new functionality
- Maintaining the code gets complicated
- Challenge is testing
If the complexity is measured, then it would help in keeping the focus on the challenging modules, deciding for the most efficient testing practice, how much testing is required and increasing the validation of the software.
As Linders (2014) quotes Shashi “Knowing the complexity beforehand help the project team to estimate it better to pay attention during development and testing to make sure that quality of the product is not compromised.” He further adds ““In the highly competitive environment, it is very important to be innovative and develop high-quality software. Organizations can set targets to reduce the complexity of all high complex programs which are changed more frequently to improve the quality of their software”.
Linders, B. (2014) Using Complexity Measurements to Improve Software Quality. Available at: https://www.infoq.com/news/2014/10/complexity-software-quality (Accessed: 4 September 2017)