Software Quality Engineering for Hi-Tech Corp
VerifiedAdded on 2023/06/10
|23
|5207
|76
AI Summary
This paper discusses the importance of software quality engineering for Hi-Tech Corp and provides recommendations on the best testing strategy, software quality metrics, and software configuration management. It emphasizes the need for a culture of quality to ensure the success of the company. The paper also highlights the importance of developers in ensuring quality and engaging users for feedback. The recommended testing strategy is automation, and the recommended quality metrics are product quality metrics. The paper concludes by emphasizing the need for continuous improvement and measurement of metrics to ensure high-quality products.
Contribute Materials
Your contribution can guide someone’s learning journey. Share your
documents today.
SOFTWARE QUALITY ENGINEERING 1
SOFTWARE QUALITY ENGINEERING FOR A HIGH TECH CORP
Student's name:
Code +course name
Professor's name
University name
City, state
Date
SOFTWARE QUALITY ENGINEERING FOR A HIGH TECH CORP
Student's name:
Code +course name
Professor's name
University name
City, state
Date
Secure Best Marks with AI Grader
Need help grading? Try our AI Grader for instant feedback on your assignments.
SOFTWARE QUALITY ENGINEERING 2
Executive summary
Software projects for all hi-tech companies across the world have become complex
than ever before. With many teams across the world working on the same programs, test
methods are quickly changing. Therefore a culture of quality is necessary for the success of
this Hi-tech company.
In this paper, we will look at a Hi-Tech corp which concentrates more on selling
generic software control system for various classes of digital services. The company has a
good number of customers who purchase this product. In this Hi-Tech company, customers
are said to report defects such as erroneous services, loss of availability and loss of some
specific services in their products; these seem to be a big irony concerning quality. Thus in
this paper, we will be advising the company on the best testing strategy, software quality
metrics and software configuration management it can implement to help solve the issues
being experienced
The company should consider test automation because it helps to run tests suites
easily thus saving human capital. I would also recommend the company to try software
product metrics because it will help in coming up with the best control process which is
greatly beneficial when offering the high-quality product to customers. Lastly, the company
should adopt agile configuration management.
Executive summary
Software projects for all hi-tech companies across the world have become complex
than ever before. With many teams across the world working on the same programs, test
methods are quickly changing. Therefore a culture of quality is necessary for the success of
this Hi-tech company.
In this paper, we will look at a Hi-Tech corp which concentrates more on selling
generic software control system for various classes of digital services. The company has a
good number of customers who purchase this product. In this Hi-Tech company, customers
are said to report defects such as erroneous services, loss of availability and loss of some
specific services in their products; these seem to be a big irony concerning quality. Thus in
this paper, we will be advising the company on the best testing strategy, software quality
metrics and software configuration management it can implement to help solve the issues
being experienced
The company should consider test automation because it helps to run tests suites
easily thus saving human capital. I would also recommend the company to try software
product metrics because it will help in coming up with the best control process which is
greatly beneficial when offering the high-quality product to customers. Lastly, the company
should adopt agile configuration management.
SOFTWARE QUALITY ENGINEERING 3
TABLE OF CONTENTS
Introduction................................................................................................................................4
PART A......................................................................................................................................5
SUITABLE TESTING STRATEGY AND PROCEDURE FOR HI-TECH CORP.................5
Benefits of Automation..............................................................................................................6
PART B......................................................................................................................................8
SOFTWARE QUALITY METRICS.........................................................................................8
Product Quality Metrics.............................................................................................................9
PART C....................................................................................................................................12
SOFTWARE CONFIGURATION MANAGEMENT............................................................12
Software configuration best practices......................................................................................13
Configuration management......................................................................................................14
Agile Configuration Management Practices............................................................................15
References................................................................................................................................17
APPENDICES..........................................................................................................................20
Appendix I: Introduction Letter............................................................................................20
Appendix II: Questionnaires.................................................................................................21
TABLE OF CONTENTS
Introduction................................................................................................................................4
PART A......................................................................................................................................5
SUITABLE TESTING STRATEGY AND PROCEDURE FOR HI-TECH CORP.................5
Benefits of Automation..............................................................................................................6
PART B......................................................................................................................................8
SOFTWARE QUALITY METRICS.........................................................................................8
Product Quality Metrics.............................................................................................................9
PART C....................................................................................................................................12
SOFTWARE CONFIGURATION MANAGEMENT............................................................12
Software configuration best practices......................................................................................13
Configuration management......................................................................................................14
Agile Configuration Management Practices............................................................................15
References................................................................................................................................17
APPENDICES..........................................................................................................................20
Appendix I: Introduction Letter............................................................................................20
Appendix II: Questionnaires.................................................................................................21
SOFTWARE QUALITY ENGINEERING 4
Introduction
Programme software examination is a significant activity and happens to be one of the
important processes when developing software (Fujita & Guizzi, 2015). Hi-Tech companies
that do not adhere to this process, together with the quality control processes can easily
destroy their reputation together with the reputation of other companies which depend on
them (Desai,2016). Customers also waste a lot of their money trying to deal with such a
company (Homs, 2013). Having a test schedule is also very critical when it comes to
developing software. Specific programs of software plan cover the different objectives and
needs of a particular program application (Rhett, 2015). Test documentation is also needed to
create test issues that assist in determining how best the user copes in various categories and
different working fields.
The Hi-tech company needs to understand that the development team is the one
responsible for ensuring quality rather than the quality assurance team (Black, 2011). Each
line of the code can make the customer experience good or bad. Developers have a quality
relationship with the customers (Black, 2011). The quality assurance team is only responsible
for informing the organization about risks. This is important for the Hi-tech Corporation so
that it will not place the responsibility of quality on tests and not have value in the
development process (Schmidt, 2016). The absence of developers in the quality makes
problems to deteriorate in the code base thus becoming expensive to fix. Software teams must
comprise of executive stakeholders, designers, product managers, testers, and developers. All
play a major role in ensuring quality.
Developers are very important in software projects (Hanmer, 2015). They greatly determine
the experience that a customer will have at the realization of a product (Sommerville, 2015).
Many are the times that developers do not have a chance to own the whole of their feature
Introduction
Programme software examination is a significant activity and happens to be one of the
important processes when developing software (Fujita & Guizzi, 2015). Hi-Tech companies
that do not adhere to this process, together with the quality control processes can easily
destroy their reputation together with the reputation of other companies which depend on
them (Desai,2016). Customers also waste a lot of their money trying to deal with such a
company (Homs, 2013). Having a test schedule is also very critical when it comes to
developing software. Specific programs of software plan cover the different objectives and
needs of a particular program application (Rhett, 2015). Test documentation is also needed to
create test issues that assist in determining how best the user copes in various categories and
different working fields.
The Hi-tech company needs to understand that the development team is the one
responsible for ensuring quality rather than the quality assurance team (Black, 2011). Each
line of the code can make the customer experience good or bad. Developers have a quality
relationship with the customers (Black, 2011). The quality assurance team is only responsible
for informing the organization about risks. This is important for the Hi-tech Corporation so
that it will not place the responsibility of quality on tests and not have value in the
development process (Schmidt, 2016). The absence of developers in the quality makes
problems to deteriorate in the code base thus becoming expensive to fix. Software teams must
comprise of executive stakeholders, designers, product managers, testers, and developers. All
play a major role in ensuring quality.
Developers are very important in software projects (Hanmer, 2015). They greatly determine
the experience that a customer will have at the realization of a product (Sommerville, 2015).
Many are the times that developers do not have a chance to own the whole of their feature
Paraphrase This Document
Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
SOFTWARE QUALITY ENGINEERING 5
lifecycle. Traditional test methodology considers testing as a separate process that does not
require developers. However, testing should be a collaborative process that must involve a
team of developer and customers (Stephens, 2015). Developers that can own and prove the
quality of feature have fewer round trips with QA, fewer bugs and are faster to get into the
market. A series of tests owned by test teams and developers greatly assist in protecting the
code from incoming bugs. Developers who write tests greatly keep their quality up. Hi-tech
company's need to empower their Developers.
Secondly is that Hi-tech company need to engage its users (Sommerville, 2015). A
regular release to the customer's base gives the customers a chance to give feedback on the
software necessary for future development (Desai, 2016). Test and development teams that
easily respond to the customers' feedback are said to be more effective and successful. Hi-
Tech Company also needs to make sure that customers find it easy to give their feedback
(Staron, 2017). Test engineers are also very Important in a software project because of their
ability to check on some quality issues across a given product (Schmidt, 2016). Test
engineers should be able to enable the larger team to run faster, inspire creativity, give
feedback early, engage with the outside and test flexibility.
PART A
SUITABLE TESTING STRATEGY AND PROCEDURE FOR HI-TECH CORP
Another way that Hi-Tech Company can ensure quality is by building a solid software
test strategy (Basu, 2015). A good test strategy may include manual, explanatory and
automated tests to tighten the release cycle and effectively reduce risk (Loope, 2011). Tests
may inform of unit tests, functional tests or integration tests. For Hi-Tech Company I would
recommend it to consider the automated software method.
lifecycle. Traditional test methodology considers testing as a separate process that does not
require developers. However, testing should be a collaborative process that must involve a
team of developer and customers (Stephens, 2015). Developers that can own and prove the
quality of feature have fewer round trips with QA, fewer bugs and are faster to get into the
market. A series of tests owned by test teams and developers greatly assist in protecting the
code from incoming bugs. Developers who write tests greatly keep their quality up. Hi-tech
company's need to empower their Developers.
Secondly is that Hi-tech company need to engage its users (Sommerville, 2015). A
regular release to the customer's base gives the customers a chance to give feedback on the
software necessary for future development (Desai, 2016). Test and development teams that
easily respond to the customers' feedback are said to be more effective and successful. Hi-
Tech Company also needs to make sure that customers find it easy to give their feedback
(Staron, 2017). Test engineers are also very Important in a software project because of their
ability to check on some quality issues across a given product (Schmidt, 2016). Test
engineers should be able to enable the larger team to run faster, inspire creativity, give
feedback early, engage with the outside and test flexibility.
PART A
SUITABLE TESTING STRATEGY AND PROCEDURE FOR HI-TECH CORP
Another way that Hi-Tech Company can ensure quality is by building a solid software
test strategy (Basu, 2015). A good test strategy may include manual, explanatory and
automated tests to tighten the release cycle and effectively reduce risk (Loope, 2011). Tests
may inform of unit tests, functional tests or integration tests. For Hi-Tech Company I would
recommend it to consider the automated software method.
SOFTWARE QUALITY ENGINEERING 6
Benefits of Automation
The major changes taking place in software projects makes it hard for test teams to
validate changes manually. Therefore computers are necessary and can easily be able to run
repetitive tasks easily (Graham& Fewster, 2012). This makes them the most necessary
gadgets for testing. Tests automation helps computers to run tests suites easily thus saving
human capital for some other engaging work in the organization. Since tests are frequently
run it is easier to detect issues earlier and fix them
Features and Test Code: 2 Hearts That Beat as 1
Developers usually know how the product they are implementing is supposed to work. The
QA specialists become like the user to be able to detect the various issues the product may be
subjected to (Desai, 2016). Both the QA specialists and developers become the testing
powerhouse (Pressman, 2010). Engineers who take part in maintenance and coding of their
won test usually find bugs earlier on before committing the code. The QA helps in ensuring
that developers can write the right tests specifically in functional and integration test level.
Bugs can waste a lot of time and resources (Stephens, 2015). Finding them and being able to
fix them much early makes a program efficient.
Test Efficiently
As automation tests continue to grow some problems that come from manual testing may
arise. For example, the test may begin to take time to run. Engineers can help to solve these
issues in three ways which are horizontal scaling; faster performance and more focused
testing (Basu, 2015). For every test carried out in the system must use minimum resources.
Equivalence partitioning is also necessary to make tests more efficient when they are
performed against different configurations(Fujita & Guizzi, 2015). Test that does not rely on
each other can be run in parallel by use of multiple build agents.
Benefits of Automation
The major changes taking place in software projects makes it hard for test teams to
validate changes manually. Therefore computers are necessary and can easily be able to run
repetitive tasks easily (Graham& Fewster, 2012). This makes them the most necessary
gadgets for testing. Tests automation helps computers to run tests suites easily thus saving
human capital for some other engaging work in the organization. Since tests are frequently
run it is easier to detect issues earlier and fix them
Features and Test Code: 2 Hearts That Beat as 1
Developers usually know how the product they are implementing is supposed to work. The
QA specialists become like the user to be able to detect the various issues the product may be
subjected to (Desai, 2016). Both the QA specialists and developers become the testing
powerhouse (Pressman, 2010). Engineers who take part in maintenance and coding of their
won test usually find bugs earlier on before committing the code. The QA helps in ensuring
that developers can write the right tests specifically in functional and integration test level.
Bugs can waste a lot of time and resources (Stephens, 2015). Finding them and being able to
fix them much early makes a program efficient.
Test Efficiently
As automation tests continue to grow some problems that come from manual testing may
arise. For example, the test may begin to take time to run. Engineers can help to solve these
issues in three ways which are horizontal scaling; faster performance and more focused
testing (Basu, 2015). For every test carried out in the system must use minimum resources.
Equivalence partitioning is also necessary to make tests more efficient when they are
performed against different configurations(Fujita & Guizzi, 2015). Test that does not rely on
each other can be run in parallel by use of multiple build agents.
SOFTWARE QUALITY ENGINEERING 7
Good Architecture Tests WELL
In the present year's software projects are not any different from other businesses. The world
is very much networked therefore soft wares have to integrate and flexible with very many
application (Graham& Fewster, 2012). Automated software tests help to exercise the
different interfaces of the products so when problems arise, it becomes easier to know where
the main problem is located.
Test your tests
One of the main challenges that Hi-Tech Company can face out of using automated tests is
trying to verify whether they are testing the correct thing (Homs, 2013). Some code coverage
tools such as the clover analyze the test coverage, but they don't state clearly whether one is
testing the riskiest area. It is challenging for a single developer to get all the test results for a
just a piece of feature code. However, Test code reviews can help to find out other test cases
that are necessary. Therefore it is not enough to test the return code only.
Keep neighbourhood clean
As software tests increases test failures may occur. It becomes easier to come across a house
in disrepair (Hanmer, 2012). As the other part of the house deteriorates it is challenging to
find the same kind of a house. Automated tests have no significant difference (Averbakh,
2010). When one test starts to signal failure it is necessary to tell the development team.
However, if all tests signal failure the urgency of keeping things normal starts going down.
The implementation of the automation testing strategy is clearly shown in the diagram below
(Rhett, 2015).
Good Architecture Tests WELL
In the present year's software projects are not any different from other businesses. The world
is very much networked therefore soft wares have to integrate and flexible with very many
application (Graham& Fewster, 2012). Automated software tests help to exercise the
different interfaces of the products so when problems arise, it becomes easier to know where
the main problem is located.
Test your tests
One of the main challenges that Hi-Tech Company can face out of using automated tests is
trying to verify whether they are testing the correct thing (Homs, 2013). Some code coverage
tools such as the clover analyze the test coverage, but they don't state clearly whether one is
testing the riskiest area. It is challenging for a single developer to get all the test results for a
just a piece of feature code. However, Test code reviews can help to find out other test cases
that are necessary. Therefore it is not enough to test the return code only.
Keep neighbourhood clean
As software tests increases test failures may occur. It becomes easier to come across a house
in disrepair (Hanmer, 2012). As the other part of the house deteriorates it is challenging to
find the same kind of a house. Automated tests have no significant difference (Averbakh,
2010). When one test starts to signal failure it is necessary to tell the development team.
However, if all tests signal failure the urgency of keeping things normal starts going down.
The implementation of the automation testing strategy is clearly shown in the diagram below
(Rhett, 2015).
Secure Best Marks with AI Grader
Need help grading? Try our AI Grader for instant feedback on your assignments.
SOFTWARE QUALITY ENGINEERING 8
PART B
SOFTWARE QUALITY METRICS
One the other hand Hi High Tech Company should consider having a software quality
metrics. There are three types of software quality metrics they include the maintenance
quality, product quality, and process quality (Averbakh, 2015). Software quality metrics
happens to be a subset of software metrics. Software quality metrics are associated with
product and process metrics. However project parameters such as the schedule, the number of
developers, their skills, the structure and the size of a company profoundly affect the quality
of a product (Averbakh, 2015). Software quality metrics are usually further dived into in-
process quality metrics and end -product quality metrics. The reason for software engineering
is to find the relationship between project characteristics, end-product quality and in process
metrics. Given the findings, we should come up with improvements on both the product and
process quality.
PART B
SOFTWARE QUALITY METRICS
One the other hand Hi High Tech Company should consider having a software quality
metrics. There are three types of software quality metrics they include the maintenance
quality, product quality, and process quality (Averbakh, 2015). Software quality metrics
happens to be a subset of software metrics. Software quality metrics are associated with
product and process metrics. However project parameters such as the schedule, the number of
developers, their skills, the structure and the size of a company profoundly affect the quality
of a product (Averbakh, 2015). Software quality metrics are usually further dived into in-
process quality metrics and end -product quality metrics. The reason for software engineering
is to find the relationship between project characteristics, end-product quality and in process
metrics. Given the findings, we should come up with improvements on both the product and
process quality.
SOFTWARE QUALITY ENGINEERING 9
Product Quality Metrics
For this Hi-Tech Company, I would advise it to try Product Quality Metrics.
Identifying quality metrics will help companies to be able to determine the best
control process that can offer high-quality products to customers (Abran, 2010). Testing
whether a certain product meets the expectation of the customer helps the customer to
understand the impact of quality. Accurate measurement of whether the product is of high
quality enable the company to achieve the expectation of a customer (Pressman, 2010). It also
helps to achieve some monitored outcomes and targeted improvements. There are various
dimensions which are commonly used to understand or frame the contribution of quality to
customer satisfaction.
Performance
Performance metrics helps to measure the significant operational characteristics of a product.
Performance traits are usually comprised of observable attributes such as speed, volume,
order throughout and consumable life. These observable features of a product are usually
compared to the competitors' products or previous products as a basis for meeting customers'
expectations and showing some performance gains.
Features
They are thought to be some particular services and behaviors which are offered by a product.
Measuring features deserves some specification from the customer and evaluating whether
the given product meets the said specifications.
Reliability.
Product reliability measurement focuses on the probability that a particular product will fail
or not. Reliability metrics can also be thought to measure the likelihood of failure in
Product Quality Metrics
For this Hi-Tech Company, I would advise it to try Product Quality Metrics.
Identifying quality metrics will help companies to be able to determine the best
control process that can offer high-quality products to customers (Abran, 2010). Testing
whether a certain product meets the expectation of the customer helps the customer to
understand the impact of quality. Accurate measurement of whether the product is of high
quality enable the company to achieve the expectation of a customer (Pressman, 2010). It also
helps to achieve some monitored outcomes and targeted improvements. There are various
dimensions which are commonly used to understand or frame the contribution of quality to
customer satisfaction.
Performance
Performance metrics helps to measure the significant operational characteristics of a product.
Performance traits are usually comprised of observable attributes such as speed, volume,
order throughout and consumable life. These observable features of a product are usually
compared to the competitors' products or previous products as a basis for meeting customers'
expectations and showing some performance gains.
Features
They are thought to be some particular services and behaviors which are offered by a product.
Measuring features deserves some specification from the customer and evaluating whether
the given product meets the said specifications.
Reliability.
Product reliability measurement focuses on the probability that a particular product will fail
or not. Reliability metrics can also be thought to measure the likelihood of failure in
SOFTWARE QUALITY ENGINEERING
10
workflows or batches. Some failure measurements include failure rates per unit, replacement
frequency, maintenance event frequency and mean averages of failures.
Conformance
Conformance metrics are used to measure the expected outcome and actual outcome of the
product. Measurements involve, service call incidents, manufacturing defect rates and
warranty returns and claims (Abran, 2010). Some conformance metrics can be used to
measure the expected dissatisfaction from customers. These metrics include localization
failure, spelling error, and deviation from the standards.
As I stated earlier, I would advise the Hi-Tech Company to consider product quality
Metrics. This is because product quality metrics assist software engineers to clearly
understand the attribute of a model, therefore, being able to assess the quality of the software.
They also help the software engineers to understand the design and construction of software.
The focus on attributes of a specific product gives a clear way to know the quality of a
product based on some clearly defined rules (Abran, 2010).
Product quality metrics are well known because they assign a value to system quality
attributes. By being able to assess some software characteristics such as complexity and
diplomatic and later aggregating this measurement, one can be able to assess the systems
quality attributes like maintainability (Fricker & Schneider, 2015). Product metrics is also
very critical when trying to assess the system components which are below standards. These
measures are meant to locate those components' that do deviate from the norm.
The various metrics that are used to measure quality issues include continuous
improvement, TQM, quality enhancement and six sigma indicators. They are used to assess
10
workflows or batches. Some failure measurements include failure rates per unit, replacement
frequency, maintenance event frequency and mean averages of failures.
Conformance
Conformance metrics are used to measure the expected outcome and actual outcome of the
product. Measurements involve, service call incidents, manufacturing defect rates and
warranty returns and claims (Abran, 2010). Some conformance metrics can be used to
measure the expected dissatisfaction from customers. These metrics include localization
failure, spelling error, and deviation from the standards.
As I stated earlier, I would advise the Hi-Tech Company to consider product quality
Metrics. This is because product quality metrics assist software engineers to clearly
understand the attribute of a model, therefore, being able to assess the quality of the software.
They also help the software engineers to understand the design and construction of software.
The focus on attributes of a specific product gives a clear way to know the quality of a
product based on some clearly defined rules (Abran, 2010).
Product quality metrics are well known because they assign a value to system quality
attributes. By being able to assess some software characteristics such as complexity and
diplomatic and later aggregating this measurement, one can be able to assess the systems
quality attributes like maintainability (Fricker & Schneider, 2015). Product metrics is also
very critical when trying to assess the system components which are below standards. These
measures are meant to locate those components' that do deviate from the norm.
The various metrics that are used to measure quality issues include continuous
improvement, TQM, quality enhancement and six sigma indicators. They are used to assess
Paraphrase This Document
Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
SOFTWARE QUALITY ENGINEERING
11
reliable, sufficient, timely and relevant information (Horine, 2012). Moreover, metrics that
comprise incorrect information can significantly mislead company managers making them
come up with some false conclusions. This parameter helps to evaluate levels of quality that
are present in a company.
Measurements of metrics should not stop in any organization. Thus when the Hi-Tech
company is creating or developing a product, it should make sure that the products are of
high quality (Fricker & Schneider, 2015). However, the needs of users can greatly vary. For
example, in current years there is a high demand for cellular phones than analog phones. In
fact, cellular phones also keep on changing still there are customers that prefer analog
phones. There are many reasons why Hitech corp should keep checking on quality or product
metrics (Naik, & Tripathy, 2011). As long as the company is in the market, one should follow
some constant check on the costs used to assess quality. Most importantly metrics should be
used to avoid making some careless decisions that can greatly affect the progress of the
business.
The following diagram explains more about the software product metrics (Horine, 2012).
11
reliable, sufficient, timely and relevant information (Horine, 2012). Moreover, metrics that
comprise incorrect information can significantly mislead company managers making them
come up with some false conclusions. This parameter helps to evaluate levels of quality that
are present in a company.
Measurements of metrics should not stop in any organization. Thus when the Hi-Tech
company is creating or developing a product, it should make sure that the products are of
high quality (Fricker & Schneider, 2015). However, the needs of users can greatly vary. For
example, in current years there is a high demand for cellular phones than analog phones. In
fact, cellular phones also keep on changing still there are customers that prefer analog
phones. There are many reasons why Hitech corp should keep checking on quality or product
metrics (Naik, & Tripathy, 2011). As long as the company is in the market, one should follow
some constant check on the costs used to assess quality. Most importantly metrics should be
used to avoid making some careless decisions that can greatly affect the progress of the
business.
The following diagram explains more about the software product metrics (Horine, 2012).
SOFTWARE QUALITY ENGINEERING
12
PART C
SOFTWARE CONFIGURATION MANAGEMENT
Software configuration is a discipline in software engineering that is made up of
standard techniques and processes mostly used by companies to manage any change that gets
to be introduced in any software product (Homs, 2013).SCM is also called software control
management. SCM main aim is to control changes that are mostly introduced in some
complex software systems through some reliable version control and version selection.
Therefore configuration management should be a quality assurance activity that must be
applied throughout the software process.
There are many performance monitoring tools and project management
methodologies in software development. All this is defined by software configuration
management. Without SCM source codes tended to become unorganized and fragmented thus
development become very difficult without having the significant pieces of application
divided. Scaling development team would be difficult because the work of individual
developers would not be efficiently organized (Black, 2011). Thus software development
would be frustrating, error-prone, and slow thus affecting everyone in the organization.
Usually, every team has some form of SCM whether it's by choice or not. Software
configuration management is made up of a pattern. That helps in creating an organization
chart for developing software (Halt, 2015). Each pattern gives a point where the code is
integrated, written or tested to another pattern and later it is released as one software version.
Software configuration management is made up of three essential patterns which include
workspace pattern, core patterns and code line pattern
12
PART C
SOFTWARE CONFIGURATION MANAGEMENT
Software configuration is a discipline in software engineering that is made up of
standard techniques and processes mostly used by companies to manage any change that gets
to be introduced in any software product (Homs, 2013).SCM is also called software control
management. SCM main aim is to control changes that are mostly introduced in some
complex software systems through some reliable version control and version selection.
Therefore configuration management should be a quality assurance activity that must be
applied throughout the software process.
There are many performance monitoring tools and project management
methodologies in software development. All this is defined by software configuration
management. Without SCM source codes tended to become unorganized and fragmented thus
development become very difficult without having the significant pieces of application
divided. Scaling development team would be difficult because the work of individual
developers would not be efficiently organized (Black, 2011). Thus software development
would be frustrating, error-prone, and slow thus affecting everyone in the organization.
Usually, every team has some form of SCM whether it's by choice or not. Software
configuration management is made up of a pattern. That helps in creating an organization
chart for developing software (Halt, 2015). Each pattern gives a point where the code is
integrated, written or tested to another pattern and later it is released as one software version.
Software configuration management is made up of three essential patterns which include
workspace pattern, core patterns and code line pattern
SOFTWARE QUALITY ENGINEERING
13
Core Patterns
It helps in defining the current state of the software (Naik, & Tripathy, 2011). The basic
pattern in the SMC structure happens to be the main line which is also known as the code line
(Mohr, Mohr & Slater, 2010). All changes that developers make are usually funneled into this
code.
Work Space pattern
It happens to be the place where development occurs (Halt, 2015). These patterns join with
the active development line and later the main line. The dominant workspace pattern is
named the ‘'Private Workspace'' where individual developers can copy the mainline and make
changes without affecting the other developers. Other patterns join with the private
workspace and also help developers to test, integrate and build. These patterns include
integration tests, unit tests, private build, integration build and smoke tests.
Code policies
Each of these patterns must have some set guidelines and rules for them to remain effective.
This patterns and guidelines are known as code line policies (Horine, 2012). The code line
policies also tell the integrations and tests that need to occur before a code is realized. All
these processes should be automated because most of the automating tests happen to be
integration building.
Software configuration best practices
Software configuration management has some set guidelines and principles. This is:
Development should be done with only a few code lines
13
Core Patterns
It helps in defining the current state of the software (Naik, & Tripathy, 2011). The basic
pattern in the SMC structure happens to be the main line which is also known as the code line
(Mohr, Mohr & Slater, 2010). All changes that developers make are usually funneled into this
code.
Work Space pattern
It happens to be the place where development occurs (Halt, 2015). These patterns join with
the active development line and later the main line. The dominant workspace pattern is
named the ‘'Private Workspace'' where individual developers can copy the mainline and make
changes without affecting the other developers. Other patterns join with the private
workspace and also help developers to test, integrate and build. These patterns include
integration tests, unit tests, private build, integration build and smoke tests.
Code policies
Each of these patterns must have some set guidelines and rules for them to remain effective.
This patterns and guidelines are known as code line policies (Horine, 2012). The code line
policies also tell the integrations and tests that need to occur before a code is realized. All
these processes should be automated because most of the automating tests happen to be
integration building.
Software configuration best practices
Software configuration management has some set guidelines and principles. This is:
Development should be done with only a few code lines
Secure Best Marks with AI Grader
Need help grading? Try our AI Grader for instant feedback on your assignments.
SOFTWARE QUALITY ENGINEERING
14
One of the primary values of SCM is to remove integration and redundancy issues(Mohr,
Mohr & Slater, 2010). Each teams default technique should be to use only a few code lines
and only branching when caveats arise.
Test early and often
Testing is critical when it comes to software configuration management. Each pattern gives
an opportunity for testing before code is forwarded to the next pattern in the hierarchy.
Integrate early and often
Private workspaces are also very important because they help developers to tests some
integration before putting them in the main line (Staron, 2017). Developers also need to
continually test their workspace with the main line to detect changes
With this information in mind, I would advise this Hi-Tech Company to try agile
Configuration management
It is not easy for development managers to find a good and faster way to deliver high-
quality products to their customers (Hall, 2013). However for them to be able to do so many
companies have employed agile configuration management (Hasnida, 2013). This is because
it creates a mindset of development which mainly concentrates on offering high quality and
low defect software which is usually delivered at small and constant releases. In recent years
small companies prefer agile approaches than large companies. This happens because most
large companies are slower and very much resistant to change (Hall, 2013). It has also been
believed that Agile method tends to be risky with insufficient quality control. However, all
this seems not to be true (Loope, 2011). This high Tech company needs to embrace the Agile
method simply because it is a large company best approach and it is also complex. Various
14
One of the primary values of SCM is to remove integration and redundancy issues(Mohr,
Mohr & Slater, 2010). Each teams default technique should be to use only a few code lines
and only branching when caveats arise.
Test early and often
Testing is critical when it comes to software configuration management. Each pattern gives
an opportunity for testing before code is forwarded to the next pattern in the hierarchy.
Integrate early and often
Private workspaces are also very important because they help developers to tests some
integration before putting them in the main line (Staron, 2017). Developers also need to
continually test their workspace with the main line to detect changes
With this information in mind, I would advise this Hi-Tech Company to try agile
Configuration management
It is not easy for development managers to find a good and faster way to deliver high-
quality products to their customers (Hall, 2013). However for them to be able to do so many
companies have employed agile configuration management (Hasnida, 2013). This is because
it creates a mindset of development which mainly concentrates on offering high quality and
low defect software which is usually delivered at small and constant releases. In recent years
small companies prefer agile approaches than large companies. This happens because most
large companies are slower and very much resistant to change (Hall, 2013). It has also been
believed that Agile method tends to be risky with insufficient quality control. However, all
this seems not to be true (Loope, 2011). This high Tech company needs to embrace the Agile
method simply because it is a large company best approach and it is also complex. Various
SOFTWARE QUALITY ENGINEERING
15
keystones make up the agile CM include robust source control, test automation framework,
reliable deployment approach and repeatable build system (Hall, 2013). All these components
need to be integrated so that projects can progress effectively in the development process.
Finally, information is shared across the different teams to make sure that
miscommunications and poor handoff do not make the projects to be delayed
Agile Configuration Management Practices
The foundation of an Agile CM approach includes automation and streamlined
procedures. Each task is usually performed easily thus providing feedback faster to the team
and individual programmer (Gregory & Crispin, 2015). Moreover, agile teams try to make
these activities self-documenting. For example, the automated script is usually documented in
the execution scripts.
Source Control
This happens to be the most forgotten component of Agile Configuration Management
(Hall, 2013). It happens because most of the agile teams tend to think that every project has a
source control system and that every project makes use of it effectively. The average source
control system is made up of rollback, tagging, and versioning.
Build Automation
For teams to assess the stability of their Current software, they need to embrace an automated
build. Automated build help to reduce the time developers spend on unnecessary work and
also removes challenges which are experienced in the development process thus enabling
teams to respond faster to change (Gregory & Crispin, 2015). The primary goal of this is to
reduce the build process making it a quick activity that can be performed by any programmer.
15
keystones make up the agile CM include robust source control, test automation framework,
reliable deployment approach and repeatable build system (Hall, 2013). All these components
need to be integrated so that projects can progress effectively in the development process.
Finally, information is shared across the different teams to make sure that
miscommunications and poor handoff do not make the projects to be delayed
Agile Configuration Management Practices
The foundation of an Agile CM approach includes automation and streamlined
procedures. Each task is usually performed easily thus providing feedback faster to the team
and individual programmer (Gregory & Crispin, 2015). Moreover, agile teams try to make
these activities self-documenting. For example, the automated script is usually documented in
the execution scripts.
Source Control
This happens to be the most forgotten component of Agile Configuration Management
(Hall, 2013). It happens because most of the agile teams tend to think that every project has a
source control system and that every project makes use of it effectively. The average source
control system is made up of rollback, tagging, and versioning.
Build Automation
For teams to assess the stability of their Current software, they need to embrace an automated
build. Automated build help to reduce the time developers spend on unnecessary work and
also removes challenges which are experienced in the development process thus enabling
teams to respond faster to change (Gregory & Crispin, 2015). The primary goal of this is to
reduce the build process making it a quick activity that can be performed by any programmer.
SOFTWARE QUALITY ENGINEERING
16
Automated Migration and Deployment
This the step that follows automated Build. The stage of automating migrations and
deployment activities is usually performed to streamline and increase the chance of
promoting builds which are from development and are passed through testing environments
and later to production (Fujita & Guizzi, 2015).
Test Automation
This happens to be the first step a project takes towards knowing whether the current system
is ready. Automated tests are supposed to be written next to all codes in the systems.
In conclusion, coming up with high-quality products has very many benefits for any
company. There is a relationship between sales and quality. Thus Hi-tech company should
consider making quality a top priority in its business strategy. The loyalty, credibility, and
trust that comes from customers brings about repeat sales and positive recommendation about
a product.
16
Automated Migration and Deployment
This the step that follows automated Build. The stage of automating migrations and
deployment activities is usually performed to streamline and increase the chance of
promoting builds which are from development and are passed through testing environments
and later to production (Fujita & Guizzi, 2015).
Test Automation
This happens to be the first step a project takes towards knowing whether the current system
is ready. Automated tests are supposed to be written next to all codes in the systems.
In conclusion, coming up with high-quality products has very many benefits for any
company. There is a relationship between sales and quality. Thus Hi-tech company should
consider making quality a top priority in its business strategy. The loyalty, credibility, and
trust that comes from customers brings about repeat sales and positive recommendation about
a product.
Paraphrase This Document
Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
SOFTWARE QUALITY ENGINEERING
17
References
Abran, A. (2010). Software Metrics and Software Metrology. Piscataway, Wiley.
Averbakh, A. (2015). Light-weight Experience Collection in Distributed Software
Engineering. Berlin, Logos Berlin.
Basu, A. (2015). Software quality assurance, testing, and metrics. [Place of publication not
identified], Prentice-Hall Of India.
Black, R. (2011). Pragmatic Software Testing: Becoming an Effective and Efficient Test
Professional. Chichester, John Wiley & Sons
Desai, A. (2016). Software testing: [S.l.], Phi Learning.
Fricker, S. A., & Schneider, K. (2015). Requirements Engineering: Foundation for Software
Quality 21st International Working Conference, REFSQ 2015, Essen, Germany, March 23-
26, 2015. Proceeding
Fujita, H., & Guizzi, G. (2015). Intelligent Software Methodologies, Tools, and Techniques
14th International Conference, SoMet 2015, Naples, Italy, September 15-17, 2015.
Proceedings.
Graham, D., & Fewster, M. (2012). Experiences of test automation: case studies of software
test automation. Upper Saddle River, NJ, Addison-Wesley
Gregory, J., & Crispin, L. (2015). More agile testing learning journeys for the whole team.
Upper Saddle River, NJ, Addison-Wesley.
Hall, D. (2013). Ansible Configuration Management. Birmingham, Packt Publishing.
17
References
Abran, A. (2010). Software Metrics and Software Metrology. Piscataway, Wiley.
Averbakh, A. (2015). Light-weight Experience Collection in Distributed Software
Engineering. Berlin, Logos Berlin.
Basu, A. (2015). Software quality assurance, testing, and metrics. [Place of publication not
identified], Prentice-Hall Of India.
Black, R. (2011). Pragmatic Software Testing: Becoming an Effective and Efficient Test
Professional. Chichester, John Wiley & Sons
Desai, A. (2016). Software testing: [S.l.], Phi Learning.
Fricker, S. A., & Schneider, K. (2015). Requirements Engineering: Foundation for Software
Quality 21st International Working Conference, REFSQ 2015, Essen, Germany, March 23-
26, 2015. Proceeding
Fujita, H., & Guizzi, G. (2015). Intelligent Software Methodologies, Tools, and Techniques
14th International Conference, SoMet 2015, Naples, Italy, September 15-17, 2015.
Proceedings.
Graham, D., & Fewster, M. (2012). Experiences of test automation: case studies of software
test automation. Upper Saddle River, NJ, Addison-Wesley
Gregory, J., & Crispin, L. (2015). More agile testing learning journeys for the whole team.
Upper Saddle River, NJ, Addison-Wesley.
Hall, D. (2013). Ansible Configuration Management. Birmingham, Packt Publishing.
SOFTWARE QUALITY ENGINEERING
18
Halt, T. (2015). Handbook of software engineering. [Place of publication not identified],
Clanrye Intl.
Hanmer, R. (2012). Pattern-Oriented Software Architecture For Dummies. New York,
Wiley.
Horine, G. (2012). Absolute beginner's guide to SOFTWARE project management.
Indianapolis, Ind, Que.
Homs, B. (2013). Fundamentals of Software Testing. London, Wiley
Hasnida Hamzah. (2013). Software configuration management tools. Kuantan, Pahang, UMP.
Loope, J. (2011). Managing system infrastructure with Puppet. Sebastopol, CA, O'Reilly.
Mohr, J. J., Mohr S., & Slater, S. F. (2010). Marketing of high-technology products and
innovations. Upper Saddle River, N.J., Prentice Hall.
. Naik, S., & Tripathy, P. (2011). Software Testing and Quality Assurance Theory and
Practice. New York, NY,
Pressman, R. S. (2010). Software engineering: a practitioner's approach. New York,
McGraw-Hill Higher Education.
Rhett, J. (2015). Learning Puppet 4: a Guide to Configuration Management and Automation.
Sebastopol, O'Reilly Media Inc
Staron, M. (2017). Automotive Software Architectures an Introduction. Cham, Springer.
Schmidt, C. (2016). Agile Software Development Teams. Cham, Springer International
18
Halt, T. (2015). Handbook of software engineering. [Place of publication not identified],
Clanrye Intl.
Hanmer, R. (2012). Pattern-Oriented Software Architecture For Dummies. New York,
Wiley.
Horine, G. (2012). Absolute beginner's guide to SOFTWARE project management.
Indianapolis, Ind, Que.
Homs, B. (2013). Fundamentals of Software Testing. London, Wiley
Hasnida Hamzah. (2013). Software configuration management tools. Kuantan, Pahang, UMP.
Loope, J. (2011). Managing system infrastructure with Puppet. Sebastopol, CA, O'Reilly.
Mohr, J. J., Mohr S., & Slater, S. F. (2010). Marketing of high-technology products and
innovations. Upper Saddle River, N.J., Prentice Hall.
. Naik, S., & Tripathy, P. (2011). Software Testing and Quality Assurance Theory and
Practice. New York, NY,
Pressman, R. S. (2010). Software engineering: a practitioner's approach. New York,
McGraw-Hill Higher Education.
Rhett, J. (2015). Learning Puppet 4: a Guide to Configuration Management and Automation.
Sebastopol, O'Reilly Media Inc
Staron, M. (2017). Automotive Software Architectures an Introduction. Cham, Springer.
Schmidt, C. (2016). Agile Software Development Teams. Cham, Springer International
SOFTWARE QUALITY ENGINEERING
19
Stephens, R. (2015). Beginning Software Engineering. Hoboken, Wiley.
Sommerville, I. (2015). Software Engineering, Global Edition. Harlow, Pearson Education
19
Stephens, R. (2015). Beginning Software Engineering. Hoboken, Wiley.
Sommerville, I. (2015). Software Engineering, Global Edition. Harlow, Pearson Education
Secure Best Marks with AI Grader
Need help grading? Try our AI Grader for instant feedback on your assignments.
SOFTWARE QUALITY ENGINEERING
20
APPENDICES
Appendix I: Introduction Letter
Students Name
Institution Affiliation
11th July 2018
Dear Sir/ Madam,
Re: Request for Information
I am a student pursuing software Engineering. I am humbly requesting for your assistance in
the provision of data necessary in a drawing report and conclusion on my research topic
about software engineering for Hi-tech corp. I promise to uphold the confidentiality of the
information provided by all my respondents.
Thankyou
Students Name
20
APPENDICES
Appendix I: Introduction Letter
Students Name
Institution Affiliation
11th July 2018
Dear Sir/ Madam,
Re: Request for Information
I am a student pursuing software Engineering. I am humbly requesting for your assistance in
the provision of data necessary in a drawing report and conclusion on my research topic
about software engineering for Hi-tech corp. I promise to uphold the confidentiality of the
information provided by all my respondents.
Thankyou
Students Name
SOFTWARE QUALITY ENGINEERING
21
Appendix II: Questionnaires
The information you provide in the questionnaire will be treated with a lot of confidentiality
and will only be used for research purposes only. Please do not write your name on the
questionnaire. Be as objective as possible and complete it honestly. Answer by putting a tick
(√) against the most appropriate answer or fill the blank spaces.
NB: Some questions may have more than one answer. a) Questionnaires for the de elopers/
software engineers/ quality assurance part I: General Information
1. State your Gender a) Male [ ] b) Female [ ]
2. What is your experience in Hi-tech corporations a) Less than two years [ ] b) 3 – 7 years [
] c) 8 - 11 Years [ ] d) More than 11 Years [ ]
3. State your age bracket a) 18-30 years [ ] b) 31-40 years [ ] c) 41 -50 years [ ] d) 51 -
60 years [ ]
4. Education level of system developers) KCPE [ ] b) KCSE [ ] c) Certificate Holder [ ] d)
Diploma Holder [ ] e) Degree Holder [ ] Other (specify)
…………………………………………………………………………
Part I1: QUESTIONNAIRE FOR HI-TECH COMPANIES
5. Software engineering systems. a) Does the automation testing strategy effective in ensuring
product quality in Hi-Tech companies? Strongly agree [ ] Agree [ ] Neutral [ ] Disagree [
] strongly disagree [ ]
b) If yes by how is it effective?
21
Appendix II: Questionnaires
The information you provide in the questionnaire will be treated with a lot of confidentiality
and will only be used for research purposes only. Please do not write your name on the
questionnaire. Be as objective as possible and complete it honestly. Answer by putting a tick
(√) against the most appropriate answer or fill the blank spaces.
NB: Some questions may have more than one answer. a) Questionnaires for the de elopers/
software engineers/ quality assurance part I: General Information
1. State your Gender a) Male [ ] b) Female [ ]
2. What is your experience in Hi-tech corporations a) Less than two years [ ] b) 3 – 7 years [
] c) 8 - 11 Years [ ] d) More than 11 Years [ ]
3. State your age bracket a) 18-30 years [ ] b) 31-40 years [ ] c) 41 -50 years [ ] d) 51 -
60 years [ ]
4. Education level of system developers) KCPE [ ] b) KCSE [ ] c) Certificate Holder [ ] d)
Diploma Holder [ ] e) Degree Holder [ ] Other (specify)
…………………………………………………………………………
Part I1: QUESTIONNAIRE FOR HI-TECH COMPANIES
5. Software engineering systems. a) Does the automation testing strategy effective in ensuring
product quality in Hi-Tech companies? Strongly agree [ ] Agree [ ] Neutral [ ] Disagree [
] strongly disagree [ ]
b) If yes by how is it effective?
SOFTWARE QUALITY ENGINEERING
22
c) Does the automation testing strategy help to reduce costs inured by the company when
developing the product? a Strongly Agree [ ] Agree [ ] Neutral [ ] Disagree [ ] Strongly
disagree[ ]
d) If yes by how?
e) Can you say that automation testing strategy may contribute to the improved profitability
of the Hi-Tech Company? Strongly agree [ ] Agree [ ] Neutral [ ] Disagree [ ] strongly
disagree [ ]
f) If yes by how much?
6. Software quality Metrics a) Do you think that the current software quality metrics being
used by most of the Corp are effective?? Yes [ ] No [ ].
b) Does the software quality metrics have any relationship with the end product? Strongly
agree [ ] Agree [ ] Neutral [ ] Disagree [ ] strongly disagree [ ]
c) If yes, state how does software quality metrics relate to the end product?
…………………………………………………………………………..
7. Software configuration management a) Do you think agile configuration management is
the best for Hi-Tech companies? Yes [ ] No [ ].
b) Is the Agile configuration management reliable when it comes to producing quality
products to customers? Strongly agree [ ] Agree [ ] Neutral [ ] Disagree [ ] strongly
disagree [ ].
c) Is the Agile configuration management costly as compared to others? Strongly agree [ ]
Agree [ ] Neutral [ ] Disagree [ ] strongly disagree [ ].
22
c) Does the automation testing strategy help to reduce costs inured by the company when
developing the product? a Strongly Agree [ ] Agree [ ] Neutral [ ] Disagree [ ] Strongly
disagree[ ]
d) If yes by how?
e) Can you say that automation testing strategy may contribute to the improved profitability
of the Hi-Tech Company? Strongly agree [ ] Agree [ ] Neutral [ ] Disagree [ ] strongly
disagree [ ]
f) If yes by how much?
6. Software quality Metrics a) Do you think that the current software quality metrics being
used by most of the Corp are effective?? Yes [ ] No [ ].
b) Does the software quality metrics have any relationship with the end product? Strongly
agree [ ] Agree [ ] Neutral [ ] Disagree [ ] strongly disagree [ ]
c) If yes, state how does software quality metrics relate to the end product?
…………………………………………………………………………..
7. Software configuration management a) Do you think agile configuration management is
the best for Hi-Tech companies? Yes [ ] No [ ].
b) Is the Agile configuration management reliable when it comes to producing quality
products to customers? Strongly agree [ ] Agree [ ] Neutral [ ] Disagree [ ] strongly
disagree [ ].
c) Is the Agile configuration management costly as compared to others? Strongly agree [ ]
Agree [ ] Neutral [ ] Disagree [ ] strongly disagree [ ].
Paraphrase This Document
Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
SOFTWARE QUALITY ENGINEERING
23
d) If yes, state how the costs compare to revenues
expected…………………………………………………………………………………
23
d) If yes, state how the costs compare to revenues
expected…………………………………………………………………………………
1 out of 23
Related Documents
Your All-in-One AI-Powered Toolkit for Academic Success.
+13062052269
info@desklib.com
Available 24*7 on WhatsApp / Email
Unlock your academic potential
© 2024 | Zucol Services PVT LTD | All rights reserved.