Basically, a three-level structure of management exists in software development organizations −
Following are the responsibilities of the top management in ensuring Software Quality −
Assure the quality of the company’s software products and software maintenance services
Communicate the importance of the product and service quality in addition to customer satisfaction to employees at all levels
Assure satisfactory functioning and full compliance with customer requirements
Ensure that quality objectives are established for the organization’s SQA system and that its objectives are accomplished
Initiate planning and oversee implementation of changes necessary to adapt the SQA system to major internal as well as external changes related to the organization’s clientele, competition, and technology
Intervene directly to support resolution of crisis situations and minimize damages
Ensure the availability of resources required by SQA systems
The following steps can be taken by the top management to fulfill its responsibilities −
Establishing and updating the organization’s software quality policy.
Assigning one of the executives such as Vice President for SQA to be in charge of software quality issues
Conducting regular management reviews of performance with respect to software quality issues
The organization’s software quality policy should communicate the following requirements −
Conformity to the organization’s purpose and goals
Commitment to general software quality assurance concepts
Commitment to the quality standards adopted by the organization
Commitment to allocate adequate resources for software quality assurance
Commitment to continuous improvement of the organization’s quality and productivity
The responsibilities of the executive in-charge of software quality issues may be classified as −
Responsibility for preparation of an annual SQA activities program and budget
Responsibility for preparation of SQA system development plans
Overall control of implementation of the annual SQA regular activities program and planned SQA development projects
Presentation and advocacy of SQA issues to executive management
This requires the executive to −
Establish the system’s SQA objectives for the coming year
Review proposals prepared by the SQA unit for the annual activities program and verify the proposal's potential to fulfil the objectives set for the SQA system
Determine whether the activities program is adequate to the characteristics and scope of subcontractor services and software purchases planned for the coming year
Determine the adequacy of the manpower and other resources planned for implementation of the SQA program
Approve the final version of the annual SQA activities program and budget
These plans must be adaptable to the changes in technological as well as customer demands and competition. The responsibilities include −
Review of trends that are expected to affect the organization’s software quality in the near future
Review proposals for SQA adaptations such as preparation of new procedures appropriate to the new tools and SQA standards
Preparation of training programs for veteran software development teams and newly recruited team members
Development of software quality metrics appropriate for evaluating the new tools and standards as well as the success of the training programs
Approval of the final version of the planned SQA development projects, including their schedules and budgets
The executive in-charge is responsible for −
General supervision of the annual activities program
Review of the progress of the SQA adaptation projects
General supervision of the actions taken to realize the quality achievements dictated by the teams’ objectives (based on periodic reports)
Review of compliance with SQA procedures and standards based on internal quality audits
General follow-up of compliance to software development project schedules and budgets
General follow-up of provision of quality maintenance services to external and internal customers
In order to promote quality and resolve SQA system difficulties it requires −
Presentation for final approval of the proposed annual activities program and budget
Presentation for final approval of planned SQA adaptation projects together with the corresponding budgets
Initiation and leadership of periodic management review meetings dedicated to the organization’s software quality
Initiation of management-level discussions dedicated to special software quality events, such as severe quality failures, threats to the successful completion of projects due to severe professional staff shortages, managerial crises in the SQA unit, and so on
Middle management’s quality assurance responsibilities include −
Management of the software quality management system (quality system-related tasks)
Management of tasks related to the projects and services performed by units or teams under the specific manager’s authority (project-related tasks)
These include SQA activities to be performed on the department level −
Preparation of the department’s annual SQA activities program and budget, based on the recommended program prepared by the SQA unit
Preparation of the department’s SQA systems development plans, based on the recommended plan prepared by the SQA unit
Control of performance of the department’s annual SQA activities program and development projects
Presentation of the department’s SQA issues to top management
These vary according to the organization’s procedures and distribution of authority; they usually involve −
Control of compliance to quality assurance procedures in the department’s units, including CAB, SCM and SCCA bodies
Detailed follow-up of contract review results and proposal approvals
Review of unit performance of planned review activities; approval of project documents and project phase completion
Follow-up of software tests and test results; approval of project’s software products
Follow-up of progress of software development project schedules and budget deviations
Advice and support to project managers in resolving schedule, budget and customer relations difficulties
Follow-up of quality of maintenance services provision
Detailed follow-up of the project risks and their solutions
Follow-up of project’s compliance with customer requirements and customer’s satisfaction
Approval of large software change orders and significant deviations from project specifications
Most project management responsibilities are defined in procedures and work instructions; the project manager is the person in-charge of making sure that all the team members comply with the said procedures and instructions.
His tasks include professional hands-on and managerial tasks, particularly the following −
Professional hands-on tasks
Preparation of project and quality plans and their updates
Participation in joint customer–supplier committee
Close follow-up of project team staffing, including attending to recruitment, training and instruction
Management tasks
Project managers address the follow-up issues such as −
Performance of review activities and the consequent corrections
Software development and maintenance unit’s performance, integration and system test activities as well as corrections and regression tests
Performance of acceptance tests
Software installation in remote customer sites and the execution of the software system by the customer
SQA training and instruction of project team members
Schedules and resources allocated to project activities
Customer requests and satisfaction
Evolving project development risks, application of solutions and control of results