# Best Practice: Graded Deployments

When you deploy a software update to your edge devices, you want everything to go as smoothly as possible. If there are issues, the troubleshooting should be easy, and the number of devices impacted should be as low as possible. You can achieve this by deploying in groups.

## Test Groups

To deploy a software update, you should start with one or more test groups. A test group includes devices that are in your development lab and are similar to the devices that are in production. Your test groups can be actual [Groups](https://docs.connect.jfrog.io/features-new-ui/account-management/organize-your-fleet#groups), as defined in [Manage your Fleet](https://docs.connect.jfrog.io/features-new-ui/account-management/organize-your-fleet), or they can be subsets consisting of devices that use [Tags](https://docs.connect.jfrog.io/features-new-ui/account-management/organize-your-fleet#tags) to identify them as test devices.

## Production Groups

Production groups in a project range from one to numerous groups that segment the devices by location, product type, or some other attribute(s).

## Method

### Stage 1: Deploy on Test Groups and Validate

Deploy the software update to one or more test groups. Ensure that everything is working as expected and that your test devices are running as expected. If there were issues, you may need to create a new deployment and test again before deploying to production groups.

### Stage 2: Deploy on Production Groups

Once your software update has been validated using the test groups, you can use the same update flow on your production groups. To deploy the same software and update flow that you have previously deployed, do the following:

1. Go to **Deployments** in the left menu and to the **Update Flows** tab. Find the flow you created and click the cloud icon in the **Deploy** column.
2. In the New Deployment wizard, enter any deployment parameters that are required, and click **Next**.
3. Enter the new groups and any additional filters you need.
4. Set the same Deployment Tag and Version that you used in the previous deployment (e.g., the successful test deployment or a previous production deployment).
5. Enter a comment that will help you identify the deployment, and run the deployment.

### Use Graded Deployments&#x20;

We recommend grading the deployments to your production groups by quantity of devices. For example, first deploy to two devices, then 20 devices, then 200 devices, and then continue to deploy groups in quantities that you feel comfortable with. As long as the deployments are successful and the updated software is working, you can re-use the same update workflow, changing only the destination groups (and/or filters) for each deployment phase.&#x20;

{% hint style="success" %}
**Note**: The numbers presented above are for example purposes only, and do not constitute specific recommendations for your devices.
{% endhint %}

## What’s Next?

Learn more about [creating groups](https://docs.connect.jfrog.io/features-new-ui/account-management/organize-your-fleet/create-groups) of devices.
