Software Quality Assurance (SQA) is a set of processes that are applied in association with a particular project to validate and verify the adherence of the project components and activities with the defined quality standards and specifications. It is a process that enhanced the quality of a particular procedure or a product.
Correct Procedure for the Implementation of Software Quality Assurance (SQA)
Implementation of SQA tools and processes in an organization requires detailed planning and analysis. It is necessary to make sure that the implementation process is well-planned in advance to avoid any loopholes and errors in the later stages.
SQA tools were decided to be implemented in the ABC organization. However, it was found that the implementation process was associated with numerous issues. These issues that were listed after the in-house evaluation were categorized in the categories as assistance & training, resistance, time, automation, initiation implementation & communication, process, tool layout, tool analysis and verification, governance and management (Scarpino and Kovacs 2008).
The correct procedure should have used more focus on the process that was required to be followed. For instance, the implementation of any of the new tools and concepts leads to many changes for the employees in terms of business activities and operations. The case was the same with ABC as the manual activities around quality assurance were now being converted to their automated counterparts. It was necessary to make sure that a detailed planning around the processes was involved and a gradual transition was made rather than following the big-bang approach for implementation of the tools. Once the planning and procedures were in place, the next step should have been in association with the trainings. Training is an activity that is often overlooked and not paid due attention. However, in case of ABC organization’s attempt to implement SQA tools, training would have played a significant role. For instance, there are resources that are engaged with the organization that do not have a prior experience on SQA tools and automation testing. Instructing such resources to perform their business activities using these tools without any sort of training is sure to cause errors and deterioration of productivity levels (Parthasarathy and Sharma 2016). It was therefore required for the organization to develop a training plan and a training schedule for the end users. Also, the layout of the tool and its underlying features were required to be set up in such a manner that the user experience with the same was enriched. There were issues in the tool layout as well that led to confusions and ambiguities. The training procedure should have therefore included the explanation of the tool layout along with the navigation associated with the same. As stated earlier, a step by step approach should have been adapted instead of a big-bang implementation of the SQA tool. It would have provided the resources with the required timeframe to adapt to the behavior and functionality of the tool along with its usage. Every organization has its own set of activities and departments along with their respective needs and requirements (Khaddaj and Horgan 2015). The level of automation along with the applicability of the tool therefore varies from one organization to the other. In case ABC, there are 40 different departments and a few require and some of the departments do not require an enhanced level of automation in terms of quality assurance. However, there was no analysis done in this aspect and it was assumed that automation would fit to the needs of one and all. The correct procedure would have included a detailed analysis on the level of automation required along with analysis of the tool. There were also several risks that could have emerged during the implementation of SQA tools in terms of technical and operational errors or security concerns. Governance and risk management was therefore required as a procedure to be applied to the same (Huang 2014).
The order of procedures that should have been used and applied in ABC organization include planning and processing, training plan and schedule, estimation of automation levels, UI and navigational aspects of the tool, reviews and evaluations in the same order.
In-House and External Evaluation
There are numerous evaluation methods and these methods and processes can be carried out either externally or with the utilization of the in-house resources and entities.
A comparison of the in-house and external evaluation is summarized in the table below.
Quality Assurance team of the organization along with senior managers and leaders
Technical and quality experts having specialization in the field
Major areas of focus
Integration with the rest of the systems, adherence to the organizational policies and standards, fulfillment of the provided specifications
Level of customer satisfaction and ease of usability, fulfillment of the functional and non-functional aspects
Level of Independence
The evaluators are required to report their findings to the organizational departments and several heads of the departments (Winkler and Biffl 2014)
The evaluators have statutory obligations and are not dependent upon any of the internal entities
There are several hidden costs that emerge in case of in-house evaluation in terms of the cost of tools, reporting and resources
The costs in this case are fixed as per the contractual terms agreed upon by both the parties
Reporting of the findings and incidents are quicker and organized in case of in-house evaluation as there is a complete knowledge of the correct person to report the incident to
There may be delays in the reporting of the incidents that are identified due to the presence of the intermediary channels in between
It is easier for the internal evaluators to suggest measures for control and management of the risks that may emerge in association with the activity or a process
These evaluators are specialized in their fields but have a limited knowledge regarding the organization. The management of the risks may or may not fall in line with the organizational policies
Detailed reports compatible with the documentation structure of the organization are provided by the in-house evaluators
Reporting is brief and to-the-point in this case
In-house evaluations often comprise of the exact requirements as per the organizational policies and requirements. Evaluation are carried out with an integrated approach which often goes missing in the case of external evaluations since there is just a component or a system provided for the evaluation. Evaluation of assurance of the performance in the integrated environment therefore cannot be carried out by the external evaluators. On the other hand, external evaluators are more equipped in terms of the skills sets and expertise to understand the customer expectations and requirements as they have an elaborated view of the entire process and external environment (Lee 2014). The case is not the same with internal evaluators as they are restricted to a limited environment.
Also, there are certain defects and issues that may be identified by in-house evaluators only such as the incompatibility of the system or process with the systems in other departments or the non-adherence to the particular standard or policy followed in the organization. Similarly, there are certain issues that can be evaluated only by the external evaluators that include the required levels of customer acceptance and satisfaction along with the accepted usability requirements (Voas, 2013).
Project Progress Control Regimes
There are several control regimes that may be applied to the ABC organization and its procedure for the implementation of SQA tools in its architecture.
The first and the foremost shall include the development of plans and baselines for the procedure to stick to in order to avoid any of the deviations and errors in the path. It would control the risks and uncertainties that may be associated with the procedure and would therefore result in the successful outcomes (Bhuiyan and ElSabbagh 2014). The second control regime that may applied shall include the use of automated tools such as resource management, information management along with incident reporting to have a detailed account of the activities that are carried out along with the tracking of the same at any point of time. It is also necessary to have an adequate level of governance in the organization in order to control the flow and implementation of the processes and procedures that are implemented. The regime shall be followed in case of ABC organization as well with a dedicated governance bodies set up comprising of managers and system experts (Yiannakos 2011). These resources shall carry out audits and reviews to highlight the areas of improvement along with the loopholes that may be associated with the processes. Training is another method that may be applied in order to have a better progress of the project of the implementation of SQA. Trainings would provide the resources and the end users with the ability to adapt to the functionalities and features of the tool. Also, it would provide an opportunity to execute the features with much ease and convenience without any errors which would lead to enhancement of the productivity levels (Radlinski, 2011). Documentation and reporting is another method that would control and put a check on the deviations associated with the implementation procedure. Documentation of the project activities along with frequent reporting of the progress shall be made mandatory to allow the senior management and leadership to have the knowledge of the exact status and the issues associated with the project. Also, these reports and documents shall be placed on a shared location such as SharePoint or a shared folder. It would provide the resources and leadership with the ability to review the activities accomplished at any point of time. This practice would prove to be fruitful in case of the occurrence of a risk or the changes made by the client (Collofello 2006).
Software Quality Assurance (SQA) is a process that can enhance the quality of the system and procedures if implemented correctly. However, there are several mistakes that are given shape by the organizations during the implementation of SQA that range from incorrect estimation of requirement, inadequate governance and trainings along with insufficient planning and analysis. It is required for the organizations to therefore avoid such loopholes and carry out detailed planning and analysis for the implementation process.
Bhuiyan, Nadia, and ElSabbagh, Habib. 2014. "A Quality Assurance Model For Airborne Safety-Critical Software". Journal Of Software Engineering And Applications 07 (03): 162-176. doi:10.4236/jsea.2014.73018.
Collofello, Js. 2006. "Software Quality Assurance For Maintenance". IEEE Software 4 (5): 46-51. doi:10.1109/ms.1987.231418.
Huang, Ai Ming. 2014. "Study On CMM-Based Software Quality Assurance Process Improvement - A Case Of The Educational Software Quality Assurance Model". Advanced Materials Research 1049-1050: 2032-2036. doi:10.4028/www.scientific.net/amr.1049-1050.2032.
Khaddaj, Souheil, and Horgan, Gerard. 2015. "A Proposed Adaptable Quality Model For Software Quality Assurance". Journal Of Computer Science 1 (4): 482-487. doi:10.3844/jcssp.2005.482.487.
Lee, Ming-Chang. 2014. "Software Quality Factors And Software Quality Metrics To Enhance Software Quality Assurance". British Journal Of Applied Science & Technology 4 (21): 3069-3095. doi:10.9734/bjast/2014/10548.
Parthasarathy, Sudhaman, and Sharma, Srinarayan. 2016. "Impact Of Customization Over Software Quality In ERP Projects: An Empirical Study". Software Quality Journal. doi:10.1007/s11219-016-9314-x.
Radlinski, Ukasz. 2011. "A Conceptual Bayesian Net Model For Integrated Software Quality Prediction". Annales UMCS, Informatica 11 (4). doi:10.2478/v10065-011-0032-5.
Scarpino, John J., and Kovacs, Paul. 2008. "An Analysis Of A Software Quality Assurance Tool's Implementation: A Case Study" IX (2): 146-151.
Voas, J. 2013. "Assuring Software Quality Assurance". IEEE Software 20 (3): 48-49. doi:10.1109/ms.2003.1196320.
Winkler, Dietmar, and Biffl, Stefan. 2014. "Guest Editorial: Special Section On Software Quality Assurance And Quality Management". Software Quality Journal 22 (3): 467-468. doi:10.1007/s11219-014-9244-4.
Yiannakos, Andrew. 2011. "Quality Assurance And Quality Control In The Software Development Process". ACM SIGSOFT Software Engineering Notes 9 (2): 130-132. doi:10.1145/1012467.1012480.