You are on page 1of 11

CT079-3-M Software Quality Engineering Individual Assignment

CT079-3-M Software Quality Engineering

‘Hi Tech Corp.’ Case Study

by

Md Sakhiruj Jaman salim


ID: TP063111

INTAKE: May 2021

Submission Date: 31-07-2021

1
CT079-3-M Software Quality Engineering Individual Assignment

Contents Table
1.0 Introduction .......................................................................................................................... 3
1.1 Background, Business Process, and Problem Statement ................................................. 3
1.2 Aims and objectives of Hi-Tech Crop ............................................................................. 3
1.2.1 Aims .......................................................................................................................... 3
1.2.2 Objectives ................................................................................................................. 3
1.2.3 Assumptions.............................................................................................................. 4
1.2.4 Constrain ................................................................................................................... 4
2.0 Software Quality .................................................................................................................. 4
3.0 Quality factors that affect Hi-Tech Corp ............................................................................. 5
3.1 Reliability......................................................................................................................... 5
3.2 Flexibility ......................................................................................................................... 5
3.3 Portability......................................................................................................................... 5
3.4 Maintainability ................................................................................................................. 6
3.5 Reusability ....................................................................................................................... 6
3.6 Time frame challenge ...................................................................................................... 6
3.7 Testability ........................................................................................................................ 6
4.0 Software Quality Management ............................................................................................ 7
4.1 Quality Assurance: ........................................................................................................... 7
4.2 Quality Planning: ............................................................................................................. 8
4.3 Quality control: ................................................................................................................ 8
5.0 Software Quality Assurance Plan (SQAP) .......................................................................... 9
5.1 Process Implementation ................................................................................................... 9
5.2 Product Assurance ........................................................................................................... 9
5.3 Process Assurance............................................................................................................ 9
5.4 Assurance of quality systems ......................................................................................... 10
6.0 SQA Plan ........................................................................................................................... 10
7.0 Conclusion ......................................................................................................................... 10
8. Reference ............................................................................................................................. 11

2
CT079-3-M Software Quality Engineering Individual Assignment

1.0 Introduction

1.1 Background, Business Process, and Problem Statement


Hi-Tech Crop is a company that provides and develops a generic software control.
system for a class of digital devices. The company is a leading company in this area where,
most of its clients use this product as a primary product. This system is considered as a big
system where there are around 20 developers, and maintenance staff is working on this
project. Additionally, customers usually receive the developed product in phased releases
which typically from 9 to 12 months, and it depends on the customer’s requirements. Most of
the time, these releases significantly contain chunks of new and essential functionality to
accommodate the new advanced technology.

Currently, the customers often report defects such as loss of availability, loss of
specific services, or erroneous services. Defects discovered in each of these phases are
expected (where relevant) to be traced to a specific module and fixed. An attempt must be
made to fix all defects in the subsequent release.

So far, the current methods of Hi-Tech Crop have been able to achieve its core goals
with various problems, but this rapid growth of the market and its high demand, the current
development and methodologies have not met the quality standards. Customers have received
an overwhelming number of errors, which are causing the company to find itself in a bad
position. Therefore, the top product has recently been identified as unreliable and has gained
a bad reputation and is starting to get off track. Because of these big problems, high-tech crop
management has started to go downhill. As a result, management plans to focus on quickly
reporting all errors. Thus, the company wants to study and analyze the incredible things that
have earned a bad reputation as well as establish a quality system in the company to ensure
the quality of all future publishing. At the same time, the company wants to achieve
international quality standards such as ISO or SEI CMM soon.

1.2 Aims and objectives of Hi-Tech Crop


1.2.1 Aims
The main aim of this study or research is to create and set up an efficient and
effective quality system that will have a high-quality standard to ensure and deal with all
future versions. Also, the second aim is to provide customers with user-friendly systems and
regain a high reputation as soon as possible. In addition, the study aims to eliminate all facing
issues related to the availability and declining of services and the onslaught of service errors.

1.2.2 Objectives

• To study the process of Hi-Tech Crop business and analyze


every aspect of the problems.
• To study and determine the importance of the software quality
and software quality management for general and Hi-Tech
Crop company.

3
CT079-3-M Software Quality Engineering Individual Assignment

• To identify and discuss the issues that affect the Hi-Tech Crop.
• To test how organizations do this, create a software quality
assurance plan that is in line with international standards.
• To offer a complete set of software quality assurance plans
"SQAP" with specific and straight forward specifications based
on an international standard.
1.2.3 Assumptions

• The main product for Hi-Tech Corp is e-commerce web


applications.
• Customers reported several unexpected issues regarding the
availability, services, bugs and security issues.
1.2.4 Constrain

• Time constraints are related to the project schedule or plan,


including the duration of each phase of the project and much
more.
• Cost constraint mention that the project’s budget which
includes required financial resources to complete and finish the
main task and project in time. For example, cost constraints for
materials, quality control, vendors, and more factors.
• The economic issue can affect software quality and the
company. For example, the customers do not buy the product
due to unstable economic.

2.0 Software Quality


In the last decade, the market has been increasingly globalized and driven by the
development of powerful technologies and improvements in transportation infrastructure
around the world. Because of this transformation in the market, the consumer’s demands
have increased dramatically and required a complex product with a better design that suits
and assists customer’s needs as well as their expectations (Carrozza, 2018). To maintain these
demands, the concept of software quality is introduced which can be defined as the following.
According to the stated satisfaction (ISO 25010), the quality of the software can be defined as
the degree of expiration and capability of the software product and the implied demand when
the software is used under specified and specified conditions. Furthermore, software quality
is one of the most important aspects of software development.

There are several software qualities challenges that can affect the software
development lifecycle and production and introduce various flaws in the software. This
challenge can be like product complexity and product visibility. Also, software factors can be
classified into two types as follows. The first type is the factors that can be measured directly.
As an example, it can be like the number of logical errors. The second type of factors is the
factors that can be measured only indirectly. For instance, maintainability can be one of them.
The main aim of the second type is to measure and check the quality control and the content
(Carrozza, 2018)

4
CT079-3-M Software Quality Engineering Individual Assignment

Recently, Hi-Tech Corp has faced several issues regarding the software quality of its
ecommerce web application products. These issues can lead to serious sequences in the way
of how the product works and the normal business. Therefore, Hi-Tech Corp must clearly
follow an international software quality standard to provide a high-quality product that meets
customer satisfaction and free from defects. Based on the Hi-Tech Corp case, the company is
spending a massive cost on discovering the new defects in the production phase.

3.0 Quality factors that affect Hi-Tech Corp


Based on the case, there are several software qualities factors that directly affect and impact
the day-to-day operation of Hi-Tech Crop’s software which is the following:

3.1 Reliability
Reliability factor is related to service failure which determines the maximum
allowed failure rate of the system (Poth, A, 2014). In addition, it is also considered a feature
of resiliency as well as the structural density that measures the level of risk and the potential
rate of failure or the number of errors in a system. Therefore, the main goal of the reliability
is to reduce and eliminate downtime, outages, and errors in the application. Based on that, Hi-
Tech Corp has suffered from this quality factor and has been identified as unreliable due to
the number of customers who are experiencing hardware and software failure and the number
of downtimes. Hi-Tech Corp was not managing this factor, that’s why Hi-Tech Corp was lose
customers.

3.2 Flexibility
Flexibility factor often works with the efforts and efficiency needed to support
and improve the adaptive maintenance activities of any software. As example, changes and
additions to specific software that are needed to improve its services, the software should
easily adapt their changes in term of technical or commercial environments (Pinciroli, F,
2016). This factor directly affects the Hi-Tech Corp in term of the adoption rate of the market
changes which is cause of lose the track.

3.3 Portability
There is another quality factor that affects Hi-Tech Corp which is the
portability. In General, portability defined as a requirement, tends to the adapt of a software
system to other similar environments that including different hardware, operating system and
more. In this case, the software product should be able to continue to use the core of the
software in various situations, but Hi-Tech Corp does not meet with requirement. All the
customers face a problem when they visit the web application from mobile devices since it is
not compatible.

5
CT079-3-M Software Quality Engineering Individual Assignment

3.4 Maintainability
This quality factor considers the main efforts from users and the maintenance
to identify the reasons of the software’s failures, the time and effort to correct these failures
as well as to verify the success of the corrections (Pinciroli, F, 2016). This factor is extremely
significant since every software experiences the failure, but some of them fail to figure out
how to deal with and recover from such failures due to lack of maintenance reasons. Hi-Tech
Corp. maintains this factor poorly as it takes a long time to fix the availability decline.

3.5 Reusability
Reusability factor deals and works with the used software modules which can
be used in any future project. These modules provided currently developed software should
be reusable for coming project without having any problems with the design as well as the
implementation (Poth, A, 2014). If this factor is applied properly, it will bring various
benefits to an organization such as save development resources, shortening the development
time and increasing the quality of modules. Hi-Tech Corp suffers from the reusability factor,
and all the software modules could not reuse it in any future project. Even though, if these
modules are used in another project, the developers at Hi-Tech Corp are required to redesign
these modules as well as testing them again. Because of this factor, it will waste too much
time and effort (Enríquez, 2019).

3.6 Time frame challenge


Based on the case, high-tech corporations will face a critical issue with the
following given time frame. This issue gives insufficient time to the testing stage of
development which leads to detectable errors. Also, it is not only limited to testing, it can also
be time to collect from the user at the required stage. Hi-Tech Corp. takes a very long time to
release the product to the customers which is usually more than ten months. At the same time,
it provides a low-quality system and gives a clear indication that there is a weak time frame
management.

3.7 Testability
Testability factor always deals with software system and its operations test
method. Therefore, those type of tests generally includes a predefined midway result,
automatic diagnostics, and log files (Pinciroli, F, 2016). By doing this, it will help to find out
if all the major components of the system are working properly and in order. In addition, it
will report a detected error that automatically uses diagnostic checks that can be performed
by maintenance technicians. Centrally discovered errors reported by customers of high-tech
corporations are usually due to the lack of proper testing by the testing team. As a result of
that, if Hi-Tech Corp has proper testing plans, and usually perform different types of testing,
integration, and black box testing, it will discover those bugs quickly and on early stages.

6
CT079-3-M Software Quality Engineering Individual Assignment

4.0 Software Quality Management


Software Quality management ensures that all project activities required for project design,
planning and implementation are effective and efficient in achieving its goals. It is not a
separate process that occurs at the end of an activity to measure the quality level of the
output. It is not buying the most expensive material or services available on the market.
Quality and grade are not same, grade is an additional feature such as the properties of a
material or service. A product can be of good quality (no defects) and be of low grade. SQM
is a nonstop process that starts and ends with the project. It’s more about prevention and
avoidance than measuring and fixing poor quality output. It is part of every project
management process from the moment the project starts to the final stage of project
completion.

SQM focuses on improving partners ’satisfaction through continuous and growing


improvement in processes, including the removal of unnecessary activities; it is achieved
through continuous improvement of the quality of materials and services provided to the
beneficiaries. It is not about finding and fixing bugs after the fact, quality management is the
constant monitoring and application of quality processes in all aspects of the project.The
main aim of SQM is to ensure that the software is in good shape as well as encourage a
culture of quality throughout enterprises (Condori-Fernandez, 2018).

Since SQM is extremely vital, there are several activities that are involved which can
be categorized into three components that are quality planning, quality assurance, and quality
control (Condori-Fernandez, 2018).

Figure: Software Quality Management Component.

4.1 Quality Assurance:


Quality assurance is a process of providing evidence-based confirmation to
ensure that products meet the needs, expectations and other requirements of donors,
beneficiaries, agency management and other stakeholders. It ensures the existence process
and methodologies tools, and safety guard are in place to ensure that the expected levels of
quality will be reached to produce quality outputs. Quality assurance occurs at the project
implementation stage, and it provides confidence that the overall performance evaluation of
the project will meet the quality standards set by the project on a regular basis. Quality
assurance applies not only to the products and services provided by the project, but also to the
process and methods used to manage the project, that includes the way of uses the tools,
techniques, and methodologies to manage scope, schedule, budget, and quality. Quality
assurance also meets any legal or regulatory standards.

7
CT079-3-M Software Quality Engineering Individual Assignment

4.2 Quality Planning:


Quality planning works on a grainier, project-based level, determining
the quality characteristics associated with the project output and determining how these
characteristics should be evaluated. In additional, any existing organizational standards can
be allocated to the project at this stage. Features such as "visibility", "accessibility" and
"modularity" can be assigned to software development projects. While this can be a more
formal, integral process, those who use more agile methods of quality management may place
less emphasis on strict planning structures. The quality plan aims to address several
challenges such as intended market, critical release dates, quality goals, expected risks, and
risk management policy.

4.3 Quality control:


Quality controls operate those techniques and activities that compare genuine
quality with goals and define appropriate action in response. Quality control process monitors
the results of specific project if they follow with relevant standards and identifies different
approaches to address the causes for the unsatisfactory performance. The goal of quality
control is improving quality and monitor the project outcomes to see if they meet the quality
standards based on the project stakeholder’s expectations. Quality control also includes how
the project performs to manage opportunities, budgets, and schedules.

Software Quality management is an important part that Hi-Tech Corp should focus on
to deal with various problems in the main products stage which caused unreliable
management. Software quality management offered a set of quality factors which helps Hi-
Tech Crop how to get a high-quality system and initial goals. Moreover, SQM not only helps
to check the coding bug, but also helps to ensure that the customer or client receives a high-
quality product as well as meets the principal and necessary requirements. Also, Hi-Tech
Corp will be able to save money in the long run by identify faults at an early stage and being
defective in maintenance. Therefore, it is very important for Hi-Tech Corp to double checked
the key functionality before releasing the product, which is possible to achieve this goal
through SQM software QA. For example, the SQM testers can perform vulnerability
assessment to detect any security risks. By implements SQM at Hi-Tech Corp can be
achieved a few benefits which are high quality, savings, user experience, customer
satisfaction and organization.

8
CT079-3-M Software Quality Engineering Individual Assignment

5.0 Software Quality Assurance Plan (SQAP)


SQA helps to determining the required techniques, methodologies that will be used
and ensure that the software meets the criteria and specified requirement by both quality
standards and customers (M., S., Shamsur, 2018). In other word, it is a process that strictly
ensures that the developed product meets with standard or defined quality specifications, and
it is an ongoing process in the software development life cycle "SDLC”. SQA regularly
checks the under-development software to ensure that it will meet or not the desired quality
measurement or not.

In General, SQA events throughout the entire software development process and
stages are focus on improving the development process. By doing so, it will help to solve the
significant issues (Yang, C., 2018). There are Several benefits to using SQA in the companies
and organizations

1- Fixing bugs and especially errors when they are at the early stages.
2- Increases the initial quality of the product.
3- Creates and installs an amateur software process.
4- Updates the process of development the requested software.

To compare these mentioned advantages with the goals of the Hi-Tech Corp, SQA
directs the company to achieve these goals and returns it to the original complementary
market. Also, SQA provides continuous monitoring for processes and methodologies.
Therefore, SQA usually has multiple functions that help the Hi-Tech Corp as follows

5.1 Process Implementation


This task is responsible for preparing a quality assurance process for the
software development. It is usually done by consulting the design team with the development
team along with the SQA team. After finishing, the implementation of the process is
synchronized with the relevant verification and validity, audit method and joint review. At
the same time, another plan has been prepared which highlights the tasks or activities related
to the quality assurance process. This plan is usually documented and reserved for future use
(M. Alashqar, 2015).

5.2 Product Assurance


In this step, all the tasks and plans including the performance phase will be
documented. This process will help ensure that all aspects of the contract are met (M.
Alashqar, 2015).

5.3 Process Assurance


This process ensures that the software process meets and complies with all
provisions of the contract as well as the development process plans.

9
CT079-3-M Software Quality Engineering Individual Assignment

5.4 Assurance of quality systems


Software quality assurance is responsible for monitoring the development
process and measuring the parameters of the software, which are usually decided in advance
to ensure the quality of the software.

6.0 SQA Plan


Based on the requirements of a high-tech corporation, the Software Quality Assurance
Plan is a documentation that specifies the initial steps to be followed during each step or steps
of software development as well as the initial procedures to be followed in each activity of
the given process. The main goal of SQA is to ensure and deal with the software development
and test whether it is based on any activity that can be monitored and controlled until the
basic requirements are met. There are a number of plans across standardized standards,
policies and models. For example, these standards are like SEI CMM, ISO9000, and
Baldrige. A full SQA plan for Hi-Tech Corp is documented in the appendix, and it provide a
clear role and responsibility for each team as well as major tasks that they should be perform.
It also illustrates what the tools and techniques that help in risk management.

7.0 Conclusion
To short, software products has become a highly software intensive and more dynamic in
different terms such as the components, deployment, users, and final requirements. Therefore,
the end users generally request a complex method with a simple design without having errors
and downtime. Due to this kind of request, the nature of the market has evolved rapidly and
has increased due to this high demand. As a result, most of the high-tech crop companies are
waiting to install a standard system to ensure that their system meets international standards
and is considered high quality. The main reason is, the current software of Hi-Tech Corp was
formerly leading product in the market, but now it has been identified as unreliable due to
various issues such as loss of availability. To prevent this type of issues, Hi-Tch Crop must
need to study on the main quality of factors that have affected their product which has been
identified in this research, as well as offer a complete set of SQAP that they should follow for
their profit and maintain a high quality and they can achieve an international standard.

10
CT079-3-M Software Quality Engineering Individual Assignment

8. Reference
Abdullah, M. Khan, and R. Srivastava, "Flexibility: A Key Factor to Testability", International
Journal of Software Engineering & Applications, vol. 6, no. 1, pp. 89-99, 2015. Available:
10.5121/ijsea.2015.6108.

Saraswat, S. & Yadava, G. (2008). An overview on reliability, availability, maintainability, and


supportability (RAMS) engineering. International Journal of Quality & Reliability Management.
25 (3). pp. 330-344.

Project Management Institute (2013). A guide to the project management body of knowledge
(PMBOK® guide). 5th Ed. Newtown Square, Pennsylvania: Project Management Institute, Inc.

Carlson, C., Sarakakis, G., Groebel, D. & Mettas, A. (2010). Best practices for effective
reliability program plans. 2010 Proceedings - Annual Reliability and Maintainability Symposium
(RAMS).

Yang, C., Liang, P. and Avgeriou, P. (2018) ‘Evaluation of a process for architectural assumption
management in software development’, Science of Computer Programming. Elsevier B.V., 168,
pp. 38–70. Doi: 10.1016/j.scico.2018.08.002.

Tian, J. (1990) ‘Software quality engineering’, Information and Software Technology, 32(1), pp.
3–10. doi: 10.1016/0950-5849(90)90039-T.

Supaartagorn, C. (2011) ‘Php F Ramework F or D Atabase M Anagement’, International Journal


of Computer Science $ Information Technology (IICSIT), Vol3, No 2, 3(2), pp. 251–258.

Services, C. A. and Practice, L. (2018) ‘Leading Practice: Test Strategy and Approach in Agile
Projects’, pp. 1–6.

Pinciroli, F. (2016) ‘Improving Software Applications Quality by Considering the Contribution


Relationship among Quality Attributes’, Procedia Computer Science. Elsevier Masson SAS,
83(Antifragile), pp. 970–975. doi: 10.1016/j.procs.2016.04.194.

S. Pratibha Sharma, "Performance Testing: A Comparative Study and Analysis of Web Service
Testing Tools", International Journal of Computer Science and Mobile Computing, no. 2320088,
2016.

11

You might also like