I recently started at a company where I am managing and hiring a team of devs (I have 10 yrs as a dev). They have a simple workflow in place already, but I think there must be ways to make it more efficient and improve it. Specifically, I wanted to enquire about whether or not it added value to increase the level of "ownership" in the development process. The way i was considering implementing this was:
* dev pushes to git server
* post-receive hook kicks off CI server
* if everything works, CI deploys commit to production.
This seems risky, so I'm assuming if people are doing this, they add steps similar to these:
* do a rolling deploy
* if error rate increases on instances with new release, rollback and alert dev team / owner of commit
The problem is, we're relatively small at this point so the last two steps may not be feasible for us. Is this something that only works in larger, more modular organizations? In general, what are the trade offs for using things like CI and this kind of ownership in a development team? Any feedback is greatly appreciated, thank you all so much!