why is it important to have managerial indepedance between t
why is it important to have managerial indepedance between the development team and the SQA group?
Describe what SQA activities in a project are affected by this independence and how.
Solution
Independance between the development team and the SQA group: In my opinion........
Product development organizations focused on developing quality products that their customers will buy need to consider the organizational structure that works best for them. It is not an organizational requirement to separate the tasks and people into functional groups. The product may require a project-focused group, focused on the product, not the organizational hierarchy.
When product development groups consider their organizational needs, they need to consider their staff, quality requirements, the process requirements, and the kinds of projects they have. In many cases, integrating the product developers and product verifiers onto a project team will have multiple positive effects in terms of project schedule, product quality, and increase in team knowledge. As the team increases its knowledge, management can trust the team more to meet schedules and deliver the promised product.
Especially as company products evolve from startup to mature product, the management team must have a flexible approach to project organization. Even when management has been blindingly successful for a particular level of achievement, what got you here may not get you any farther.
SQA-Activites:
SQA is the process of evaluating the quality of a product and enforcing adherence
to software product standards and procedures. It is an umbrella activity that
ensures conformance to standards and procedures throughout the SDLC of a
software product. There are a large number of tasks involved in SQA activities.
These include:
i. Formulating a quality management plan
ii. Applying software engineering techniques
iii. Conducting formal technical reviews
iv. Applying a multi-tiered testing strategy
v. Enforcing process adherence
vi. Controlling change
vii. Measuring impact of change
viii. Performing SQA audits
ix. Keeping records and reporting
i. Formulating a Quality Management Plan: One of the tasks of SQA is the formulation of a quality management plan. The quality management plan identifies the quality aspects of the software product to be developed. It helps in planning checkpoints for work products and the development process. It also tracks changes made to the development processbased on the results of the checks. The quality management plan is tracked as a live plan throughout the SDLC.
ii. Applying Software Engineering: Application of software engineering techniques helps the software designer to achieve high quality specification. The designer gathers information using techniques such as interviewsand FAST.
Using the information gathered, the designer prepares project estimation with the help of techniques such as WBS,
SLOC estimation, or FP estimation.
iii. Conducting Formal Technical Reviews: Formal technical review (FTR) in conducted to assess the quality and design of the prototype. It is a meeting with the technical staff to discuss the qualityrequirements of a software
product and its design quality. FTRs help in detectingerrors atan early phase of development. This prevents errors from percolating down to the latter phases and resulting in rework.
iv. Applying a Multi-tiered Testing Strategy: Software testing is a critical task of SQA activity, which aims at error detection. Unit testing is the first level of testing. The subsequence levels of testing are integration testing
and system level testing. There are various testing strategies followed by organization.At times,
developers perform unit testing and
integration testing with independence testing support. There are also occasions
where testers perform functional testing and system level testing with developer
support. Sometimes beta testing with selected clients is also conducted to test the
product before it is finally released.
v. Enforcing Process Adherence: This task of SQA emphasizes the need for process adherence during product
development. In addition, the development process should also adhere to
procedures defined for product development. Therefore, this is a combination of
two tasks, product evaluation and process monitoring.
vi. Product Evaluation:
Product evaluation ensures that the standards laid down for a project are followed.
During product evaluation, the compliance of the software product to the existing
standards is verified. Initially, SQA activities are conducted to monitor the
standards and procedures of the project. Product evaluation ensures that the
software product reflects the requirements identified in the project management
plan.
vii. Process Monitoring:
Process monitoring ensures that appropriate steps to follow the product
development procedures are carried out. SQA monitors processes by comparing
the actual steps carried out with the steps in the documented procedures.
Product evaluation and process monitoring ensure that the development and
control processes described in the project management plan are correctly carried
out. These tasks ensure that the project-re1ated procedures and standards are
followed. They also ensure that products and processes conform to standards and
procedures. Audits ensure that product evaluation and process monitoring are
performed.
viii. Controlling Change:
This task combines human procedures and automated tools to provide a
mechanism for change control. The change control mechanism ensures software
quality by formalizing requests for change, evaluating the nature of change, and
controlling the impact of change. Change control mechanism is implemented
during the development and maintenance stages.
ix. Measuring Impact of Change:
Change is inevitable in the SDLC. However, the change needs to be measured and
monitored. Changes in the product or process are measured using software quality
metrics. Software qua1ity metrics helps in estimating the cost and resource
requirements of a project. To control software quality; it is essential to measure
quality and then compare it with established standards. Software qua1ity metrics
are used to evaluate the effectiveness of techniques and tools, the productivity of
development activities and the qua1ity of products. Metrics enables mangers and
developers to monitor the activities and proposed changes throughout the SDLC
and initiate corrective actions.
x. Performing SQA Audits:
SQA audits scrutinize the software development process by comparing it to
established processes. This ensures that proper control is maintained over the
documents required during SDLC. Audits also ensure that the status of an activity
performed by the developer is reflected in the status report of the developer.
xi. Keeping Records and Reporting: Keeping records and reporting ensure the collection and circulation of information
relevant to SQA. The results of reviews, audits, change control, testing, and other
SQA activities are reported and compiled for future reference


