I am developing a system that helps auditors complete a security review using a checklist. Here's a snippet of the UI:
The current UI only saves the changes to the server when the user clicks save. However, this is causing issues when multiple people are working on an audit. The system detects conflicts and blocks the later save (which is based on stale data). This could potentially be solved by providing a merge feature, although that would be complex to implement.
A simple solution a few people have suggested is that the form should immediately save each change. This is easy enough to implement, but I worry it creates a UX problem. If a single click is saved to the server, it's easier for a mistake to be permanently recorded. And moreover, I'm concerned that auditors will be more reluctant to click things without a confirmation step, and this will impact their performance.
If it helps, this is an AngularJS web application. I've included the context in case it helps. What I'm really asking is: What is the tradeoff between user actions taking effect immediately, and there being a confirmation step?