Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
SYSTEM AND METHOD FOR QUALITY ASSESSMENT OF A PRODUCT
Document Type and Number:
WIPO Patent Application WO/2020/121075
Kind Code:
A1
Abstract:
A system and method for quality assessment of a product is disclosed. The model incorporates a fitness function unit 108, a granularity unit 110, a pipeline quality unit 112, and a defect attribute unit 114. It assesses the overall quality of a product development process by following the steps as described in the method. The system and method assess the quality of the build pipeline by the pipeline quality unit 112. The system and method also protect the overall system and process from threats and vulnerabilities.

Inventors:
CHERIYAN ANISH (IN)
GONDKAR RAJU RAMAKRISHNA (IN)
Application Number:
PCT/IB2019/058223
Publication Date:
June 18, 2020
Filing Date:
September 27, 2019
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
CHERIYAN ANISH (IN)
International Classes:
G06Q10/06; G06F9/44; G06Q50/04
Domestic Patent References:
WO2012115819A12012-08-30
Foreign References:
US20160205990A12016-07-21
Attorney, Agent or Firm:
KHURANA & KHURANA, ADVOCATES & IP ATTORNEYS (IN)
Download PDF:
Claims:
I Claim:

1. A method for assessing quality of a product, said method comprising the steps of:

identifying, at a computing device, fitness function of the product, wherein said fitness function is based on one or more fitness parameters pertaining to the product; fixing, at the computing device, story and requirement documentation of the product at a granular level, said story and requirement documentation associated with a corresponding pre-defined value of the one or more parameter pertaining to the product; assessing, at the computing device, pipeline quality of the product, wherein said pipeline quality pertains to results obtained from one or more test performed on one or more aspects of the pipeline; and

determining, at the computing device, one or more defect attributes present in each of the one or more aspects of the pipeline.

wherein quality of the product is determined to be a function of the fitness function, granularity of story and requirement documentation, pipeline quality and the one or more defect attributes.

2. The method as claimed in claim 1, wherein the method further comprises the step of: determining, at the computing device, a team function from one or more team parameters associated with development of the product, wherein said team function pertains to interdependency of the one or more team parameter

3. The method as claimed in claim 1, wherein the fitness function is based on comparison of a current value of the one or more parameters with the pre-defined value of the one or more parameter pertaining to the product.

4. The method as claimed in claim 1 , wherein the one or more fitness parameters pertaining to the product comprises performance, availability and security of the product.

5. The method as claimed in claim 1 , wherein the method of assessing quality of the product is repeated at a pre-defined interval of time, based on the granular level of story and requirement documentation.

6. The method as claimed in claim 1 , wherein the product development is categorized into one or more inter-dependent components, based on the granular level of story and requirement documentation. 7. The method of as claimed in claim 6, wherein each of the one or more inter-dependent components has a separate continuous integration (Cl) architecture, and wherein said Cl architecture enables regular construction and testing of the product.

8. The method as claimed in claim 1 , wherein the one or more test performed on the one or more aspects of the pipeline is any or a combination of a unit testing, functional testing and a non-functional testing on the pipeline of the product.

9. A system for assessing quality of a product, said system comprising:

one or more processor coupled with a memory, the memory storing instructions executable by the processor to:

identify fitness function of the product, said fitness function pertaining to one or more fitness parameters pertaining to the product;

fix story and requirement documentation of the product at a granular level, said story and requirement documentation associated with a corresponding pre defined value of the one or more parameter pertaining to the product;

assess pipeline quality of the product, wherein said pipeline quality pertains to results obtained from one or more test performed on one or more aspects of the pipeline; and

determine one or more defect attributes present in each of the one or more aspects of the pipeline;

wherein quality of the product is determined to be a function of the fitness function granularity of story and requirement documentation, pipeline quality and the one or more defect attributes.

10. The system as claimed in claim 9, wherein the one or more processors are further configured to: determine a team function from one or more team parameters associated with development of the product, wherein said team function pertains to interdependency of the one or more team parameter.

Description:
SYSTEM AND METHOD FOR QUALITY ASSESSMENT OF A PRODUCT

TECHNICAL FIELD

[1] The present disclosure relates to the field of quality assessment. More particularly, the present disclosure relates to a system and method for quality assessment of a product.

BACKGROUND

[2] The background description includes information that may be useful in understanding the present system. It is not an admission that any of the information provided herein is prior art or relevant to the presently claimed system, or that any publication specifically or implicitly referenced is prior art.

[3] Life cycle is a systematic way of product development used by industries to design, develop and test a product. It consists of a detailed plan describing how to develop, maintain, replace and alter or enhance a specific product. The life cycle defines a methodology for assessing and improving the quality of product and the overall development process of the product. There are various life cycle models like Waterfall, V Process Model, Spiral, Rapid Application Development, Agile, Lean and others.

[4] In traditional life cycle models like Waterfall and V Process Model, the product is developed in a sequential manner where the requirements are first collected through requirement elicitation and further the requirements are documented. Mostly this is done by a business analyst. This is then passed to a designer who does the system architecture and the design. The designer further gives the design to a development team. The development team does the processing and follows the best practices of respective guidelines. The development team also does the unit testing and the integration testing. Once the build (pre-released version of product) is ready, it is given to the test team for testing. Test team completes the test design by the time the build comes for testing.

[5] Agile life cycle model is a combination of iterative and incremental process models with a focus on process adaptability and customer satisfaction by rapid delivery of working product. Agile methods break the product development process into small incremental components. These components are provided in iterations, where each iteration typically lasts for specific time duration. Each iterations involves cross functional teams working simultaneously on various areas like planning, design, coding, unit testing, functional testing and a number of quality checks before final deployment of the product.

[6] Quality assessment comprises of all the key activities performed for assuring the quality of a product. In a typical product development context, right from the idea to the realization of the product, there are activities like requirements and design verification, product review, unit /integration / functional / non-functional testing and many other activities that are done assess the quality of the product. Quality assessment is the sum of all of these activities that gives confidence about the quality of the product. The primary motive of quality assessment is to assess that there is a well-defined process available for doing the product quality activities and ensuring that these processes are followed well through collaboration, review, walk-though and audit systems.

[7] In traditional waterfall life cycle-based development approach of product, there are quality control checkpoints at the end of each phase. Based on the pass/fail criteria at each phase, the next phase level activities are started. However, with advent of agile product development, iterative delivery practice has been the norm. Practices like user story, simple design, extensive automation, continuous integration and management practices like product backlog and iteration-based delivery is widely deployed. In continuous integration mode of product development, as soon as the build is developed, the build is checked-in into the configuration library, the delivery pipeline is triggered, and the product build is ready. The inspection checks related duplicate checking/architecture violation aspects and various kinds of test (unit, integration, functional, nonfunctional testing like performance, reliability, security etc.) are integrated into the pipeline (also referred to as build pipeline, herein)..

[8] Agile product development has drastically changed the way the product is developed. There is more focus towards individuals and interaction over process and tools. Work is given more prominence than excessive documentation. However, the practices used for quality assessment of product have not changed in the same fashion. Various practices for quality assessment still use a checklist-based approach for the audit and the book of knowledge has not changed so much. It is much needed that the quality assessment practices also become in line with the agile Continuous Delivery product development. There is no systematic quality assessment model available to be practiced when a product development process is using continuous integration and continuous delivery. Further, these models cannot check the build pipeline comprehensively, for detecting any vulnerability or threat to the build or product.

[9] There is, therefore, a need to provide a quality assessment model that can be used in product development process. Further, there is a need to assess quality in the build pipeline phase of the product, which checks for product quality, vulnerabilities and threats to the product.

[10] As used in the description herein and throughout the claims that follow, the meaning of “a,”“an,” and“the” includes plural reference unless the context clearly dictates otherwise. Also, as used in the description herein, the meaning of“in” includes“in” and“on” unless the context clearly dictates otherwise.

OBJECTS

[11] A general object of the present disclosure is to provide a quality assessment system and method for a product.

[12] Another object of the present disclosure is to provide a system to perform quality assessment on the build pipeline of the product.

[13] Another object of the present disclosure is to provide a system to perform quality assessment on a product to protect the product from threats and vulnerabilities.

[14] Another object of the present disclosure is to provide a system to perform quality assessment on a product development process employing agile continuous integration and delivery system.

SUMMARY

[15] The present disclosure relates to the field of quality assessment. More particularly, the present disclosure relates to a system and method for quality assessment of a product.

[16] In an aspect, the present disclosure provides a method for assessing quality of a product, said method comprising the steps of: identifying, at a computing device, fitness function of the product, wherein said fitness function is based on one or more fitness parameters pertaining to the product; fixing, at the computing device, story and requirement documentation of the product at a granular level, said story and requirement documentation associated with a corresponding pre-defined value of the one or more parameter pertaining to the product; assessing, at the computing device, pipeline quality of the product, wherein said quality pertains to results obtained from one or more test performed on one or more aspects of the pipeline; and determining, at the computing device, one or more defect attributes present in each of the one or more aspects of the pipeline; wherein quality of the product is determined as a function of the fitness function, granularity of story and requirement documentation, pipeline quality and the one or more defect attributes.

[17] In another aspect, the method may further comprise the steps of determining, at the computing device, a team function from one or more team parameters associated with development of the product, wherein said team function pertains to interdependency of the one or more team parameter.

[18] In another aspect, the fitness function is based on comparison of a current value of the one or more parameters with the pre-defined value of the one or more parameter pertaining to the product.

[19] In an aspect, the one or more fitness parameters pertaining to the product may be performance, availability and security of the product.

[20] In yet another aspect, the disclosed method of assessing quality of the product is performed at a pre-defined interval of time, based on the granular level of story and requirement documentation.

[21] In another aspect, the product development is categorized into one or more inter dependent components, based on the granular level of story and requirement documentation.

[22] In another aspect, each of the one or more inter-dependent components may have a separate continuous integration Cl architecture, further wherein said Cl architecture enables regular construction and testing of the product.

[23] In another aspect, the one or more test performed on the one or more aspects of the pipeline is any or a combination of a unit testing, functional testing and a non -functional testing on the pipeline of the product.

[24] In an aspect, the present disclosure elaborates upon a system for assessing quality of a product, the system comprising one or more processor coupled with a memory, the memory storing instructions executable by the processor to: identify fitness function of the product, said fitness function pertains to one or more fitness parameters pertaining to the product; set the story and requirement documentation of the product at a granular level, said story and requirement documentation associated with a corresponding pre-defined value of the one or more parameter pertaining to the product; asses pipeline quality of the product, wherein said quality pertains to results obtained from one or more test performed on one or more aspects of the pipeline; and determine one or more defect attributes present in each of the one or more aspects of the pipeline; wherein quality of the product is determined as a function of the fitness function, granularity of story and requirement documentation, pipeline quality and the one or more defect attributes.

[25] In another aspect, the one or more processors are further configured to determine a team function from one or more team parameters associated with development of the product, wherein said team function pertains to interdependency of the one or more team parameter.

[26] This summary is provided to introduce simplified concepts of a system for time bound availability check of an entity, which are further described below in the Detailed Description. This summary is not intended to identify key or essential features of the claimed subject matter, nor is it intended for use in determining/limiting the scope of the claimed subject matter.

[27] Within the scope of this application it is expressly envisaged that the various aspects, embodiments, examples and alternatives set out in the preceding paragraphs, in the claims and/or in the following description and drawings, and in particular the individual features thereof, may be taken independently or in any combination. Features described in connection with one embodiment are applicable to all embodiments, unless such features are incompatible.

[28] Various objects, features, aspects and advantages of the present disclosure will become more apparent from the following detailed description of preferred embodiments, along with the accompanying drawing figures in which like numerals represent like features.

BRIEF DESCRIPTION OF DRAWINGS

[29] The accompanying drawings are included to provide a further understanding of the present disclosure and are incorporated in and constitute a part of this specification. The drawings illustrate exemplary embodiments of the present disclosure and, together with the description, serve to explain the principles of the present disclosure.

[30] The diagrams are for illustration only, which thus is not a limitation of the present disclosure, and wherein: [31] FIG. 1 illustrates a module diagram of a quality assessment system for a product, in accordance with an embodiment of the present disclosure.

[32] FIG. 2 illustrates a flow diagram for a quality assessment method for a product, in accordance with an embodiment of the present disclosure.

[33] FIGs. 3A and 3B illustrates an exemplary implementation of the proposed system employed in an agile continuous integration and delivery-quality assessment (ACID-QA) model for software development respectively, in accordance with an embodiment of the present disclosure.

[34] FIG. 4 illustrates a flow diagram for performing an exemplary implementation of the proposed method on a software development process employing ACID-QA model, in accordance with an embodiment of the present disclosure.

[35] FIG. 5 illustrates a quality assurance unit in the build pipeline ACID-QA model, in accordance with an embodiment of the present disclosure.

DETAILED DESCRIPTION

[36] The following is a detailed description of embodiments of the disclosure depicted in the accompanying drawings. The embodiments are in such detail as to clearly communicate the disclosure. However, the amount of detail offered is not intended to limit the anticipated variations of embodiments; on the contrary, the intention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the present disclosure as defined by the appended claims.

[37] In the following description, numerous specific details are set forth in order to provide a thorough understanding of embodiments of the present invention. It will be apparent to one skilled in the art that embodiments of the present invention may be practiced without some of these specific details.

[38] The ensuing description provides exemplary embodiments only, and is not intended to limit the scope, applicability, or configuration of the disclosure. Rather, the ensuing description of the exemplary embodiments will provide those skilled in the art with an enabling description for implementing an exemplary embodiment. It should be understood that various changes may be made in the function and arrangement of elements without departing from the spirit and scope of the disclosure as set forth in the appended claims. [39] Specific details are given in the following description to provide a thorough understanding of the embodiments. However, it will be understood by one of ordinary skill in the art that the embodiments may be practiced without these specific details. For example, circuits, systems, networks, processes, and other components may be shown as components in block diagram form in order not to obscure the embodiments in unnecessary detail. In other instances, well-known circuits, processes, algorithms, structures, and techniques may be shown without unnecessary detail in order to avoid obscuring the embodiments.

[40] Embodiments of the present disclosure may be provided as a computer program product, which may include a machine -readable storage medium tangibly embodying thereon instructions, which may be used to program a computer (or other electronic devices) to perform a process. The term“machine-readable storage medium” or“computer-readable storage medium” includes, but is not limited to, fixed (hard) drives, magnetic tape, floppy diskettes, optical disks, compact disc read-only memories (CD-ROMs), and magneto-optical disks, semiconductor memories, such as ROMs, PROMs, random access memories (RAMs), programmable read-only memories (PROMs), erasable PROMs (EPROMs), electrically erasable PROMs (EEPROMs), flash memory, magnetic or optical cards, or other type of media/machine -readable medium suitable for storing electronic instructions (e.g., computer programming code, such as software or firmware).A machine -readable medium may include a non-transitory medium in which data may be stored and that does not include carrier waves and/or transitory electronic signals propagating wirelessly or over wired connections. Examples of a non-transitory medium may include, but are not limited to, a magnetic disk or tape, optical storage media such as compact disk (CD) or digital versatile disk (DVD), flash memory, memory or memory devices. A computer -program product may include code and/or machine-executable instructions that may represent a procedure, a function, a subprogram, a program, a routine, a subroutine, a module, a software package, a class, or any combination of instructions, data structures, or program statements. A code segment may be coupled to another code segment or a hardware circuit by passing and/or receiving information, data, arguments, parameters, or memory contents. Information, arguments, parameters, data, etc. may be passed, forwarded, or transmitted via any suitable means including memory sharing, message passing, token passing, network transmission, etc.

[41] Furthermore, embodiments may be implemented by hardware, software, firmware, middleware, microcode, hardware description languages, or any combination thereof. When implemented in software, firmware, middleware or microcode, the program code or code segments to perform the necessary tasks (e.g., a computer-program product) may be stored in a machine-readable medium. A processor(s) may perform the necessary tasks.

[42] Systems depicted in some of the figures may be provided in various configurations. In some embodiments, the systems may be configured as a distributed system where one or more components of the system are distributed across one or more networks in a cloud computing system.

[43] All methods described herein can be performed in any suitable order unless otherwise indicated herein or otherwise clearly contradicted by context. The use of any and all examples, or exemplary language (e.g.“such as”) provided with respect to certain embodiments herein is intended merely to better illuminate the system and does not pose a limitation on the scope of the system otherwise claimed. No language in the specification should be construed as indicating any non-claimed element essential to the practice of the system.

[44] Various terms as used herein are shown below. To the extent a term used in a claim is not defined below, it should be given the broadest definition persons in the pertinent art have given that term as reflected in printed publications and issued patents at the time of filing.

[45] The present disclosure relates to the field of quality assessment. More particularly, the present disclosure relates to a system and method for quality assessment of a product.

[46] Aspects of the present disclosure provides a method for assessing quality of a product, said method comprising the steps of: identifying, at a computing device, fitness function of the product, wherein said fitness function is based on one or more fitness parameters pertaining to the product; fixing, at the computing device, story and requirement documentation of the product at a granular level, said story and requirement documentation associated with a corresponding pre-defined value of the one or more parameter pertaining to the product; assessing, at the computing device, pipeline quality of the product, wherein said quality pertains to results obtained from one or more test performed on one or more aspects of the pipeline; and determining, at the computing device, one or more defect attributes present in each of the one or more aspects of the pipeline; wherein quality of the product is determined as a function of the fitness function, granularity of story and requirement documentation, pipeline quality and the one or more defect attributes. [47] In an aspect, the method can further comprise the step of determining, at the computing device, a team function from one or more team parameters associated with development of the product, wherein said team function pertains to interdependency of the one or more team parameter.

[48] In an aspect, the fitness function is based on comparison of a current value of the one or more parameters with the pre-defined value of the one or more parameter pertaining to the product.

[49] In an embodiment, the one or more fitness parameters pertaining to the product can be performance, availability and security of the product, but not limited to the likes.

[50] In an aspect, the method of assessing quality of the product is performed at a pre defined interval of time, based on the granular level of story and requirement documentation.

[51] In an aspect, the product development is categorized into one or more inter dependent components, based on the granular level of story and requirement documentation.

[52] In an aspect, each of the one or more inter-dependent components can have separate continuous integration (Cl) architecture, further wherein said Cl architecture enables regular construction and testing of the product.

[53] In an embodiment, wherein the one or more test performed on the one or more aspects of the pipeline is any or a combination of a unit testing, functional testing and a non functional testing on the pipeline of the product.

[54] Another aspect of the present disclosure provides a system for assessing quality of a product, the system comprising one or more processor coupled with a memory, the memory storing instructions executable by the processor to: identify fitness function of the product, said fitness function pertains to one or more fitness parameters pertaining to the product; set the story and requirement documentation of the product at a granular level, said story and requirement documentation associated with a corresponding pre-defined value of the one or more parameter pertaining to the product; asses pipeline quality of the product, wherein said quality pertains to results obtained from one or more test performed on one or more aspects of the pipeline; and determine one or more defect attributes present in each of the one or more aspects of the pipeline; wherein quality of the product is determined as a function of the fitness function, granularity of story and requirement documentation, pipeline quality and the one or more defect attributes. [55] FIG. 1 illustrates architecture of a quality assessment system for a product in accordance with an embodiment of the present disclosure.

[56] In an aspect, the disclosed quality assessment system 100(also referred to as the system 100, herein) comprises one or more processor(s), collectively referred to as processor(s)102. The processor(s) 102 are implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, logic circuitries, and/or any devices that manipulate data based on operational instructions. Among other capabilities, the processor(s) 102 are configured to fetch and execute computer -readable instructions stored in a memory 104 of the system 100. The processor(s) 102 is operatively coupled to the memory 104, the memory 104 storing instructions executable by the processor(s)102 to perform quality assessment on a product.

[57] The data base 116 comprise data that is either stored or generated as a result of functionalities implemented by any of the components of the processing unit 106.

[58] In an exemplary embodiment, the memory 104 stores one or more computer- readable instructions or routines, this may be fetched and executed to perform the quality assessment on the product.

[59] In an exemplary embodiment, the memory 104may comprise any non-transitory storage device including, for example, volatile memory such as RAM, or non-volatile memory such as EPROM, flash memory, and the like.

[60] In an aspect, the processor(s) 102 coupled with the memory 104 operates a processing unit 106 to fetch one or more computer-readable instructions or routines and perform the quality assessment on the product.

[61] In an aspect, the processing unit 106 comprises a fitness function unit 108, a granularity unit 110, a pipeline quality unit 112, and a defect attribute unit 114.

[62] In an aspect, the fitness function unit 108 can identify fitness function of the product. These fitness functions pertain to one or more fitness parameters pertaining to the product. The one or more fitness parameter can be performance, availability and security of the product, but not limited to the likes.

[63] In an aspect, the granularity unit 110 enables fixing the story and requirement documentation of the product at granular level. The granularity unit enables quality assessment on the product at a pre-defined interval of time. [64] The story and requirement documentation are descriptions of functionality of the product and how the product should act.

[65] In an aspect, the pipeline quality unit 112 assesses pipeline quality of the product, wherein said quality pertains to test case results obtained from one or more test performed on the one or more aspects of the pipeline.

[66] In an embodiment, the one or more test performed on the pipeline by the pipeline quality unit 112 can be a combination or one of a unit testing, functional testing and non functional testing.

[67] The unit testing can test the individual components of the pipeline to check if each component of the product performs as designed or not.

[68] The functional testing can test whole pipeline at a time to ensure that it conforms to all requirements.

[69] The non-functional testing (also referred to as‘ities’ testing) includes assessing the performance, usability, reliability, etc. of the pipeline.

[70] In an aspect, the defect attribute unit 114 can determine one or more defect attributes present in each of the one or more aspects of the pipeline.

[71] In an embodiment, the one or more defect attributes can be determined by assessing test case results obtained from the unit testing, functional testing and non-functional testing performed on the one or more aspects of the pipeline.

[72] FIG. 2 illustrates a flow diagram for performing the disclosed method in accordance with an embodiment of the present disclosure.

[73] In an aspect, the disclosed method for implementing quality assessment on a product start with a step 202 of identifying fitness functions of the product. The fitness function unit 108 (as elaborated in FIG. 1) identifies the fitness function based on the one or more fitness parameters of the product

[74] In an aspect, once the fitness functions are identified, the method can include a step 204 of fixing story and requirement documentation of the product at granular level. The story and requirement documentation are set at granular level by the granularity unit 110 (as elaborated in FIG.l). [75] In an aspect, the method can include a step 206 of assessing pipeline quality of the product. The pipeline or build pipeline of the product is assessed by the pipeline quality unit 112 (as elaborated in FIG. 1).

[76] In an aspect, the method can include a step 208 of determining one or more defect attributes present in each of the one or more aspects of the pipeline. The one or more defect attributes present in each of the one or more aspects of the pipeline is determined by the defect attribute unit 114.

[77] In an embodiment, the step 208 generates results (also referred to as test case results, herein) based on the one or more test performed on the pipeline by the pipeline quality unit 112 as performed in the step 206.

[78] In an embodiment, the method can further include a step 210 of determining a team function from one or more team parameters associated with development of the product.

[79] In an exemplary embodiment, the team function can be training and assessment of the number of teams associated with the product development.

Illustrative Example

[80] FIGs. 3A and 3B illustrates an exemplary implementation of the disclosed system employed in an agile continuous integration and delivery-quality assessment (ACID-QA) model for software development respectively, in accordance with an embodiment of the present disclosure.

[81] According to an embodiment, as illustrated in figures, an ACID-QA model 300 (interchangeably referred to as a model 300) for assessing quality of software development process, the model 300 comprises a fitness function unit 302, a continuous delivery framework unit 304, a quality assurance unit 306 in the build pipeline unit, quantitative and casual analysis unit 308, a learning and development unit 310, and a team culture unit 312 (also referred to as work culture unit 312).

[82] In an aspect, the fitness function unit 302 can identify fitness function, which pertains to one or more fitness parameters needed to be considered to assess quality of the software. The complete planning, monitoring execution of the ACID-QA for software development should be done based on these fitness functions. [83] In an exemplary embodiment, one or more fitness parameters identified by the fitness function unit 302 of ACID-QA model can be any or a combination of performance, availability, security and other related to software development, but not limited by the likes.

[84] In an embodiment, fitness function decides life cycle for software development process. The life cycle of a process is a series of activities conducted to plan and perform the quality assessment of software development process based on the one or more fitness parameters.

[85] For instance, let us suppose performance is a key fitness function for a Big Data product. In this case, the life cycle can be planned considering how the requirement will be documented, the architecture and design in which the performance is further enhanced in the build. Further, in the performance quality assurance, these aspects can be measured, and it can be checked if the system meets the pre-defined value of the one or more parameters pertaining to the software.

[86] In an aspect, the continuous delivery framework unit 304 can facilitate the development and designing of ACID-QA model architecture for the quality assessment of the software development process. Based on the identified fitness function, the ACID-QA model architecture can be categorized into one or more inter-dependent components, where each inter dependent component can have a separate Cl architecture. Further, each Cl architecture can have its own build pipeline.

[87] The continuous delivery framework unit 304 sets the level of story and requirement documentation at a granular level, wherein the the quality assessment of the software can be categorized into one or more inter-dependent components, based on the granular level of story and requirement documentation.

[88] In an exemplary embodiment, the ACID-QA model architecture can consider deployability, modifiability and monitorability factors. Further, the Cl architecture for each inter dependent component can be based on these factors

[89] In an embodiment, the continuous delivery framework unit 304 can facilitate the developer to check the software development process at regular interval using an iterative delivery practice.

[90] The iterative delivery practice is a way of breaking the software development of a large application into smaller ones, which enables repeated designing, development and testing of the codes of the large application in repeated cycles, until a fully functional software application is ready to be deployed.

[91] In an aspect, a quality assurance unit 306 in the build pipeline (also referred to as pipeline, herein) can perform one or more quality checks in the build pipeline of each Cl architecture to ensure safety and quality of the build, wherein the build is a pre-released version of software.

[92] In an aspect, a quantitative and casual analysis unit 308 can help assess the overall quality of the build pipeline and the Cl architecture. Based on the results of the quantitative and causal analysis unit 308, the build pipeline and the Cl architecture can further be designed and assessed.

[93] In an aspect, a learning and development unit 310 and a team culture unit 312 (also referred to as work culture unit 312) can focus on team collaboration and agility where individuals and interactions are provided high importance. There can be high focus towards cooperation between the numbers of teams such as development, test and the operations team.

[94] In an embodiment, the learning and development unit 310 can have a knowledge management system to ensure exchange of knowledge between the numbers of teams. The knowledge management system can further ensure that the knowledge of the number of team is further cross pollinated, put into ACID-QA model.

[95] In an embodiment, the learning and development unit 310 and the team culture unit 312 can include training programs, which can be conducted for the team members of ACID- QA model to increase their efficiency by further training and assessment.

[96] FIG. 4 illustrates a flow diagram for performing an exemplary implementation of the disclosed method on a software development process employing ACID-QA model, in accordance with an embodiment of the present disclosure.

[97] In an aspect, the disclosed method for implementing the ACID-QA model on a software development process starts with a step 402 of identifying one or more fitness function of the ACID-QA model for software development by help of the fitness function unit 302 (as elaborated in FIG. 3).

[98] In an embodiment, the method can include a step 404 of dividing the ACID-QA model architecture into a number of inter-dependent components based on the identified fitness function in the step 402. Each of the inter-dependent components can have their separate Cl architecture. Further, the Cl architecture can have a separate build pipeline.

[99] In an embodiment, the method can include a step 406 for integrating a one or more quality check in the build pipeline of the ACID-QA model recognized by the step 404. The step 406 ensures safety and good quality of the build in the build pipeline. The one or more quality check can be performed by the quality assurance unit 306 (as elaborated in FIG. 3).

[100] In an embodiment, the method can further include a step 408 for performing a quantitative analysis on a build pipeline result after the step 406. The step 408 can analyze the overall quality of the build and further improve the build pipeline and the Cl architecture.

[101] In an embodiment, the step 408 can be followed by a step 410 of performing a casual analysis based on the results of the step 408. The step 410 can further improve the build pipeline and the Cl architecture.

[102] In an embodiment, the method can further incorporate a step 412 of creating a learning and development atmosphere between a number of team involved in the ACID-QA model to ensure exchange of knowledge and increase overall productivity.

[103] FIG. 5 illustrates a quality assurance unit in the build pipeline of an ACID-QA model, in accordance with an illustration of the present disclosure.

[104] According to an embodiment, the quality assurance unit 306 in the build pipeline unit (as discussed in FIG.3 and the step 406 of FIG, 4) comprises a one or more quality check as shown in FIG. 5.

[105] In an embodiment, the quality assurance unit 506 (also referred to as unit 506, herein) can comprise a static code quality tool 502. The static code quality tool 502 examines code of the build to remove the errors in the code without executing the build.

[106] In an exemplary embodiment, the static code quality tool 502 can be Checkstyle, FindBugs, (forJava), Duplicate Code and Useless Code /Dead Code (Ex. Simian), Architecture & Design Monitoring tools likeStructurelOl, JDepend, Fortify, Coverity, KFOCWork, but not limited to the likes.

[107] In an embodiment, the unit 306 can comprise a test quality assurance unit 504 which can be a combination or any one of a unit testing and a functional testing, integrated with a coverage tool to determine the readiness of the build for actual use. [108] The unit testing of the test quality assurance unit 504 can test the individual components of the software to check if each component (test codes) of the software performs as designed or not.

[109] The functional testing of the test quality assurance unit 504 can test whole software at a time to ensure that it conforms to all requirements.

[110] In an embodiment, the unit 306 can comprise a security assurance unit 506-1 and open source unit 506-2 (collectively referred to as the security assurance and open source unit 506).

[111] In an embodiment, the security assurance unit 506-1 can perform a threat modeling analysis on the build pipeline to determine the security risks posed to a product, application, network, or environment, and how attacks can show up. The threat modeling analysis can identify the vulnerabilities and generate one or more security test case results in the build pipeline, the threat modeling analysis ensures that the software is protected and works as required based on the one or more security test case results

[112] The open source unit 506-2 can evaluate the selection of right open source (also referred to as open source software). Open source software is a type of software in which source code of the build is released under a license in which the copyright holder grants users the rights to study, change, and distribute the software to anyone and for any purpose

[113] In an exemplary embodiment, open source selection can be based on various parameters like community credibility (whether the community is active, number of user bases, number of defects), frequency of release of software, but not limited to the likes.

[114] In an embodiment, once the open source is selected, open source unit 506-2, further assess the open source from quality point of view to make any further changes in the selected open source if required.

[115] In an embodiment, test cases can be derived from the security assurance and open source unit 506 based on the open source license compliance perspective, security and vulnerability of build pipeline.

[116] In an exemplary embodiment, test cases for compliance perspective of open source can be derived by various tools like Blackduck and Fossid, but not limited to the likes. [117] In an embodiment, the unit 306 can comprise a configuration quality assurance unit 508 to check if a right rule for configuration of the quality check tools is employed in the build pipeline.

[118] In an embodiment, the unit 506 can comprise a‘ities’ assurance unit 510 (also referred to as non-functional testing 510). It can perform test on the build pipeline to check for non-functional aspects (performance, usability, reliability, etc.) of the software.

[119] In an exemplary embodiment, quality assessment on software development process employing ACID-QA model can be performed by having skills in areas such as domain understanding, inspection quality assurance, architecture readiness & requirement development and planning, test quality assurance, quantitative analysis and infrastructure readiness, but not limited to the likes,

[120] In an embodiment, quality assessment can be performed by having good domain understanding and skills to derive the test cases based on the requirement and accordingly assess the ACID-QA model.

[121] In an embodiment, inspection quality assurance can require understanding of C /Java / C++ rules including PCLint, Findbugs rules in details, but not limited to the likes.

[122] In an embodiment, architecture readiness & requirement development and planning can require knowledge of micro services architecture, architecting for ACID model (which covers aspects like modifability, deployability, monitorability), knowledge on requirements documentation using story and story mapping.

[123] In an embodiment, test quality assurance can require understanding about how coverage in instrumented, reviewing the test code, code and see how coverage is coming, checking from the perspective of test sufficiency when coverage is getting calculated critically.

[124] In an embodiment, quantitative analysis can require statistics knowledge to predict test case recurring failure, recurring coverage issues and recurring static error rule..

[125] In an exemplary embodiment, infrastructure readiness for can require knowledge of code basics and Ansible, and knowledge about Ant/Maven/ Gradle to review the build script quality, but not limited to the likes.

[126] While the foregoing describes various embodiments of the system, other and further embodiments of the system may be devised without departing from the basic scope thereof. The scope of the system is determined by the claims that follow. The system is not limited to the described embodiments, versions or examples, which are included to enable a person having ordinary skill in the art to make and use the system when combined with information and knowledge available to the person having ordinary skill in the art.

[127] Hence, while some embodiments of the present disclosure have been illustrated and described, those are completely exemplary in nature. The disclosure is not limited to the embodiments as elaborated herein only and it would be apparent to those skilled in the art that numerous modifications besides those already described are possible without departing from the inventive concepts herein. All such modifications, changes, variations, substitutions, and equivalents are completely within the scope of the present disclosure. The inventive subject matter, therefore, is not to be restricted except in the spirit of the appended claims.

ADVANTAGES

[128] The present disclosure provides a quality assessing system and method for a product development process.

[129] The present disclosure provides a quality assessment system and method to perform quality check on the build pipeline of the product development.

[130] The present disclosure provides a quality assessment system and method to perform quality assessment on a product to protect the product from threats and vulnerabilities.

[131] The present disclosure provides a quality assessment system and method to perform quality assessment on a product development process employing agile continuous integration and delivery model.