Continuing with the subjetc Project Evaluation, we saw an introduction to software quality evaluation in FLOSS projects.
In summary, there are 3 main areas in terms of quality for large projects:
- Quality assurance: defining framework for organizational quality.
- Quality planning: selecting elements from the framework, adapted to a particular project, in different aspects:
- Product overview: description, target market, user expectations.
- Product plan: releases, updates, support, distribution, etc.
- Process description: product development and management.
- Quality goals: including identification of quality attributes to be tracked.
- Risk management: risks affecting quality and corrective actions.
- Quality control: checking that development teams adhere to the plan by:
- Quality reviews: periodic checks of conformity with quality standards define in the project.
- Automated assessment: collecting quality information automatically (product and process).
- Quality metrics: measure different quality aspects as an input for assessment.
Software quality is a complex and very important concept, establish a good quality process in software projects is a very difficult task, often are not even defined. This is not intrinsic to FLOSS projects, it is found in many proprietary software projects, however in FLOSS projects becomes a particularly complicated.
From my point of view, to establish a quality process for FLOSS projects is very difficult because there is not always a part of the project dedicated to this task or a board to review and set this process with all it represents. In some projects it is possible to establish a comprehensive quality control, such as in Mozilla, but other projects have neither the structure nor the necessary resources. Also in the case to establish a QA framework would be particularly difficult to establish a planning in FLOSS projects, becuase people involved in these communities have no fixed working hours, nor can they have set times for certain functions or have different interests than the board, so choose or select a good quality plan becomes more complex than a proprietary project, which has a clear purpose and direction. Not because it is difficult must neglected, since the quality of software is one of the most decisive factors for end users or for new collaborators, so you must make great efforts to establish mechanisms that allow us to obtain a product with good quality.