Ideally, if a project has tasks predecessor relationships established then when a task is marked complete the successor tasks should automatically change to in progress. I feel like it's a redundant step to have to acknowledge the task is in progress; especially since you've already marked it as "working on it"
If a task required multiple tasks to be completed before starting then the status would not change until the task could be started.
I think this feature should be set per project and not globally in the system.