spk-logo-white-text-short2
0%
1-888-310-4540 (main) / 1-888-707-6150 (support) info@spkaa.com
Select Page

Why an Automated Development Process Benefits Developers

Automated development, rather than just automated builds, offers a more holistic approach to automating the development process including building, testing and deployment. It is the cornerstone of Continuous Integration (CI).

CI uses a model of small incremental changes to the code base, which are incorporated into a rapid build and test environment. This is different from the more traditional concept of applying large changes to the code base where the developer has worked separately from the main code stream for long periods of time.

For it to be effective, the build, test and deployment process needs to be as fully automated as possible. In particular, automated testing is essential as it attempts to control and measure the impact the code changes have on the overall quality of the product.

From a developers point of view, the benefits can be enormous. Previously a developer would take a snapshot of the code base and work to implement the assigned functionality. After a possibly lengthy period, where the main stream code base and the developers code base have diverged, the developer adds the new functionality in one large chunk to the code base. Next comes QA which gives feedback to the developer about the quality of the changes. The developer and QA team then enter into a period of bug chasing and bug fixing.

However with CI and automated development, small changes can be applied to the code stream and then, via the quick and automated build and test processes, be verified and tested. For the developer this means that feedback is continuous during the implementation phase. Without an automated development process this continuous model of adding, building, testing would not be possible. For example without any kind of automated testing (including unit testing) the feedback would rely on a test engineer manually performing tests on the latest build and then reporting back to the developer. However this could take days and is far from being continuous. But with an automated development process the build (and some level of testing) occur automatically and the results published quickly.

A by-product of using CI and automated development is that the tests need to be written before the implementation exists. This in itself is a powerful methodology for ensuring that the implementation is true to the requirements as well as being functionally correct.

Since CI relies on the ability of the automated development process to build and test the source code, it also means that the automated development process is able to deploy the build into test environments. The natural result of this is that the functionality for deploying a build into a production environment already exists and has been thoroughly tried and tested. This makes creating a final, deployable build (along with the relevant install and upgrade processes) easy.

There are a range of different tools available for creating an automated development environment. One such tool is ElectricCommander; its web based interface allows development teams to share a common methodology regardless of their physical location. While its integration with VMware means that it can instantiate Virtual Machines and configure them correctly for the development tasks in hand.

Latest White Papers

A Checklist for Reducing Time to Market in Engineering

A Checklist for Reducing Time to Market in Engineering

Product teams all have the same goal: produce high-quality products and reduce time to market. Achieving these goals simultaneously can be difficult, but your team doesn’t have to sacrifice one for the other. Learn how in this eBook. method="post"...

Related Resources

Avoiding Audit Failures with End-to-End Digital Traceability

Avoiding Audit Failures with End-to-End Digital Traceability

Key Takeaways Audit failures often stem from incomplete records, disconnected systems, weak controls, and manual processes. Continuous traceability helps teams capture compliance evidence as part of everyday engineering work. Connecting ALM and PLM creates clearer...

A Checklist for Reducing Time to Market in Engineering

A Checklist for Reducing Time to Market in Engineering

Product teams all have the same goal: produce high-quality products and reduce time to market. Achieving these goals simultaneously can be difficult, but your team doesn’t have to sacrifice one for the other. Learn how in this eBook. method="post"...

Continuous Compliance for Automotive Software Updates

Continuous Compliance for Automotive Software Updates

Key Takeaways Automotive compliance must be continuous. Regulations such as UNECE R155 and R156 require teams to manage cybersecurity risks and software updates throughout the vehicle lifecycle, not just at audit time. Disconnected tools make compliance difficult....