Programmable Workflows Features

Pull Request Routing

What is pull request routing?

Pull request routing automates merge pathways to unblock code reviews while efficiently enforcing quality standards.
Bug fix: resolve race condition, assign code experts

Why should you use pull request routing?

Research shows that PR pickup and review time are the most frequent sources of software delivery inefficiency. For most organizations, this is one of the quickest paths to immediate improvements in software delivery efficiency.
The longer your code waits in the review stage, the bigger the context switch for all involved participants. Extended pickup and review times and excessive code review notifications reduce developer productivity and negatively impact developer experience by hurting developers’ ability to achieve a flow state.

How do you optimize pull request routing?

  1. Automate review responsibilities to balance distributing institutional knowledge with targeted expert reviews, ensuring breadth and depth in your code review capabilities. Ensure reviewers have all the information they need to make adequate decisions about code quality.
  2. Reduce the cognitive burden of code reviews through automation, static analysis, improved CI/CD pipelines, and contextual notifications to keep developers informed throughout development.
  3. Automate security and compliance enforcement to minimize the burden of remembering complex processes and requirements. Implement guardrails that guide developers toward best practices during the code review process.

Selective CI/CD

What is selective CI/CD?

Selective CI/CD is the orchestration of CI/CD pipelines based on the contents of pull requests to maximize pipeline efficiency.
gitStream automatically skipped production CI pipelines because this PR only contains docs changes.

Why should you use selective CI/CD?

Long CI/CD pipelines delay feedback loops and prevent merges for code that might otherwise be ready for production. Excessive CI/CD wait times negatively impact software delivery efficiency and developer experience, and skipping unnecessary pipelines is a simple method to realize immediate efficiency improvements and reduce infrastructure costs.

How do you use selective CI/CD?

  1. Identify sources of long CI/CD wait times and invest time into developer experience improvements that optimize delivery pipelines.
  2. Use policy-as-code to automate standardized workflows for the merge process that set clear expectations for all participants about the end-to-end experience. Enforce code requirements without creating excessive operational overhead.
  3. Use automation to ensure CI/CD pipelines are only activated when necessary to avoid unnecessary infrastructure costs and merge delays.

Label Tracking

What is label tracking?

Label tracking automates PR labeling based on changes introduced in commits, enabling visualization of metrics associated with the label.
Pickup Time showing Copilot vs baseline

Why should you use label tracking?

Automatic label tracking enables you to track engineering initiatives, development challenges, and opportunities for improvement down to individual lines of code. Label tracking allows you to track the impact of new initiatives, like adopting generative AI, highlight potential problem areas in your codebase, and flag potential risk areas that need further analysis.

How do you use label tracking?

  1. Identify components, initiatives, or other functional areas you want to investigate deeper and automatically apply labels that flag these situations.
  2. Monitor the rollout of new engineering initiatives by applying labels based on specific trigger conditions within your SDLC. 
  3. Build dashboards to visualize and track the impact of the labeled issues on your software delivery lifecycle.

SEI Automation Admin Console

What is the SEI automation admin console?

The admin console lets you track workflow automation adoption across repos, teams, and your entire organization to track the impact on your software delivery pipeline.
Automation Dashboard overview

Why should you use the SEI automation admin console?

Benchmarks help you quickly understand the health of your software delivery lifecycle relative to engineering teams at comparable companies. Every company and team is different, and while not every team performs the same, benchmarking gives you an idea of where you should first focus productivity efforts.

How do you use the SEI automation admin console?

  1. Get holistic visibility into your software delivery lifecycle to identify opportunities to automate standard processes and reduce inefficiencies in delivery pipelines. Simulate the impact of new workflow automations before adopting them to improve your development practices seamlessly.
  2. Monitor productivity and efficiency metrics to measure the impact of rolling out SEI automations to your organization. Identify opportunities for continuous improvement and flag risk areas for further investigation.
  3. Leverage data-backed insights to align productivity initiatives with strategic business goals and get buy-in from R&D stakeholders to continue increasing the breadth and depth of your productivity initiatives.

Automatic Pull Request Labeling

What is automatic pull request labeling?

Automatic pull request labeling is the process of automating the application of contextual labels to pull requests to reduce the cognitive load of code reviews. These labels are specific to the contents of each PR and are useful when viewing large lists of open PRs for review.
Automatic Pull Request labelling

Why should you use automatic pull request labeling?

Research shows that pull request reviews are one of the most frequent sources of software delivery inefficiency. Code reviews force developers into major context switches. One of the best ways to help them manage these switches is to provide more detailed and relevant context at the beginning of the review process.
PR labels are also an effective tool for enabling code reviewers to quickly filter out PRs containing problems your team needs to address before progressing through the review process.

How do you use automatic pull request labeling?

  1. Adopt general-purpose pull request labeling tactics that provide better context for code reviews across your organization. For example, labeling PRs with a review time estimate or based on the number of outstanding changes helps all code reviewers quickly deduce their status without clicking.
  2. Identify common process failures and high-risk portions of your code base and use labels to indicate which PRs require corrective action. This ensures all code review participants are on the same page about outstanding issues without spending additional cycles uncovering everything.
  3. Improve merge efficiency by using automatic PR labels to indicate which PRs are blocked. These include code that has completed the review process and is waiting for someone to merge it into production, PRs that only contain low-risk changes like documentation or tests, and any low-effort reviews that can be approved and merged quickly.

Bot Assistant (WorkerB)

What is WorkerB?

WorkerB is a bot assistant that helps your team stay on top of the collaborative side of the code review process. WorkerB notifies your teams about code reviews, makes it simple to auto-approve small changes, and helps developers identify opportunities to unblock their teams.
WorkerB: A pull request took 23 days, A pull request was opened with 967 changes.

Why should you use WorkerB?

Research shows that pull request reviews are one of the most frequent sources of software delivery inefficiency. WorkerB keeps track of your team’s code review goals and automatically notifies developers when their attention is required to ensure work doesn’t fall through the cracks. Developers can also leverage chat commands to help plan and prioritize daily tasks to maximize time spent on productive work.

How do you use WorkerB?

  1. Create working agreements for code reviews on a team-by-team basis and use automatic WorkerB notifications to alert your team when PRs risk missing these goals.
  2. Foster a culture of proactive collaboration where developers are encouraged to use WorkerB slash commands to identify reviews they can support. 
  3. Adjust goals as needed to create a culture of shared accountability where every developer plays a role in defining and maintaining productivity goals.

Now is the time to begin your journey

Change the way your team delivers software.