The present invention generally relates to the field of software development. More particularly, the invention relates to automated systems for managing the development and release of software.
Conventional Embedded Systems Development methodologies (SDLC) are Supply Line Delivery model, where products are specified in one station, built/inspected/shipped in another station, and tested in another. The fundamental quality paradigm is Quality evaluation at end of cycle, with very little feedback loop between each station. This is partially due to manual delivery of work products, low level of automation and waterfall Project Management approach. Furthermore, Boundary lines between various types of testing (White box, grey box, verification, qualification, validation, integration) are often blurred with multiple teams duplicating test cases using similar test setups or big gaps in test areas due to cost or expertise overheads. The Quality approach used is quality through testing, instead of built-in quality. If Dev Ops approaches are used, they are only for SW in loop areas and System is often excluded from the loops. Bottom line is that conventional software development and release procedures are not very efficient, and oftentimes there are version control issues as well as other problems that result from the inefficiencies.
An embodiment of the present invention comprises an automated software development and release management system that includes and compounds multiple quality gates along various check points for SW Development, System Testing, Release and Defect Management Branches, making the feedback real time and efficient for every change injected into the system.
Another embodiment of the present invention comprises an automated software development and release management system that includes and compounds multiple quality gates along various check points for SW Development, System Testing, Release and Defect Management Branches, making the feedback real time and efficient for every change injected into the system.
Another embodiment of the present invention comprises an automated software development and release management system that includes and compounds multiple quality gates along various check points for system tester scoped branch, making the feedback real time and efficient for every change injected into the system.
Another embodiment of the present invention comprises an automated software development and release management system that includes and compounds multiple quality gates along various check points for main/release branch, making the feedback real time and efficient for every change injected into the system. This branch will always have the stable and release ready code at any time of software development life cycle.
Another embodiment of the present invention comprises an automated software development and release management system that includes and compounds multiple quality gates along various check points for main/release branch. Pre-release testing is streamlined at every stage before releasing the code.
Another embodiment of the present invention comprises an automated software development and release management system that includes a Dashboard with Key Performance Indicators (KPIs) to monitor progress and measure software quality.
Another embodiment of the present invention comprises an automated software development and release management system that is configured to put members of a software development team in the same place in the development cycle (as opposed to being spread out at various stages), thereby facilitating collaboration between multiple agile teams during the complete software development cycle.
Another embodiment of the present invention comprises an automated software development and release management system that is configured to enable the review of work products (i.e., instead of merely the process).
Another embodiment of the present invention comprises an automated software development and release management system that is configured to provide one or more (and preferably all) of the following: automated system testing, infrastructure as a code, platform design and testing, demarcation of testing areas, test case design review, continuous integration, automated traceability, and software/test cases being provided on the same tool.
While the present invention may be susceptible to embodiment in different forms, there is described herein in detail, a specific embodiment with the understanding that the present disclosure is to be considered an exemplification of the principles of the invention and is not intended to limit the invention to that described herein.
An embodiment of the present invention comprises an automated software development and release management system. The system preferably includes and compounds multiple quality gates along various check points, includes Key Performance Indicators (KPIs) to monitor progress and measure software quality. The system is configured to put members of an agile team in the same place in the development cycle, which allows better and more efficient collaboration. The system is preferably configured to enable the review of work products (i.e., instead of merely the process). The system is preferably configured to provide one or more (and preferably all) of the following: automated system testing, infrastructure as a code, platform design and testing, demarcation of testing areas, test case design review, continuous integration, automated traceability, and software/test cases being provided on the same tool.
The system provides that software is designed, developed, tested, and delivered in an agile, iterative, continuous integration and continuous delivery method using robust, automated tools in pipeline. The system is configured to effectively create workflows as a series of steps (requiring hardware, software, or human interaction) to plan, design, develop, and deploy software on automated Embedded ECUs using software quality metrics as KPIs.
The system provides that initially there is an automated test-case-based feature roll out plan (derived from System Release Plan) where a team of engineers reviews the requirement specifications. Upon finalization of the specifications (aftermath of review activity), the team creates a test plan and tests cases based upon the specifications using test case generation tools. The team checks in those test cases on a database server (see
As shown in
Along each step, an automated quality gate criterion evaluates the KPIs against defined parameters and rejects or promotes the code to subsequent testing (i.e., to the next delivery level).
Preferably, the quality gates and workflows are defined as follows: Compilation (Quality Gate 1); Static Testing (Quality Gate 2); Unit Testing (Quality Gate 3); Software Integration Testing (Quality Gate 4); Software Qualification Testing (Quality Gate 5); System Integration Testing (Quality Gate 6); System Qualification Testing (Quality Gate 7); Performance Testing (Quality Gate 8); Stress Testing (Quality Gate 9); Release Readiness Testing (Quality Gate 10); Customer Acceptance Testing Suite (Quality Gate 11).
Preferably, along the way, the KPIs are displayed at a central dashboard (i.e., “Quality Control Dashboard”) (shown in
Preferably, the system comprises the following components: automated test-case-based feature roll out plan; an agile iterative team structure for iterative planning, development, integration, and testing of software features; infrastructure of development, testing, validation and release pipeline with automated script to build, test, and deliver software code using defined quality gates; automated quality gate criterion at each critical phase to monitor the development and testing of KPIs against defined parameters and reject or promote the code to subsequent testing/delivery level; a Quality Control Dashboard to monitor project management, quality control, performance monitoring, test coverage and completion criterion; an agile sprint based approach towards content integration across multiple software providers to achieve a release pipeline consistent with the above; hardware architecture combining computers, Hardware in Loop, Software in Loop, servers, databases and network essentials to facilitate the above; software architecture including code, workflows, development tools, servers and planning tools to facilitate the above.
While a specific embodiment of the invention has been shown and described, it is envisioned that those skilled in the art may devise various modifications without departing from the spirit and scope of the present invention.
The present application claims the benefit of U.S. Provisional Application Ser. No. 63/148,830, filed Feb. 12, 2021, which is hereby incorporated by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
63148830 | Feb 2021 | US |