Sample Project Proposal Paper on Shift Left in Quality Assurance

Abstract

Software engineering has become one of the most debated and important filed in the
modern world. This is due to the service and capabilities that it has awarded economies and
promises to continue bettering service delivery. The complexity of modern software and purpose
has demanded call for attention in its quality. Therefore, improved methods have become
popular and among them is shift left method. It is the believe of this paper that the approach will
solve underlying quality issues due to its competitiveness. This is the approach that is discussed

in this paper to highlight on its potential, capabilities and expectations.

Shift Left in Quality Assurance 3

Introduction

Software engineering is a broad field that is responsible for delivering software to the
end-user. This is accomplished by following set precedence of stages that ensure the highest
quality of software. Among the most significant step that ensures quality is guaranteed is
software testing or Quality Assurance (QA). According to Ameen (2007), QA is the method
used to prevent faults and mistakes in a manufactured product to avoid bad occurrences when
availing products to end-users. The process of QA is also defined by ISO 9000 as a component
of quality management that aims at guaranteeing quality of the product. Due to the emergence
and re-emergence of cutting-edge technologies and stiff requirements, QA has shifted to smarter
solutions due to the increased complexity of applications such as IoT and driverless cars and
associated speed requirements.
Lean Software Development (LSD) is an agile approach in software development that
aims at optimizing development resources, eliminate waste, and deliver a high-quality end
product. The method as explained by Justin (2015), is also referred to as the Minimum Viable
Product (MVP) strategy, where the process advocates for the release of a bare-minimum version
of the product in order to get users precise requirements and iterate on the process of
development using those feedbacks.
Consequently, Eigner et al. (2014) define the system lifecycle as a system as a way of
visualizing the proposed approach in phases that will be used to address requirements from the
conception phase to phase-out and disposal. In this case, modern methods have been adopted that
increase the efficiency of the traditional waterfall and other lifecycle processes. In this, the
industry has opted to apply the shift-left testing approach in the Systems Engineering Life Cycle
(SELC) process. Therefore, there is an increased need for guaranteeing quality through testing at

Shift Left in Quality Assurance 4
lowered cost (LSD). Usage of agile and DevOps methodologies for development has come in
hardy in solving these challenges. At the same time, there are various existing infrastructures and
standards that work to enforce quality by ensuring customer satisfaction.
According to Jiménez et al. (2018), the word shift left in software development means to
practice in the software development lifecycle, which forces the teams involved to focus on
quality and endeavor to prevent problems as compared to detection. Therefore, the shift-left
approach involves early testing to increase quality and optimize resource usage by eliminating
chances of bad surprises at the final stages of the development cycle. The two critical DevOps
practices that are required in this case is continuous testing and continuous deployment. In this
case, testing becomes automated, and test cases are run early and more often using virtualized
systems to act on behalf of unavailable services.

Shift Left in Quality Assurance 5
Sample diagram of Continuous Testing: Source(https://insights.sei.cmu.edu/)

Consequently, by embarking on continuous deployment, provisioning of new parts is
automated to enable continuous testing. The whole purpose of these approaches, tools, and
techniques is to improve developer’s productivity through guaranteed quality and avoiding cases
of redoing complex work and sometimes repeating an entire system due to issues such as
architectural and design problems. Therefore, Continuous Integration and Continuous Delivery
(CI/CD) framework ensure the following metrics are addressed:

1. Lead time is a measure of time between the definition of a new product and the time it is
made the user as a measure of productivity.
2. Meantime to repair (MTTR) is a measure of the speed at which fixes can be deployed
to customer product which also measures productivity,
3. Code coverage which means the amount of code measured in LOC that is covered by a
unit test.
4. Bug rates measure the quality of the product by calculating the average number of bugs
on the new features.

These are some of the measures used among others like
1. CPU/memory utilization
2. Response times
3. Garbage collection
4. Thread counts
5. Error count
6. Transactions
7. Disk space

Shift Left in Quality Assurance 6
The outcomes of the approach are reduced defects on the left at the rate of defect case ratio's
DTCR of <5% at the end of testing due to inclusivity and end-user participation along the
process. At the end of the process, much money is saved as compared to budget overruns of up to
150% that were being witnessed at the initial stages that did not employ these advanced
technologies. Therefore, companies can improve their Planning Fidelity Trend for business and
technology sustenance. The resultant effects are a highly predictable QA organization with
continuous improvements, commercial benefits, and innovations. This will enable the
organization to align itself with emerging business trends, defined Service Levels, and cost
optimization best practices.

Shift Left in Quality Assurance 7

Sample Development process: source (https://devops.com)

Telemetry and Patterns

Among them is the AEF that avails a Database, which ensures that customer
requirements are satisfied for high-quality systems. Information provided in the databases as a
guide to customers in buying software products due to its credibility. The automated tool ensures
that errors and deviations from the required standard are detailed and offer a solution to the
problem. This is an example of modern tools that make testing easier, which use Telemetry. In
this case, data is collected in real-time from the process of their consequent automatic
transmission for analysis and taking action. Usage of standards allows the building of a
performance culture that is guided by measured view performance indicators using a balanced
scorecard of metrics to determine the productivity and quality of the end product. At the same
time, these standards make it possible to increase the value chain through continuous
improvement of the process and platform. Regarding this, it is an enabling factor in the delivery
of high-quality software solutions through the standardization of testing methods, processes,
procedures, and tools using the metrics-based approach.
Therefore, with increased productivity, it is possible to leverage our strategic assets by
having to customize our quality approaches to align them to new platforms. Consequently,
because each phase has guaranteed quality, it is easier to follow the best developer onboarding
process as every developer is required to produce specific outputs that will not require re-testing
as it is conducted at the same time with the development team.
Capability

Shift Left in Quality Assurance 8
Modern techniques require understanding and compliance. This has been reinforced with
the need to go for retraining to develop the best skill. As such, only the best team members who
have advanced skills are capable of working with these new environments. Consequently, the
field requires individuals who are certified as professionals and recognized through badges and
after attaining the specialized training. Therefore, the technique requires these experts to work as
agile teams in an attempt to apply the shift left to ensure quality in the end product. As depicted
by GÜN 2020), the approach uses metrics that enable the project manager to be able to measure
the productivity of every team member in terms of output, which includes lead time, among
others.
Due to the level of skills required and the maturity stage of the approach, it requires
working with customers and partners in order to be able to deliver on requirements and also to
tap on offshore skills through the interaction period. This may be due to the fact that cultures are
different, and knowledge of cultures brings a common understanding. Subsequently, resources
are shared, which lowers the cost of operation and increases revenue generation capacity.

QA orchestration in Agile

Therefore, the shift-left has transformed the way software has been developed and ensure
that the development process goes together with testing to embed quality in each phase. As such,
it is required that the environment engineer's quality guidelines (QE) guide on requirements and
milestones for the agile team working together. These guidelines will be the reference point in
every project and phase to ensure consistency and reliability of the product as per the user and
implementation constraints. This, therefore, will uplift the rate of system acceptance and overall
adaptability of the engineering capabilities and lead to reduced cost of engineering works by
having efficient methods that can be readily used for estimations. This leads to an optimized

Shift Left in Quality Assurance 9
operating model to better deliver Quality Engineering services. Similarly, the approach of
incorporating testing tools alongside development elevates quality processes by having custom
QA dashboards that are employed in the platform to enable informed decisions. This is due to the
availability of a detailed explanation of weak points and ways of fixing them.

Automation as a Platform

Due to the availability of standards and reusable procedures of engineering and testing,
the entire process of QC can be put in an automated platform for ease of implementation.
Consequently, the entire lifecycle is implemented in an automated fashion with the ability to
determine when a phase is complete as per the customized requirements that are created from
experience. According to Durre, Menne & Vose (2008), excellent automation is critical in the
creation of coherent QA and test strategy across teams and delivers quality quickly while
optimizing the usage of test assets.
This can be implemented using web-based platforms that are accessible anywhere to ensure the
agile team uses similar processes to obtain the required product.
In these scenarios, due to the nature of the process, the platform has capabilities to
determine when a phase is complete and without human interferences, guide the agile team to
proceed to the next step to save time, and lower cost, ensuring quality is observed. Consequently,
due to varying needs and capacities at every phase, the platform has capabilities to load the
required framework and tools for every stage, and this lowers the turn around the time
significantly and enables the agile team to concentrate on core activities. Therefore, there needs
to be an automatic way of detecting code lines to determine where each code functionality end
and the beginning of the other functionality.

Shift Left in Quality Assurance 10

Smart testing powered by AI/ML

Smart testing is a way of speeding the test phase through adjustments of the execution
plan to receive feedback faster. According to Bulwahn (2012), automation is the platform that
allows smart testing to be conducted using AI/ML. In the development environment, specific
approaches can be used to enable and facilitate the process. Usage of Prescriptive & Predictive
Analytics in the development phase allows automation of the automation. This is enabled by the
fact that the platform is able to determine the problem and avail solutions that the platform can
implement. This is accomplished using AI to facilitate decision making in the automated
environment to increase the speed and efficiency of the end product. The solution, therefore, is
created on the foundation of machine learning, which allows the accumulation of knowledge
from previous development experiences to offer solutions by choosing the most suitable answer.
Then, AI is employed to give the best testing experiences to create a domain QE advisor. The
outcome is a Bot that always runs to monitor levels and updates triggers to act. The output of the
process is guaranteed through the health reports that are generated by the platform informing of
any shortcoming, and there is none, then, there is a clean bill of health, meaning the product
conforms to the set standards and meets requirements.
In this case, this is enabled through customization and ensuring proper system setup and
inclusion of all Key Metrics. Consequently, the entire process is facilitated through continuous
data collection for monitoring purposes of allowing triggering of the nest process and stage.
Subsequently, the platform requires Performance Testing, which is achieved through the self-
generated health reports that inform of the level of conformance and efficiency of the platform in
which the measure of the project performance is gauged. Usage of direct valuation Software

Shift Left in Quality Assurance 11
(DVS) is key to enabling Continuous validation and embed new quality. As such, these platforms
operate as DVS in that they have capabilities to validate the process and, therefore, the product.

Knowledge Networks/Communities of Practice

Due to the availability of databases and web-based application interaction, it therefore
possible to create and share experiences to improve performance. It also enables a comparison of
practices to allow improvements to and adoption of superior telemetric capabilities that are
realized through cooperation and liaison. Therefore, the automation of the platform and usage of
AI and ML in Telemetry is capable of delivering high-level information in real-time is valuable
in determining the release of products into the market based on need. This is a good point of
improved quality outcomes by leveraging in-depth business knowledge and technology
landscape.

Workforce Transformation

The result of the new approach requires a change of mindset of developers and testers.
The new environment enables testing to proceed immediately with development efforts.
Therefore, the context requires configurations to allow both processes to continue and also forces
a change of approach and attitude by the agile team through the help of a Certified Quality
Auditor (CQA). This enables a broader adoption through a change of plan from capability due to
the availability of many tools to a platform with a comprehensive and connected smart
workspace.

Results

According to Müller & Gallego (2019), the approach accelerates the modernization of
development tools. It puts in place aggressive targets delivered, which are ensured with the

Shift Left in Quality Assurance 12
highest level of transparency due to automation and user involvement at all stages while using
the agile approach. The later is guaranteed through early and continuous validation to assure
quality at every phase. Therefore, requirements are improved through system Testing
effectiveness to increases Quality Index and ensure that higher levels of the cycle conform to
most senior levels of standards. As such, it is possible to measure progress and improve on
challenges through the use of automated test preparation that employs AI to optimize test cases
that ensures low cycle times. It is arguing that the setup can allow the automation of the lifecycle
form to start to end with minimal user interference, and this increases the chances of defect
detection if any has been introduced.

Shift Left in Quality Assurance 13

References

Ameen, K. (2007, August). Issues of quality assurance (QA) in LIS higher education in Pakistan.
In World Library and Information Congress (pp. 19-23).
Bulwahn, L. (2012, March). Smart testing of functional programs in Isabelle. In International
Conference on Logic for Programming Artificial Intelligence and Reasoning (pp. 153-
167). Springer, Berlin, Heidelberg.
Durre, I., Menne, M. J., & Vose, R. S. (2008). Strategies for Evaluating Quality Assurance
Procedures. Journal of Applied Meteorology & Climatology, 47(6), 1785–1791.
https://doi-org.ezproxy.ivc.edu/10.1175/2007JAMC1706.1
Eigner, M., Dickopf, T., Apostolov, H., Schaefer, P., Faißt, K. G., & Keßler, A. (2014, July).
System lifecycle management: Initial approach for a sustainable product development
process based on methods of model-based systems engineering. In IFIP International
Conference on Product Lifecycle Management (pp. 287-300). Springer, Berlin,
Heidelberg.
GÜN, Ö., KUMRU, P. Y., & ALADAĞ, Z. (2020). Developing a Model for Measuring Project
Performance with Software Life Cycle Process Metrics and Calculating Project Success
Score. Sakarya University Journal of Science, 24(3), 536–554. https://doi-
org.ezproxy.ivc.edu/10.16984/saufenbilder.649588.
Jiménez, M., Rivera, L. F., Villegas, N. M., Tamura, G., Müller, H. A., & Gallego, P. (2018,
March). DevOps’ Shift-Left in Practice: An Industrial Case of Application.
In International Workshop on Software Engineering Aspects of Continuous Development

Shift Left in Quality Assurance 14
and New Paradigms of Software Production and Deployment (pp. 205-220). Springer,
Cham.
Justin, L. (2015). How to Become the CEO of You. Review of Optometry, 28.
Müller, H. A., & Gallego, P. (2019, January). DevOps’ Shift-Left in Practice: An Industrial Case
of Application. In Software Engineering Aspects of Continuous Development and New
Paradigms of Software Production and Deployment: First International Workshop,
DEVOPS 2018, Chateau de Villebrumier, France, March 5-6, 2018, Revised