Week 8 - Continuous Software Engineering
As mentioned in the content I was reviewing, part of what seems to be really important in the software engineering department is making sure that companies are frequently pushing out the necessary changes to keep their product high quality. In the case of many software developments, making sure that the performance is high, the usage is stable, and the security is established. So what goes into this process?
Well, there are 3 points to making constant updates:
- Continuous integration
- Continuous delivery
- Continuous deployment
Continuous integration is the practice of merging the various changes in code made by contributors back to the main branch, or effort, of a code base as early and often as possible. Changes can be quickly validated and pushed to production because versioning and management of merging is done smartly by platforms such as git.
Continuous delivery activities follow continuous integration and consist of tasks related to getting the software out of the development system and to the end user. This usually means testing so that the software is released in a timely manner after final validation occurs. Security can be automated in this stage as well, occurring alongside the release cycle that your software follows.
Continuous deployment follows continuous delivery and ensures that changes made previously in the cycle are incorporated and released to end users automatically, save for failed tests. Continuous deployment is a great way to accelerate the feedback loop with your users.
Comments
Post a Comment