Promotion and release of code

Are you aware of any flexible process that is created for code releases? One of the main topics of flexibility is frequent releases, and each company / client will have its own testing / approval processes that control code release. In most cases, this slows down the pace of frequent releases.

We currently have our own tool-based workflow. A team that needs code promotion needs to create a promotion request to one of the UAT endpoint servers. Once this is completed, and after the tests are completed, some customers, technical / non-technical managers must approve, and then proceed to the production deployment phase. Meanwhile, there is no sprint planning meeting or anything like that.

What is the code release process (which is flexible) that worked for you?

+4
source share
3 answers

Why aren't there any sprint planning meetings during the workflow? Post your repository and get right to the next version. If you need bug fixes for the candidate release, open the tag and fix them. The approval workflow and final UAT testing should not include or delay the development team. (Sorry for the unallocated SCM terminology if you are actually on something like Git or Mercurial.)

If you are running an Agile process, such as Scrum, the release release is “software being released” and not “released software”. If you have production overhead, this can happen in parallel. I should add that most of the testing was supposed to be part of the sprint - perhaps you need to re-evaluate what testing is being done in your cycle?

+5
source

If you are having trouble testing "big" releases, your release cycle is long. The basic principle of release is often that == smaller releases. If you have problems, and you only release small sets of functions that do not require much time for testing, then this is your update development team, which is the bottleneck, the process of approving the waterfall should change.

Drop dev into the general environment during the sprint, release into the QA environment during the sprint.

Release to the source environment at the end of the sprint to demonstrate only completed (and verified) functions.

Release products every time product owners want to.

The risk of errors should not be a problem, since errors should not have any correlation with the frequency of releases; in fact, more releases should mean less risk and fewer errors. Testing should be done during the sprint, not after. If something is not fully tested and may be erroneous, then this has not been done and should not be dismantled, let alone released for production.

At the end of the production launch, the owner of the product must be named. The politicized process of developing a waterfall release almost never contains errors from production, it just does the show later, and not earlier. Managers who check the box in the form with their “ok” do not leave the wallet from the eyes of customers. Frequent releases in QA during development will be. Testing should not be part of the release development cycle, it should be part of the development cycle.

+3
source

It depends on how critical your product is. By “release,” do you mean running your vital software to the hospital? Or is it a random gaming site?

If your work is critical or vital, flexible work may not work for you. In this case, you may need more formal testing before deployment.

If you work on a website that is not critical (and this is often better than not!), You have the freedom to be a small mistake. This will help you faster iterate and re-release over and over again.

For a product for which a flexible approach is suitable, let the developers test themselves, allow customers to see the results, and then launch a small group of users (hopefully randomly selected active users - testing the hallway) as soon as possible - - if this is a small thing, even for the whole your user base. In a web service, you can do it quickly and fix it without experiencing much pain.

-1
source

Source: https://habr.com/ru/post/1310016/


All Articles