An Activity Group is a compound activity. It is composed of a set of activities that may include other Activity Groups.
Activity Groups are primarily used to provide exception and compensation handlers to a group of Activities. They are also commonly used to handle timeouts for a group of Activities.
A Group can be formed by any activity (also called leaf activity) with the exception of Global, Global Creation, Global Automatic, Begin and End activities. Also keep in mind that a group cannot contain only a split or a join activity.
You need to define a due interval within which a group of activities must be completed.
You need to manage a specific exception that can occur in any activity within a group. (Instead of handling the exception in each activity, you can define the group and handle the exception from within it.)
You need to reverse (compensate) a certain situation that involves more than one activity to be rolled back.
You need to manage a group of activities as a unique transaction (Atomic transaction.)
You need to clean up the design. Groups help you better visualize the process design since you can group a set of activities and collapse the group in order to see only one activity that represents a group of activities.
If you want to rollback the actions in a group, you should call an exception (which can be a localized exception or the process-wide exception) and then use the compensation activity.