> For the complete documentation index, see [llms.txt](https://developer.harness.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.harness.io/university/feature-flags.md).

# Feature Flags

Learn Feature Flags through Harness University

Drastically reduce rollbacks, deploy faster with less risk, spend more time building and coding, and less time fixing production with Progressive Delivery.

Go to [Harness University](/university/readme.md) for the full catalogue of courses and certifications.

## Self-Paced Training

Free self-paced courses that you can consume on your own time.

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><img src="https://2307127582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Feh03Q8VHpO02MFM5nUSL%2Fuploads%2Fgit-blob-8d9330b11e4adb2c19a6b64b4a75262530fb0ef8%2Fplatform.svg?alt=media" alt="" data-size="line"> <strong>Harness Platform Fundamentals</strong></td><td>Self-paced video course introducing the Harness Platform.<br><em>Product version: Free Plans of any module</em></td><td><a href="https://university-registration.harness.io/self-paced-training-platform-fundamentals">https://university-registration.harness.io/self-paced-training-platform-fundamentals</a></td></tr><tr><td><img src="https://2307127582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Feh03Q8VHpO02MFM5nUSL%2Fuploads%2Fgit-blob-8d9330b11e4adb2c19a6b64b4a75262530fb0ef8%2Fplatform.svg?alt=media" alt="" data-size="line"> <strong>Introduction to AI Agents</strong></td><td>Self-paced tidbit introducing the Custom AI Agents.<br><em>Product version: Paid Plans of any module</em></td><td><a href="https://university-registration.harness.io/self-paced-training-tidbit-custom-ai-agents">https://university-registration.harness.io/self-paced-training-tidbit-custom-ai-agents</a></td></tr></tbody></table>

## Instructor-Led Training

Intensive two-day courses are designed for engineers looking to deepen their understanding and expertise in Harness.

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><img src="https://2307127582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Feh03Q8VHpO02MFM5nUSL%2Fuploads%2Fgit-blob-8d9330b11e4adb2c19a6b64b4a75262530fb0ef8%2Fplatform.svg?alt=media" alt="" data-size="line"> <strong>Introduction to the Harness Platform</strong></td><td>Self-paced hands-on, prerequisite course to all module-specific ILT courses.<br><em>Product version: Paid Plans of any module</em></td><td><a href="https://university-registration.harness.io/introduction-to-the-harness-platform">https://university-registration.harness.io/introduction-to-the-harness-platform</a></td></tr></tbody></table>

## Certifications

Test and validate your knowledge of Harness by becoming a Harness Certified Expert.

{% tabs %}
{% tab title="For Developer" %}

### Feature Flags - Developer

![Feature Flags - Developer badge](https://2307127582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Feh03Q8VHpO02MFM5nUSL%2Fuploads%2Fgit-blob-06a66c5b8db1ee690630b05d577ac50184866a08%2Fcert_dev_ff_badge.svg?alt=media)

**Product version:** Harness FF Free/Team Plans

Assesses the fundamental skills to progressivly deploy/toggle your applications with FF projects.

#### Review Study Guide

| Topic                                                                            | Material                                                                                                                                 |
| -------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| **1. Introduction to Feature Flags**                                             |                                                                                                                                          |
| Understand what a feature flag is and how it can be used in software development | [Overview of Feature Flags](https://developer.harness.io/docs/feature-flags/get-started/overview)                                        |
| Understand the benefits of using feature flags in a development process          | [Best practices for managing flags](https://developer.harness.io/docs/feature-flags/get-started/feature-flag-best-practices)             |
| Familiarize with the terminology used in Harness.io's feature flag capabilities  | [Overview of Feature Flags](https://developer.harness.io/docs/feature-flags/get-started/overview)                                        |
| **2. Harness.io's Feature Flag Fundamentals**                                    |                                                                                                                                          |
| Learn about the basics of Harness.io's feature flag capabilities                 | [Get started with a flag](https://developer.harness.io/docs/feature-flags/get-started/onboarding-guide)                                  |
| Identify different types of feature flags within the Harness.io environment      | [Change the variations of your flags](https://developer.harness.io/docs/feature-flags/use-ff/ff-creating-flag/manage-variations)         |
| Familiarize with the different statuses of feature flags                         | [Use the FF dashboard](https://developer.harness.io/docs/feature-flags/use-ff/ff-data/dashboard)                                         |
| **3. Managing Feature Flags in Harness.io**                                      |                                                                                                                                          |
| Learn how to create a simple feature flag in Harness.io                          | [Create a Feature Flag](https://developer.harness.io/docs/feature-flags/use-ff/ff-creating-flag/create-a-feature-flag)                   |
| Learn how to enable and disable a feature flag                                   | [Enable or disable your flags](https://developer.harness.io/docs/feature-flags/use-ff/ff-creating-flag/enable-or-disable-a-feature-flag) |
| Learn how to use the Harness.io dashboard to manage feature flags                | [Use the FF dashboard](https://developer.harness.io/docs/feature-flags/use-ff/ff-data/dashboard)                                         |
| **4. Advanced Feature Flag Techniques**                                          |                                                                                                                                          |
| Understand the concept of feature flag hierarchy                                 | [Policies overview for Feature Flags](https://developer.harness.io/docs/feature-flags/troubleshoot-ff/harness-policy-engine)             |
| Learn about the concept of percentage rollouts with feature flags                | [Use Pipelines with Feature Flags](https://developer.harness.io/docs/category/use-pipelines-with-ff)                                     |
| Understand the basics of targeting rules in feature flags                        | [Manage target users and groups](https://developer.harness.io/docs/category/manage-target-users-and-groups)                              |
| **5. Feature Flags in Development Workflow**                                     |                                                                                                                                          |
| Understand the role of feature flags in continuous delivery                      | [Use the Harness Relay Proxy](https://developer.harness.io/docs/category/use-the-relay-proxy-with-ff)                                    |
| Learn how to integrate feature flags into your existing development workflow     | [Use the Harness Relay Proxy](https://developer.harness.io/docs/category/use-the-relay-proxy-with-ff)                                    |
| Understand the process of rolling back a feature flag                            | [Enable or disable your flags](https://developer.harness.io/docs/feature-flags/use-ff/ff-creating-flag/enable-or-disable-a-feature-flag) |
| **6. Security and Analytics in Feature Flags**                                   |                                                                                                                                          |
| Learn how to read and interpret feature flag analytics                           | [Get Data on Your Feature Flags](https://developer.harness.io/docs/category/get-data-on-your-flags)                                      |
| Familiarize with Harness.io's security measures related to feature flags         | [Feature Flag Security and Compliance](https://developer.harness.io/docs/feature-flags/secure-ff/rbac-at-ff/manage-access-control)       |
| Learn how to troubleshoot basic feature flag issues                              | [Feature Flag FAQs](https://developer.harness.io/docs/feature-flags/harness-feature-flag-faqs)                                           |

[**Register for Exam**](https://university-registration.harness.io/feature-flags-developer)

#### Exam Details

The Feature Flag Developer exam tests your knowledge and skills of the Harness Feature Flag module.

**Prerequisites**

* Basic terminal skills
* Basic understanding of on-premise or cloud architecture

**Exam Details**

| Exam Type          | Duration   |
| ------------------ | ---------- |
| **Knowledge Exam** | 90 minutes |

| Covered Domain                          | Coverage |
| --------------------------------------- | -------- |
| Introduction to Feature Flags           | 15%      |
| Harness.io's Feature Flag Fundamentals  | 20%      |
| Managing Feature Flags in Harness.io    | 20%      |
| Advanced Feature Flag Techniques        | 20%      |
| Feature Flags in Development Workflow   | 15%      |
| Security and Analytics in Feature Flags | 10%      |

**Exam Objectives**

<details>

<summary>List of Objectives</summary>

The following is a detailed list of exam objectives:

| #   | Objective                                                                        |
| --- | -------------------------------------------------------------------------------- |
| 1   | Introduction to Feature Flags                                                    |
| 1.1 | Understand what a feature flag is and how it can be used in software development |
| 1.2 | Understand the benefits of using feature flags in a development process          |
| 1.3 | Familiarize with the terminology used in Harness.io's feature flag capabilities  |
| 2   | Harness.io's Feature Flag Fundamentals                                           |
| 2.1 | Learn about the basics of Harness.io's feature flag capabilities                 |
| 2.2 | Identify different types of feature flags within the Harness.io environment      |
| 2.3 | Familiarize with the different statuses of feature flags                         |
| 3   | Managing Feature Flags in Harness.io                                             |
| 3.1 | Learn how to create a simple feature flag in Harness.io                          |
| 3.2 | Learn how to enable and disable a feature flag                                   |
| 3.3 | Learn how to use the Harness.io dashboard to manage feature flags                |
| 4   | Advanced Feature Flag Techniques                                                 |
| 4.1 | Understand the concept of feature flag hierarchy                                 |
| 4.2 | Learn about the concept of percentage rollouts with feature flags                |
| 4.3 | Understand the basics of targeting rules in feature flags                        |
| 5   | Feature Flags in Development Workflow                                            |
| 5.1 | Understand the role of feature flags in continuous delivery                      |
| 5.2 | Learn how to integrate feature flags into your existing development workflow     |
| 5.3 | Understand the process of rolling back a feature flag                            |
| 6   | Security and Analytics in Feature Flags                                          |
| 6.1 | Learn how to read and interpret feature flag analytics                           |
| 6.2 | Familiarize with Harness.io's security measures related to feature flags         |
| 6.3 | Learn how to troubleshoot basic feature flag issues                              |

</details>

**Next Steps**

The Feature Flag Developer exam can start immediately after registering. Please allow up to 90 mins to complete the knowledge exam.

1. Create an account in Harness University
2. Review the Study Guide above.
3. Register for an exam.
4. Take the exam.

[**Register for Exam**](https://university-registration.harness.io/feature-flags-developer)
{% endtab %}

{% tab title="For Administrator" %}

### Feature Flags - Administrator

![Feature Flags - Administrator badge](https://2307127582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Feh03Q8VHpO02MFM5nUSL%2Fuploads%2Fgit-blob-752df097eb1a5120add52306d99efb32242c4578%2Fcert_adm_ff_badge.svg?alt=media)

**Product version:** Harness FF Paid Plans

Assesses the fundamental skills to deploy and maintain FF projects and the overall Harness Platform. This exam builds upon the Feature Flags Developer Certification.

#### Review Study Guide

| Topic                                                                             | Material                                                                                                                                                                             |
| --------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **1. Managing Feature Flags**                                                     |                                                                                                                                                                                      |
| Create new feature flags with appropriate configurations.                         | [Create a Feature Flag](https://developer.harness.io/docs/feature-flags/use-ff/ff-creating-flag/create-a-feature-flag)                                                               |
| Modify existing feature flags to update their behavior.                           | [Edit or archive flags](https://developer.harness.io/docs/feature-flags/use-ff/ff-creating-flag/edit-and-delete-a-feature-flag)                                                      |
| Archive feature flags when they are no longer needed.                             | [Edit or archive flags](https://developer.harness.io/docs/feature-flags/use-ff/ff-creating-flag/edit-and-delete-a-feature-flag)                                                      |
| **2. Optimizing Flag Evaluations**                                                |                                                                                                                                                                                      |
| Identify and address latency issues in flag evaluations.                          | [View the activities of a flag](https://developer.harness.io/docs/feature-flags/use-ff/ff-data/view-activities-of-a-feature-flag)                                                    |
| Implement caching strategies to improve response times.                           | [View the analytics for a flags](https://developer.harness.io/docs/feature-flags/use-ff/ff-data/view-metrics)                                                                        |
| Monitor and analyze flag evaluation performance.                                  | [View the analytics for a flags](https://developer.harness.io/docs/feature-flags/use-ff/ff-data/view-metrics)                                                                        |
| **3. Flag Types and Use Cases**                                                   |                                                                                                                                                                                      |
| Choose the right type of feature flag for specific use cases.                     | [Build a Feature Flag pipeline](https://developer.harness.io/docs/feature-flags/use-ff/ff-build-pipeline/build-feature-flag-pipeline/)                                               |
| Create feature flags that serve different variations, including dark mode.        | [Change the variations of your flags](https://developer.harness.io/docs/feature-flags/use-ff/ff-creating-flag/manage-variations)                                                     |
| Configure feature flags for internal testing and feedback.                        | [Enable or disable your flags](https://developer.harness.io/docs/feature-flags/use-ff/ff-creating-flag/enable-or-disable-a-feature-flag)                                             |
| **4. Pipeline Integration**                                                       |                                                                                                                                                                                      |
| Understand the options for setting flag switches in feature flag pipelines.       | [Build a Feature Flag pipeline](https://developer.harness.io/docs/feature-flags/use-ff/ff-build-pipeline/build-feature-flag-pipeline/)                                               |
| Implement default pipelines for consistent flag changes.                          | [Add a default pipeline for flag changes](https://developer.harness.io/docs/feature-flags/use-ff/ff-build-pipeline/default-pipeline-ff)                                              |
| Add approval gates and notifications for flag enable/disable processes.           | [Manage Feature Flags](https://developer.harness.io/docs/self-managed-enterprise-edition/self-managed-helm-based-install/manage-feature-flags/)                                      |
| **5. Feature Flag SDKs**                                                          |                                                                                                                                                                                      |
| Identify available processors for the Feature Flag SDK in Harness.                | [Use Feature Flag SDKs](https://developer.harness.io/docs/category/use-ff-sdks)                                                                                                      |
| Understand which server-side SDKs are supported by Harness.                       | [Choose a client-side or server-side SDK](https://developer.harness.io/docs/feature-flags/use-ff/ff-sdks/sdk-overview/client-side-and-server-side-sdks)                              |
| Configure SDKs to interact with Harness Feature Flags.                            | [How SDKs communicate with the Feature Flags client](https://developer.harness.io/docs/feature-flags/use-ff/ff-sdks/sdk-overview/communication-sdks-harness-feature-flags)           |
| **6. Relay Proxy Configuration**                                                  |                                                                                                                                                                                      |
| Troubleshoot Relay Proxy configurations for streaming functionality.              | [Debugging Relay Proxy](https://developer.harness.io/docs/feature-flags/use-ff/relay-proxy/debugging)                                                                                |
| Update Relay Proxy settings and handle API key changes.                           | [Deploy the relay proxy](https://developer.harness.io/docs/feature-flags/use-ff/relay-proxy/deploy-relay-proxy)                                                                      |
| Ensure proper communication between SDKs and Relay Proxy.                         | [Inbound endpoints](https://developer.harness.io/docs/feature-flags/use-ff/relay-proxy/inbound_endpoints)                                                                            |
| **7. Target Management and Metadata**                                             |                                                                                                                                                                                      |
| Associate feature flags with specific server targets.                             | [Add targets](https://developer.harness.io/docs/feature-flags/use-ff/ff-target-management/add-targets)                                                                               |
| Add custom attributes to targets for enhanced metadata.                           | [Add and manage target groups](https://developer.harness.io/docs/feature-flags/ff-target-management/add-target-groups)                                                               |
| Understand the removal and expiration behavior of targets.                        | [Target users with flags](https://developer.harness.io/docs/feature-flags/use-ff/ff-target-management/targeting-users-with-flags)                                                    |
| **8. Bulk Target Creation**                                                       |                                                                                                                                                                                      |
| Explore alternative methods for creating custom target lists.                     | [Add and manage target groups](https://developer.harness.io/docs/feature-flags/use-ff/ff-target-management/add-target-groups)                                                        |
| Understand the limitations of CSV imports for target creation.                    | [Analyze the impact of a feature on monitored services](https://developer.harness.io/docs/feature-flags/get-started/overview/#analyze-the-impact-of-a-feature-on-monitored-services) |
| Utilize available options to populate the list of targets efficiently.            | [Target users with flags](https://developer.harness.io/docs/feature-flags/use-ff/ff-target-management/targeting-users-with-flags)                                                    |
| **9. Flag Rollout and Rule Configuration**                                        |                                                                                                                                                                                      |
| Define rollout strategies, including percentage rollouts.                         | [Percentage deployments](https://developer.harness.io/docs/feature-flags/get-started/overview/#percentage-deployments)                                                               |
| Ensure consistent flag values for users across different SDKs.                    | [Get started with an SDK](https://developer.harness.io/docs/feature-flags/use-ff/ff-sdks/java-quickstart)                                                                            |
| Create and manage rules to control flag behavior for specific targets and groups. | [Best practices for managing flags](https://developer.harness.io/docs/feature-flags/get-started/feature-flag-best-practices)                                                         |

[**Register for Exam**](https://university-registration.harness.io/feature-flags-administrator)

#### Exam Details

The Feature Flag Administrator exam tests your knowledge and skills of the Harness Feature Flag module.

**Prerequisites**

* Intermediate terminal skills
* Basic understanding of on-premise or cloud architecture
* This exam builds upon the [Feature Flag Developer Exam](/university/feature-flags.md)

**Exam Details**

| Exam Type          | Duration    |
| ------------------ | ----------- |
| **Knowledge Exam** | 90 minutes  |
| **Hands On Exam**  | 120 minutes |

| Covered Domain                         | % of Coverage |
| -------------------------------------- | ------------- |
| 1. Managing Feature Flags              | 16%           |
| 2. Optimizing Flag Evaluations         | 7%            |
| 3. Flag Types and Use Cases            | 5%            |
| 4. Pipeline Integration                | 7%            |
| 5. Feature Flag SDKs                   | 10%           |
| 6. Relay Proxy Configuration           | 7%            |
| 7. Target Management and Metadata      | 10%           |
| 8. Bulk Target Creation                | 4%            |
| 9. Flag Rollout and Rule Configuration | 7%            |

**Exam Objectives**

<details>

<summary>List of Objectives</summary>

The following is a detailed list of exam objectives:

| #     | Objective                                                                         |
| ----- | --------------------------------------------------------------------------------- |
| **1** | **Managing Feature Flags**                                                        |
| 1.1   | Create new feature flags with appropriate configurations.                         |
| 1.2   | Modify existing feature flags to update their behavior.                           |
| 1.3   | Archive feature flags when they are no longer needed.                             |
| **2** | **Optimizing Flag Evaluations**                                                   |
| 2.1   | Identify and address latency issues in flag evaluations.                          |
| 2.2   | Implement caching strategies to improve response times.                           |
| 2.3   | Monitor and analyze flag evaluation performance.                                  |
| **3** | **Flag Types and Use Cases**                                                      |
| 3.1   | Choose the right type of feature flag for specific use cases.                     |
| 3.2   | Create feature flags that serve different variations, including dark mode.        |
| 3.3   | Configure feature flags for internal testing and feedback.                        |
| **4** | **Pipeline Integration**                                                          |
| 4.1   | Understand the options for setting flag switches in feature flag pipelines.       |
| 4.2   | Implement default pipelines for consistent flag changes.                          |
| 4.3   | Add approval gates and notifications for flag enable/disable processes.           |
| **5** | **Feature Flag SDKs**                                                             |
| 5.1   | Identify available processors for the Feature Flag SDK in Harness.                |
| 5.2   | Understand which server-side SDKs are supported by Harness.                       |
| 5.3   | Configure SDKs to interact with Harness Feature Flags.                            |
| **6** | **Relay Proxy Configuration**                                                     |
| 6.1   | Troubleshoot Relay Proxy configurations for streaming functionality.              |
| 6.2   | Update Relay Proxy settings and handle API key changes.                           |
| 6.3   | Ensure proper communication between SDKs and Relay Proxy.                         |
| **7** | **Target Management and Metadata**                                                |
| 7.1   | Associate feature flags with specific server targets.                             |
| 7.2   | Add custom attributes to targets for enhanced metadata.                           |
| 7.3   | Understand the removal and expiration behavior of targets.                        |
| **8** | **Bulk Target Creation**                                                          |
| 8.1   | Explore alternative methods for creating custom target lists.                     |
| 8.2   | Understand the limitations of CSV imports for target creation.                    |
| 8.3   | Utilize available options to populate the list of targets efficiently.            |
| **9** | **Flag Rollout and Rule Configuration**                                           |
| 9.1   | Define rollout strategies, including percentage rollouts.                         |
| 9.2   | Ensure consistent flag values for users across different SDKs.                    |
| 9.3   | Create and manage rules to control flag behavior for specific targets and groups. |

</details>

**Next Steps**

The Feature Flag Administrator exam can start immediately after registering. Please allow 90 mins for the knowledge exam and approximately 120 minutes for the hands on exam.

1. Create an account in Harness University
2. Register for an exam. There is a $50 fee for the exam
3. Review the [instructions for the Hands On Exam](/university/instructions.md)
4. Take the exams
   1. There will be a knowledge and hands on portion.

[**Register for Exam**](https://university-registration.harness.io/feature-flags-administrator)
{% endtab %}

{% tab title="For Architect" %}

### Feature Flags - Architect (BETA COMING SOON)

![Feature Flags - Architect (BETA COMING SOON) badge](https://2307127582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Feh03Q8VHpO02MFM5nUSL%2Fuploads%2Fgit-blob-fa697118a0b337e83a0fce4520346515b979c71b%2Fcert_arc_ff_badge.svg?alt=media)

**Product version:** Harness FF Paid Plans

{% hint style="info" %}
**Coming soon**

This certification is in beta and not yet open for registration.
{% endhint %}

Assess key technical job functions and advanced skills in design, implementation and management of FF.
{% endtab %}
{% endtabs %}

{% @harness-feedback/feedback module="university" pagePath="university/feature-flags" %}
