Management and its role in software quality assurance
Introduction
This Report focuses on Management in relation to SQA, firstly I will go through the organisational structure of software development quality assurance frame work.I will then specify managements’ role in software quality assurance and go into the details of the contributions made to quality assurance testing by the three main managerial levels.
Organisational structure
In the majority of software development organisations we generalise that there are three levels of management structure. The three levels of the structure are as follows:
- Top management; this includes the organisation’s general manager and its executives
- Department managers; this includes the managers of software development, maintenance and software testing departments.
- Project managers; this is not only the project managers, but also team leaders of development projects and maintenance services.
Organisational framework
Organisational framework is very important to software quality assurance. The framework helps to structure the employees by categorising them into managers, testers, SQA professionals and interested practitioners:
- Managers
- Top managements executives
- Software development and maintenance department managers
- Software testing department managers
- Project managers and team leaders of development and maintenance projects
- Leaders of software testing teams
- Testers
- Members of software testing team
- SQA professionals and interested practitioners
- SQA trustees
- SQA committee members
- SQA forum members
- SQA unit team members
From all of the above participants in the quality organizational framework members of the SQA unit, managers and employees of software testing department are occupied full time in performance of SQA tasks.
The others only dedicate part of their time to quality issues.
This diagram displays the SQA framework found in the typical organization.
As shown on the diagram Executives have line authority over the SQA Unit.
It is the SQA unit that then has line authority over the lower departments.
The flow of the forum’s recommendations goes as high as the SQA unit and as low as the software development and software testing teams.
Above is a diagram of the SQA framework[9]
Top management
Top management is consistent of the organisation’s general manager and its executives (CEOs). These are members of the organisation that are at the highest level, and control the organisations.
The Top management’s overall responsibilities are as follows:
- Assuring the quality of company’s software products and software maintenance services
- Communicating to employees at all levels the importance of product and service quality additionally to customer satisfaction
- Assuring satisfactory functioning and full conformity to customer requirements
- Ensuring that the SQA ‘s system objectives are established andrealised
- Planning and overseeing implementation of changes for the SQA system adaptation to internal or external transformations (e.g. changes in clientele, competition or technology)
- Intervening directly to aid resolving crisis situations and minimize damages
- Ensuring availability of resources demanded by the SQA systems
The three principle tools
As you can see there are quite a large number of responsibilities that Top management is accountable for. There are three main tools that help aid top management fulfil their responsibilities.
These three tools are;
Establishment and updating of the organisation’s software quality policy
Assigning one of the executives in charge of software control issues
Regular management reviews of performance with respect to software quality issues
Software quality policy
The first of the three tools is software quality policy. It basically states top management’s dedication to quality and helps to provide a general structure of action. An organisations software quality policy is quite general but should communicate the following requirements:
Compliance with the originations goals and purpose
Commitment to general software quality assurance concepts
Commitment to quality standards
Commitment to allocate adequate recourses for software quality assurance
Commitment to continuous improvement of organisations quality and productivity.
ISO 9000 is a setof standards for quality management systems that is accepted around the world. Currently more than 90 countries have adopted ISO 9000 as national standards. When you purchase a product or service from an organization that is registered to the appropriate ISO 9000 standard, you have important assurances that the quality of what you receive will be as you expect. [1]
ISO 9001:2000 is an international standard providing requirements for quality management systems. Currently more than 100 countries have adopted ISO 9001 as a national standard. Organizations that have suitably demonstrated compliance with the requirements of the standard can register a certificate recognizing the scope and compliance of their quality management system. [2]
Here are some examples of organisations’ quality policy:
Software Services [3]
Zenith software limited[4]
Binary semantics[5]
Indusa[6]
Goddard space centre[7]
An organisation’s Software quality policy declaration can quite easily be transferred from one organisation to another due to their generality. This can be noticed from some of the examples above.
The executive in charge of software quality
This is the second tool used by Top managers;the responsibilities of the executive in charge of software are as follows:
Takes responsibility of an annual activities program and budget, which requires the executive
Clarify what the systems SQA objectives are for the next year
Review proposals prepared by SQA unit for the annual activities program and verify the proposals’ potential to fulfill the objectives set for the SQA system.
Find out whether or not the activities program is sufficient to the characteristics and the scope of subcontractor services and softwarepurchases planned for the coming year.
Find out how much man power and other resources were planned for implementation of the SQA program and state whether it is adequate or inadequate.
Give approval of the final version of the annual SQA activities program budget.
Takes responsibility for the preparation of SQA system development plans
It is a necessity for these plans to be able to cope with technological changes as well as changes in demand and competition, these responsibilities include:
Reviewing trends that could have an effect on the organizations software quality in the future.
Reviewing proposals for SQA adaptations, an example of this could be if an organization was trying to penetrate a new market induced introduction of new software development tools and and need to comply with software quality standards never before applied by the company.
Approve the final version of the planned SQA development projects, this includes their schedules and budgets.
Overall control of implementation of annual SQA program and planned projects
The executive is responsible for the following:
general supervision of the annual program
review of the progress in the projects adaptation
general supervision of actions taken in order to recognise quality achievements
internal quality audits for reviewing the respect of standards and procedures
General follow up of compliance to software development project schedules and budgets
General follow up of the overlooking of quality maintenance services to both the external and internal customers
Presentation and advocacy of SQA issues to executive management
In order to uphold quality and resolve SQA system difficulties the following is required:
Presentation for final approval of both proposed annual activities program & budget and planned SQA adaptation projects together with corresponding budgets.
Leadership of management review meetings that are devoted to the organization’s software quality policy.
Initiate management discussions devoted to special software quality events, these threats could be things like quality failures or threats to successful completion of projects.
Management review
The regular, periodic Management Review is a requirement of ISO 9001; the frequency is set in the Quality Management System and is usually annually, the organization's top management meets to review the outcome of the activities done to monitor the effectiveness of quality assurance.
Here is a section taken from the ISO 9001 auditing practices group concerning the management review:
“ISO 9001 requires top management to review the organization's quality management system, at planned intervals, to ensure its continuing suitability, adequacy and effectiveness. The review could be carried out at a separate meeting but this is not a requirement of the standard. There are many ways in which top management can review the quality management system such as receiving and reviewing a report generated by the management representative or other personnel, electronic communication or as part of regular management meetings where issues such as budgets and targets are also discussed.
The management review is a process that should be conducted and audited utilizing the process approach.” [8]
Often a management review report is created by the SQA unit this provides the platform for discussions by providing items that appear in the meeting’s agenda.
Here are some of the items that are likely to appear on a management review report:
Progress reports, this regards suggestions for implementation from previous management review meeting
Periodic performance reports, this is complete with quality metrics
Customer satisfaction feedback
Follow up reports
Review of significant findings, this review covers findings for both internal and external quality audits as well as special surveys
detection of new software quality risks and unsolved risks
There is a sample management review form available to refer to from elsmar.com (Resource and information exchange)
The primary objectives of management reviews are to assess the extent to which the SQA system complies with the organization’s quality policy, which is to:
Assess how many objectives have been achieved regarding the organizations software quality management system.
Initiate updates and improvements of the software quality management system
Provide directions for remedying major SQA deficiencies and software quality management problems
Allocate additional resources to software quality management system.
Department management responsibilities for quality assurance
Department managements quality assurance responsibilities can be split into two categories, quality system related tasks related to projects and services performed by teams.
Quality system-related responsibilities include
Preparation of the department’s annual SQA activities and program budget this is based on the proposed program prepared by the SQA unit
Preparation of departments SQA system development plans this is also based on the proposed program prepared by the SQA unit
Control of performance of the department’s annual SQA program and development projects
Presenting the departments SQA issues to top management, in the person of the executive in charge of software quality.
Project-related responsibilities
These responsibilities differ from quality system-related responsibilities in regards to them varying according to organizations procedures and are the fact that they not always performed at department level like Quality system-related tasks are. Project-related responsibilities include the following
Control of compliance to quality assurance procedures in the department units, including CAB (corrective action board), SCM (Software configuration management) and SCCA (software change control authority) bodies.
Corrective action board are a group of members of the SQA unit, who carry out corrective and preventative actions in the organisation.
Software configuration management are the members responsible for the tracking and controlling changes in the software.
Software change control authorities are the group that deals with software change control.
Detailed follow up contract review results and proposal approvals
Administer software tests and test results; approval of projects software programs
Administer progress of software development project schedules and budget deviations
give advice to project managers in resolving schedule
administer the quality of maintenance service provision
Detailed follow-up of projects risks and their solutions
Administer projects compliance with customer requirements
Give approval of large software change orders and significant deviations from project specification.
Project management responsibilities for quality assurance
A project manager’s contractual obligation is to ensure that all team members comply with outlined procedures and instructions. A Project managers tasks involve both hands-on tasks and managerial tasks.
Project manager’s professional hands-on tasks would be
Preparation of project and quality plans and their updates
involvement in joint customer-supplier committee
Close follow up of project team staffing
Management tasks would be to
deal with performance Review activities and consequent correction
Address the performance of acceptance tasks
Undertake Software installation in customer sites and to show customer how to use software.
Deal with SQA training and instruction of project team members
Address customer requests and satisfaction of Customer
Administer software and development units performance with respect to development
Administer the schedules and resources allocated to project activities
Administer the evolving project development risk and look into applying solutions and control of results
References
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9] D. Galin. Software quality assurance. Pearson, England, 2004
D. Galin. Software quality assurance. Pearson, England, 2004
Mitun Patelmxp07u