Best practice is not to. Your changes may catch a user "between chairs" when a layout's appearance or function suddenly change. In addition changes to table and field definitions briefly lock tables when you click OK to dismiss Manage | Database and apply the changes. If another user is running a script that modifies data in a record at the same time, it may fail to modifiy the data and no error message appears to tell that.
That said, I do, carefully, make small adjustments to layouts and scripts of live databases and as long as I'm careful to consider the consequences, this works out OK.