Quality is an
important factor in software industry. Software quality depends upon the
customer satisfaction which can be achieved through applying standards. In this
era achieving quality software is very important because of the high customer
demands. Developed countries are excelling in software industry and improving
day by day. Meanwhile developing countries like Pakistan are struggling with
software quality and cannot maintain reputation in International Market.
Software Quality lacks due to many reasons. This paper will address the
problems for lacking interest in improving the software quality by higher
authorities and software assurance team. We have provided solution to the
addressed problems also.
satisfaction, Reputation, Customer demands, Excelling.
In this era quality is the most important
factor in any kind of business. To achieve a respectable position in global
market in IT industry, a company must have to produce very high quality
products. Competition is very high and one cannot afford correcting errors
after shipping the products to the customer.
after shipping is very costly and it affects the Company credibility and organizations
cannot afford losing Customers due to these kinds of problems. To avoid these
problems, organizations should follow a proper quality management plan to
remove errors from the products. Maintaining Quality for product is very
important for Business Organizations as every Business Company is running
towards automation. Failure in real time software systems can have serious
The main role of
SQA (software quality assurance) is to maintain the quality of the software
products. For that it is to make sure that the standards and procedures are
properly followed. Software Quality Assurance standards are developed to help
organizations to achieve quality products. Standards are the set of guidelines
which help to achieve best results.
Quality plan is
the most important in any quality improvement activity, SQA team managers are
responsible and accountable to develop quality plan and also implement the
plan. They are also responsible for quality measurement, quality improvement
and configuration management.
includes the inspection of the problems. Inspection for finding the problems
while maintaining the quality was explained by the Parnas. The methodology used
for inspection was dividing and conquer. It was time consuming task, but
ensures problems detection. No training was required for the Testing Team or
Models relating to Software Quality
Assurance are discussed below.
3.1 PARNAS MODEL
the role of inspection in reducing quality problems in SQA. First of all he
explained the need of inspection in SQA to reduce the problems, how it helps to
find errors in the software. The main methodologies behind the inspection
activity are dividing and conquer.
also shows that inspection is a time consuming process but it ensures to find
errors in the process.
that there is no formal need for the training of inspection. A software
engineer does not necessarily need a certification for the inspection. As
inspection does need a proper training so there is no need for a company to
invest on it. So it will give many benefits despite consuming too much
resources of a company. The key benefit of the inspection is to benefit errors
in the code but it can also help to find many ambiguities in the development
phase like it can easily reveal that proper guidelines are followed or not like
commenting etc. it is not necessary to do inspection at the end of the project
but it can be done at any phase of the project and reveal the errors from the
3.2 DAVID MODEL
in their research about the free software quality and factors affecting them.
He explained that the quality of the free software is higher than the other
projects. Many reasons behind the improved quality are explained in this
research and some comparisons are done between free projects and other
projects. The quality of this free software is high because of the open
development models used in the development process.
3.3 PEER REVIEWS MODEL
plays very important role to improve the quality of the projects, user
involvement is also very important for the feedback and on the basis of this
feedback software quality can be improved very easily. User gives their
feedback on the basis of their experience and this feedback can help to improve
the quality of the software.
4. RESEARCH STUDY:
In this sections
Quality problems are discussed. Some major quality issues discovered by the
research are coding issues, configuration management, security, bug reporting
issues, volunteers attracting, communication problems and documentation issues.
With the help of this
quality aspects are identified which can cause problems for free software
The main issues
addressed in this research contains:
Lack of specialists
Lack of conformance to standards
Team formation and compromise on quality
4.1 LACK OF SPECIALISTS:
organizations in developing countries don’t have a proper SQA team or testers.
In small software organizations usually a developer is also fulfilling the
responsibilities of tester which is one of the main reasons of lack of software
quality. Developer is mostly ineffective when he is reviewing his own code. It
will reduce quality and maintainability. On many occasions, small organizations
just test the functionality of the software and deliver it to the customer. By
doing so they save some cost but mostly, the quality of the software is not up
to the mark.
4.2 LACK OF CONFORMANCE TO STANDARDS:
Software Organizations, if they have a SQA team then they are not following SQA
standards like CMMI. As CMMI is a dedicated software quality assurance model
but due to lack of highly skilled specialists , experts and resources like time
and budget, this model is not usually followed which ultimately results in a
bad quality software products in developing countries. On many occasions small
organizations just develop the software without even following any standards to
save the cost but that can lead to failures.
4.3 DEVELOPER’S ATTIT UDE:
Mostly there is
a big issue related to the relationship between developers and SQA team. It is
suggested that managers should make sure to develop a good relationship between
development team and SQA team because both are the integral part of the quality
attitude can be improved by the training sessions and workshops held by the
management. In these workshops, highly professionals from the organization
teaches that how to improve their abilities and approach towards the different
Time duration is
also an important problem factor for quality of software. Mostly QA team has
very tight schedule to deliver the project. Half of the total time is mostly
spent on domain understanding and functional requirements.
4.5 GRIP OVER DOMAIN
Many times SQA
teams could not understand the domain knowledge of the Software and find hard
to give high quality software. To solve the domain knowledge issue, there
should be a SQA representation in the requirements gathering team. It will help
the SQA team to properly understand the domain knowledge. It will have two
benefits, firstly SQA representative can give a list of potential problems to
the developer that has probability of occurrence during the project and in this
leads to reduce errors and enhancement in software quality. If SQA team have a
prior knowledge of domain that can deliver even in a very tight schedule
because they won’t waste their time in understanding the domain and functional
requirements. So that time can be saved and project can be delivered on time.
On the other hand, It is the responsibility of the team lead to accept only
feasible deadlines and defer non feasible.
4.6 TEAM FORMATION AND COMPROMISE ON
for the requirements gathering is also very critical. Mostly there is no SQA
representation in the requirements team. This leads to lack of domain knowledge
and functional requirements. Compromise on quality is another problem area for
lack of software quality in developing countries due to lesser profit margins.
Most of the time project managers ask their QA team members to concentrate more
on those projects where they can earn more profit.
countries it is a common practice to focus on those projects which are strong
in business prospective and compromise on the local projects. Some of the
highly ranked software houses SQA teams are working on foreign projects while
some are working on local projects.
SQA teams which
are working on foreign projects are getting more benefits than the others and
their salaries are usually higher than the other colleagues. The reason behind
the difference is the profit margins. That adds more pressure on team leads
working on local projects and this results in compromise on quality because
they want to spend less time on projects. So that they can work on more
projects to show efficiency, in order to make good quality products team leads
should make sure to give proper time to every project regardless of the profit
It is the
responsibility of the higher management to make sure that quality is maintained
for every project and gives equal benefits to all teams regardless of the
foreign project factor. A very highly ranked software company in Pakistan has
decided not to work on local projects recently just because of this issue,
which is a better option if you can’t handle the quality issue created because
of profit issues.
4.7 INTERNAL POLITICS:
Politics is also
another important issue behind the lack of software quality. Leg pulling is a
big factor in developing countries not only in IT industry but in every field.
Different team leads in the department try to use their influence on higher
authorities to get highly paid projects. So the team leads with better Public
Relations get highly paid projects which affect the experience and the benefits
for their team members
5. DEPLOYING CMMI MODEL:
CMMI is a set of
dedicated standards and procedures which is very helpful to achieve quality.
Even though it takes lot of resources and time to follow the CMMI standards but
at the end it surely improves the quality of software products. Using CMMI also
improves the reputation of the software organizations because mostly customers
inquire about CMMI certification and CMMI level. It takes money and time to
implement CMMI standards but in the long run it improves the quality of
software products as well as the reputation of the company. This helps in
gaining a respectable position in Global market. So it is highly recommended to
follow CMMI standards.
6. CERTIFIED AND
SPECIALLIZED SQA TEAM:
It is highly
necessary for any software company to have a proper SQA team or at least full
time tester because only a tester can find the errors and can match the
specifications with the user demands and give an unbiased opinion to improve
the quality of the software. If a coder is reviewing his own code then it is
less likely for him to find all the errors. The job of the SQA team is to make
sure that all the procedures are followed and to minimize the errors in the
product. That’s why it is necessary to have a proper and fully functional SQA
team in the software company to improve and maintain the quality of the
7. LITERATURE REVIEW
In this paper,
many issues related to quality are identified and many responsibilities of
management are identified. Management plays a huge role in the SQA. So it is
the prime responsibility of the team managers to facilitate the team members
and provide them the good working environment. There are many ways to improve
the knowledge like they can go for some formal training courses. They should
also take advantage of the seminars arranged by the different experts to
improve their knowledge.
My research work
simulation was on already developing projects. We have first observed errors
and problems on the projects that were in the deploying stage. Then we have
implemented our proposed ideas on developing projects and observed the results.
According to our research most influencing factors are lack of specialists,
lack of domain knowledge, internal politics and non-certified team.
Then we guided
some of the development teams to improve these issues and by improving these
issues the success rate improved.
In this research
SQA problems are identified and solutions are suggested to cope with those
problems and improve the software quality. Software organizations can only get
a respectable position in Global Market if they concentrate on quality. SQA
plays a very important role in business of Software Company because the only
factor which results in getting consistent projects from permanent customers is
customer satisfaction. Big and reputed Organizations can
Hire you permanent vendor for their
Software / IT Solutions while getting good and quality products and delivered