# Review Each Workflow for Improvement Opportunities

**URL:** <https://discuss.circleci.com/t/review-each-workflow-for-improvement-opportunities/48615>\
**Category:** Self Service Configuration Review\
**Tags:** self-serve, config-review, manual\
**Created:** [July 11, 2023, 6:19pm UTC](https://discuss.circleci.com/t/review-each-workflow-for-improvement-opportunities/48615 "2023-07-11T18:19:43Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![felixshiftellecon](https://sea2.discourse-cdn.com/circleci/user_avatar/discuss.circleci.com/felixshiftellecon/32/33360_2.png) [@felixshiftellecon](https://discuss.circleci.com/u/felixshiftellecon)\
**Post date:** [July 11, 2023, 6:19pm UTC](https://discuss.circleci.com/t/review-each-workflow-for-improvement-opportunities/48615/1 "2023-07-11T18:19:43Z")

</div>

# Review Each Workflow for Improvement Opportunities

## 1) Review Job Placement

[Job](https://circleci.com/docs/glossary/#job) order can be the largest impact on [workflow](https://circleci.com/docs/glossary/#workflow) duration. Review the workflow for opportunities to [run jobs in parallel](https://circleci.com/docs/workflows/#fan-outfan-in-workflow) and note which jobs are bottlenecking the workflow to review them for improvement opportunities.

Placing shorter jobs, like linters, in the beginning of the workflow is helpful in reducing the time to receive feedback about a change being tested. This saves [credits](https://circleci.com/docs/credits/) and time as a large portion of the workflow doesn’t need to run to receive feedback about a small issue.

## 2) Identify Modular Configuration Opportunities

When reviewing workflows that fan out but never fan back in, see if the jobs could be grouped into separate workflows. Having multiple workflows provides the separation needed to take advantage of [dynamic config](https://circleci.com/docs/dynamic-config/), which allows workflows to be triggered based on parameters set in a setup workflow. [Workflows and jobs can then be conditionally run](https://support.circleci.com/hc/en-us/articles/360043638052-Conditional-steps-in-jobs-and-conditional-workflows), saving time and credits.

Creating [parameterized jobs](https://circleci.com/docs/reusing-config/#authoring-parameterized-jobs) allows for further implementation of dynamic config and leads to an easier to manage config in most cases. Those jobs can also be used to create matrix jobs.

* * *

> **▶ Next Step: [High Level Improvement Opportunities](https://discuss.circleci.com/t/high-level-improvement-opportunities/48616)**
> 
> **◀ Previous Step: [Opportunities for Jobs with High Duration](https://discuss.circleci.com/t/opportunities-for-jobs-with-high-duration/48614)**

> **📑 Table of Contents**
>
> [Self Service Configuration Review Overview](https://discuss.circleci.com/t/overview-self-service-configuration-review/48598)
> 
> 1. [Configuration Review Preparation](https://discuss.circleci.com/t/configuration-review-preparation/48607)
> - [Document the Config Review](https://discuss.circleci.com/t/document-the-config-review/48608)
> - [Review CircleCI Features](https://discuss.circleci.com/t/review-circleci-features/48609)
> - [Snapshot Project Metrics](https://discuss.circleci.com/t/snapshot-project-metrics/48610)
> 
> 2. [Review Each Job for Improvement Opportunities](https://discuss.circleci.com/t/review-each-job-for-improvement-opportunities/48611)
> - [General Job Opportunities](https://discuss.circleci.com/t/general-job-opportunities/48612)
> - [Execution Environment Opportunities](https://discuss.circleci.com/t/execution-environment-opportunities/48613)
> - [Opportunities for Jobs with High Duration](https://discuss.circleci.com/t/opportunities-for-jobs-with-high-duration/48614)
> 
> 3. **[Review Each Workflow for Improvement Opportunities](https://discuss.circleci.com/t/review-each-workflow-for-improvement-opportunities/48615)**
> 4. [High Level Improvement Opportunities](https://discuss.circleci.com/t/high-level-improvement-opportunities/48616)
> - [Inside the Config](https://discuss.circleci.com/t/high-level-improvement-opportunities/48616#inside-the-config-3)
> - [Config Security](https://discuss.circleci.com/t/config-security-opportunities/48618)
> - [Reusable Config](https://discuss.circleci.com/t/reusable-config-opportunities/48619)
> - [Dynamic Configuration](https://discuss.circleci.com/t/dynamic-configuration/48620)
> 
> - [Outside the Config](https://discuss.circleci.com/t/high-level-improvement-opportunities/48616#outside-the-config-4)
> - [Security Settings](https://discuss.circleci.com/t/outside-a-config-file-security-settings/48622)
> - [Secret Management](https://discuss.circleci.com/t/outside-a-config-file-secrets-management/48623)
> - [Storage Usage](https://discuss.circleci.com/t/outside-a-config-file-storage-usage/48624)
> - [Project Settings](https://discuss.circleci.com/t/outside-a-config-file-project-settings/48625)
> 
> 5. [Finalize Review](https://discuss.circleci.com/t/finalize-the-config-review/48626)
