Changelog

Changelog - 2022

77min

Echoes is released continuously, our changelog is therefore an arbitrary month-to-month aggregation of changes.

December

Added
NewRelic integration
Added
Efforts API
Improved
Use Linear label groups


NewRelic integration

The New Relic integration allows Echoes to pull incident information in order to compute the mean time to recovery.



Like any other integration in Echoes, multiple connections can be created toward different New Relic accounts in order to cover the entirety of the scope of interest.



Read the New Relic integration documentation for more information.





NewRelic integration
NewRelic integration


Efforts API

The Efforts API lets you export Echoes data to your tools of choice. The data is exposed in multiple formats, including CSV in order to be imported directly into spreadsheets.

Linear label groups

Linear label groups are an elegant way to organize labels within a Linear instance. Echoes leverage this new feature to organize the labels it creates on your Linear team.

Echoes labels organized into label groups
Echoes labels organized into label groups


November

Improved
Refreshed navigation
Improved
Improved advanced filter
Fixed
Improvements and bugfixes


Refreshed navigation

The pages layout and navigation within the product has been significantly improved around simpler, less busy reports, and area of interest (a team, the organization as a whole).

Simpler layout and new sidebar
Simpler layout and new sidebar


This marks our last planned incremental user experience refresh before our next major milestone.

Improved advanced filters

Some controls have been moved at the report level:



  • Show initiatives (default: on): when disabled, data for initiatives is reported on their components.
  • Show archived intents (default: off)
  • Show intents without efforts (default: off)
Advanced report filters
Advanced report filters


Improvements and bugfixes

  • GitHub: improved the onboarding experience for users with hundreds of repositories.
  • Slack report: fix the report being sent at the wrong time with daylight saving.
  • Tagger: disable auto-reloading on focus when the tagger window is visibile.

October

Added
Selectively enable efforts and impediments labels
Added
Lead time "preparation" segment
Added
Auditable billing
Fixed
Improvements and bugfixes


Selectively enable efforts and impediments labels

The publication of Effort labels and Impediment labels to your GitHub and GitLab repositories can be selectively enabled.

Effort and impediments labels toggles in GitHub configuration settings
Effort and impediments labels toggles in GitHub configuration settings


Lead time "preparation" segment

When used with JIRA or Linear, Echoes examines the delay between a ticket being started and its first linked commit, and report this under the Lead time "preparation" segment.

Lead time breakdown, including the "preparation" segment
Lead time breakdown, including the "preparation" segment


Auditable billing

The billing administration page now shows the details of all billable members of your organizations (i.e., members of Echoes teams with registered git contributions on the billing period).

Billing summary
Billing summary


Improvements and bugfixes

  • JIRA: fix an issue where intents within the "Echoes - Intent" custom field would get duplicated on installations with over 50 intents.
  • JIRA: fix the plugin's uninstall and upgrade flows.
  • Performance: the app performance was significantly improved, most notably for DORA metrics.
  • Releases: the deliverables are now listed together with the deployment events.

September

Added
Organization health report
Added
Register efforts from Linear issues
Improved
Redesigned team management
Fixed
Improvements and bugfixes


Organization health report

The organization health report aims to help engineering executives assess whether teams are in the right conditions to succeed, and which are the the ones that need support. This first release comes with three categories of indicators:

  • Team setup, with the average tenure of members of the team, and its churn rate.
  • Software delivery performance, with the four DORA metrics Echoes already supported.
  • Impediments, with the challenges faced by engineers in their development efforts.
Organization health report
Organization health report


See the complete Organization health documentation for more information.

Register efforts from Linear issues

Linear issues labeled with an effort label (e.g., Echoes/Effort: M ) now contribute to the recorded efforts on their corresponding outcome or initiative. This allows for tasks happening outside of git to be accounted for in Echoes.

A unit of work coming from a Linear issue
A unit of work coming from a Linear issue


The sizing of the task are homogeneous with pull requests labels, meaning that a ticket labeled "XS" will be accounted in the same proportion than a GitHub pull request or GitLab merge request labeled "XS".

See the complete Linear documentation for more information.

Redesigned team management

Continuing on a multi-week effort to improve on the user experience, the team and member management has been redesigned to follow more closely that of outcomes and initiatives.

The organization layout in team settings
The organization layout in team settings

Editing a single team
Editing a single team


As part of this redesign was added the ability to assign a color to a team.

Improvements and bugfixes

  • Filters: hide outcomes and initiatives from the main report for which none of the selected teams have any registered effort.
  • Linear: fix an issue where a pull request label would not be inherited from a Linear issue identified by its lowercase identifier in the branch name.

August

Improved
Collapsible sidebar and fixed filters
Improved
Redesigned allocation overview
Improved
Redesigned effort distribution table
Improved
SSO: enable IDP-initiated authentication flow
Improved
GitHub: handle organization's members changes
Fixed
Miscellaneous bugfixes


Collapsible sidebar and fixed filters

The sidebar can now be collapsed to give more space to what really matters: the content of your reports.



Similarly, the filters will now collapse and follow you down the page as you scroll to give you a chance to change your selection of team or dates at any point.



Collapsed filter controls
Collapsed filter controls

Collapsed sidebar
Collapsed sidebar


Redesigned allocation overview

The "Participations" table is gone from the main report. This table used to show for each team in the organization their proportion of GitHub pull requests or GitLab merge requests tagged using Echoes labels.

While this was once considered crucial, many features (most notably the integration with Issue trackers and the GitHub) have since made this concern disappear entirely.

With the table gone, the space is used for an improved display of the allocation overview.

Redesigned allocation overview
Redesigned allocation overview


Redesigned effort distribution table

The effort distribution table shows the allocation of efforts on a team-per-team and intent-per-intent basis. It is one of the components most valuable to engineering leaders to get a quick glance of how engineering capacity is being used.

This component is now capable of supporting a larger number of teams and intents:

Redesigned effort distribution table
Redesigned effort distribution table


SSO: enable IDP-initiated authentication flow

Echoes support for Single Sign-On (SSO) now includes the ability to initiate the authentication flow from your identity provider.

Google: IDP-initiatived flow
Google: IDP-initiatived flow

Okta: IDP-initiatived flow
Okta: IDP-initiatived flow


For additional instructions, follow the documentation for Google or Okta.

GitHub: handle organization's members changes

The Echoes GitHub App now handles member events:

  • Members added to the GitHub organization are automatically created in Echoes as part of the "undispatched contributors" default team, without waiting for their first contribution to appear.
  • Members removed from the GitHub organization are automatically moved to the "undispatched contributors" default team. Their history of contributions is preserved, but they won't appear as active members of their former team.

Improvements and bugfixes

  • Filters: fix the "Custom" period filter was fixed to account for overlapping weeks.
  • Filters: fix the period filter to initialize its state with the currently selected settings.
  • GitHub: automated label checks on pull requests are disabled by default to avoid confusion.
  • Heatmap: hide columns for outcomes and initiatives without efforts from selected teams.
  • JIRA: fix account linking.
  • JIRA: fix an issue where intents could get duplicated when the configuration undergoes multiple changes.
  • SAML: fix an issue where the first login attempt for a user would fail.
  • Slack: guarantee a consistent allocation overview layout in the weekly report.
  • Tagger: hide inactive outcomes and initiatives from available labels.
  • Units of work: don't include items in the scope of the reviewer's team.

July

Added
Daily and weekly reports over Slack
Added
Experimental: compute MTTR from PagerDuty incidents
Added
Per-deliverable deployment frequency
Fixed
Miscellaneous bugfixes


Daily and weekly reports over Slack

Each team can opt-in to an automated report on the Slack channel of their choice, delivered at the time of their choice. The reports comes in two flavors:

  • A daily report, focusing on the ongoing work items, their progress in the delivery pipeline, and how much time they have spent in their current status.
  • A weekly report, focusing on the distribution of efforts on the previous week across the configured outcomes and initiatives.



Daily report (send on weekdays)
Daily report (send on weekdays)

Weekly report (sent on Monday)
Weekly report (sent on Monday)


Read the documentation to enable Slack notifications: Slack reports.

Experimental: compute MTTR from PagerDuty incidents

The PagerDuty integration is an experimental feature being rolled-out progressively to our user base. Feel free to reach out if you'd like it activated for your company.

Following the recent introduction of the PagerDuty integration, Echoes is now capable of computing the MTTR (Mean time to recovery) from collected incidents information.

Mean time to recovery in the vitals report
Mean time to recovery in the vitals report


Per-deliverable deployment frequency

The deployment frequency is now visible both per team, and per deliverable. This allows you to distinguish the frequency across different services or components.

Deployment frequency per-deliverables breakdown
Deployment frequency per-deliverables breakdown


Miscellaneous bugfixes

  • Fix the displayed status for a completed initiative.
  • Fix incorrect week number in the trajectory view.
  • Fix the sidebar layout which caused some visible flickering upon page change.
  • Exclude weekends from lead time computation.
  • The "Ongoing initiatives" in the allocation report no longer shows initiatives without any efforts.

June

Added
Experimental: PagerDuty integration
Added
In-flight and backlog items in the intent report
Added
Optionally apply initiatives composition changes to past efforts
Improved
Preserve published labels upon renaming
Fixed
Miscellaneous bugfixes


Experimental: PagerDuty integration

The PagerDuty integration is an experimental feature being rolled-out progressively to our user base. Feel free to reach out if you'd like it activated for your company.

The PagerDuty integration allows Echoes to connect to your PagerDuty instance in other to gather data on production incidents. The data collected by this integration will for example feed the MTTR (mean time to recovery) metrics. and more in the future.

PagerDuty integration
PagerDuty integration


In-flight and backlog items in the intent report

The intent report is a zoom-in on a specific outcome or initiative, presenting the activity over time and how it impacts the different teams. This report now shows:

  • In-flight: the pull requests (GitHub) and merge requests (GitLab) contributing to the intent under examination which are still open, with additional details on the current phase and delays.
  • Completed: completed efforts contributing to the intent under examination.
  • Backlog: the remaining opened tickets labeled with the intent under examination across integrations (e.g., GitHub issues, JIRA user stories).
In-flight and completed efforts in the intent report
In-flight and completed efforts in the intent report


This view will continue to evolve in order to highlight blockers and outliers in your development flow.

Optionally apply initiatives composition changes to past efforts

Changing the composition of an initiatve can now be retroactively applied to past efforts.

Option to control whether composition changes apply to past efforts
Option to control whether composition changes apply to past efforts


When the option to retroactively apply composition changes to past efforts is checked, Echoes will reprocess historical data upon saving the initiative. Past efforts will be updated with the new composition, as if the initiative was always defined this way. While this process is irreversible, you still have the ability to revert the initiative to its past definition and retroactively apply that change.

Preserve published labels upon renaming

This is a sensitive change which is progressively being rolled out, account per account, and integration per integration.

Published labels are no longer deleted and recreated when an outcome or initiative is modified. This behavior had the undesired side effect of removing past annotations when the original label got deleted (for example on GitHub issues or JIRA tickets).

Miscellaneous bugfixes

  • Fixed an issue with Linear integration for teams with a high number of labels.
  • Fixed an issue where GitHub labels would remain after the corresponding outcome or initiative was deleted.
  • Fixed an issue where the intent on a JIRA issue would not properly be updated when changed.
  • Fixed an issue preventing Echoes to fall back on a JIRA ticket creator when no assignee is present.

May

Added
Experimental: activity map
Added
Filter persistence
Improved
Dashboard refresh after items are tagged
Improved
Improve release intent distribution
Fixed
Miscellaneous bugfixes


Experimental: activity map

The activity overview is an experimental feature being rolled-out progressively to our user base. Feel free to reach out if you'd like it activated for your company.

The activity map presents the flow of value in your product-engineering organization in a synthetic way. It highlights how initiatives contribute to outcomes, and for each how much efforts have been spent on the period (compared to the previous period), and how far we are (compared to the previous period).

Activity map
Activity map


The activity map, like all other reports, can be filtered on specific teams or a specific time window.

Filter persistence

The initial state of filters (e.g., selected teams, time period, and intent) were always initialized based on the logged in user's position within the organization. However, they are many cases in which users want to exclude a team from the reports, or always look at their report through the same time window.

The state of filters are persisted across reports as you navigate the app using your browser's local storage.

Dashboard refresh after items are tagged

Echoes provides a builtin tagger to annotate GitHub pull requests or GitLab merge requests directly from the app.



After tagging items through this method, Echoes now refreshes the dashboard to reflect the new annotations.



Note: because we rely on the labels being ackowledged by either GitHub or GitLab, a small delay may remain before all user actions get reflected in the data.



Opening the builtin tagger
Opening the builtin tagger


Improve release intent distribution

The distribution of intent of a given release is now taking initiatives into account and can show for any selected release the accurate distribution of efforts across outcomes.



The release timeline is also improved to accomodate for situations where deployment frequency is very high.



Distribution of intent on a given release
Distribution of intent on a given release


Miscellaneous

  • Add a change password link to the user profile.
  • Fix an issue where an installation of the JIRA plugin would fail under certain circumstances.
  • Prevent force push from alterting pull requests lead time computation.
  • Prevent the ability to drag a team as a sibbling of the organization root.

April

Added
Tagged Linear issues contribute to initiatives scope
Added
Initiatives target completion date
Improved
Pull request approval as a component of the lead time
Improved
Zooming on an outcome or initiative
Improved
Improve GitHub interactions for large organizations
Improved
Improve GitHub installation flow when an owner's approval is required
Improved
Ignore merge commits within pull requests and merge requests
Fixed
Prevent stale labels on issue trackers


Tagged Linear issues contribute to initiatives scope

Linear issue labels with an initiatives will now be considered part of that initiative's scope, and will therefore contribute to the initiative's measure of progress.

Tagging an issue Linear with an initiative
Tagging an issue Linear with an initiative


Initiative target completion date

An optional target completion date can be set on initiatives at creation time and changed at any point.

Setting the target completion date for an initiative
Setting the target completion date for an initiative


This information, combined with Echoes knowledge of the effort and progress on the initiative, is used to indicate the status of the initiative.

Initiative status with regards to its target date
Initiative status with regards to its target date


Status is defined as followed:

Status

Definition

On track

The initiative is likely to be delivered by its target date.

At risk

The initiative is at risk of not meeting its target date.

Off track

The initiative will not be completed by its target date given the current pace of progress.

Unknown

An estimated completion date could not be computed. This may happen when Echoes has insufficient data regarding the activity on this initiative.

Pull request approval as a component of the lead time

This feature is being rolled out progressively for our GitHub users.

In addition to being broken down into the time to merge (i.e., delay between a first commit and a pull request being merged) and the time to deploy (i.e., delay between the pull request being merged and its deployment), the lead time will now display take into consideration the moment at which a pull request was approved.

The components of the lead time
The components of the lead time


Zooming on an outcome or initiative

Names of outcomes or initiatives throughout the report are now link to a dedicated report showing the activity on that particular intent:

Zooming on the "Customer value" outcome
Zooming on the "Customer value" outcome


This space shows you an activity timeline, where in the organization have these efforts taken place, and the list of individual units contributing to it.

Improve GitHub interactions for large organizations

Echoes would occasionally hit GitHub API limits for organizations with hundred of repositories. This could have led to visible delays in data integration or on automated pull requests checks. We have significantly improved our interactions with the GitHub API to prevent this from happening.

Improve GitHub installation flow when an owner's approval is required

Improve the experience when the user doing the onboarding does not have the permissions to approve the installation of the GitHub App on the target organization. This flow used to create a lot of confusion as the approver would be redirected to Echoes without having an account for it.

GitHub installation flow with approval
GitHub installation flow with approval


Please note that while the user experience was significantly improved, the installation flow still requires a manual step by Echoes support for security reasons.

Ignore merge commits within pull requests and merge requests

In situations where for example a staging branch is merged into main , Echoes knows how to prevent previously known commits from being accounted for multiple times. However such pull request may contain merge commits only present on the staging branch which Echoes had never seen as part of a prior pull request.

Echoes now ignores any non-ordinary commit (that is: a commit with a number of parents different than 1) within GitHub pull requests and GitLab merge requests. As a result, a pull request which introduces no new commits but only merges existing commits into another branch will not be accounted for anymore.

Prevent stale labels on issue trackers

Fix a situation where labels on issue trackers (i.e., JIRA "Echoes - Intent" custom field, Linear labels, Shortcut labels) would become stale and not reflect Echoes' internal configuration.

March

Added
Opt-in label creation to public GitHub repositories
Added
Shareable report links
Added
Filter on custom date range
Improved
Searchable intent filter
Improved
Lead time display


Opt-in label creation to public GitHub repositories

Echoes no longer creates labels for outcomes and initiatives on public GitHub repositories by default. This is a defensive measure to avoid accidentally disclosing roadmap information through labels.

Publication settings with public repositories toggle
Publication settings with public repositories toggle


Publication to public repositories must be enabled selectively on a per-outcome and per-initiative basis in Scoped publication.

Shareable report links

The share button copies to your clipboard a report link which includes the state of your filters. This makes it easy to share the exact same view you are looking at to your coworkers, and to save report links in internal documentation.

Share report button
Share report button


Filter on custom date range

The period filter on reports lets you pick a custom date range.

Custom date range filter
Custom date range filter




Searchable intent filter

For organizations with a large number of outcomes and initiatives, the intent filter can be searched.

Search box in intent filter
Search box in intent filter


Lead time display

Read the full documentation Vitals -deprecated.

Following last month release of the Vitals report, this month are introduced improvements to the lead time visualization based on your feedbacks. In particular, the lead time can now be examined: as a breakdown of its components (at this time: first commit to merge, and merge to deployment), over time, and on a team-per-team basis.

Lead time visualization
Lead time visualization


February

Added
Vitals report and DORA metrics
Added
Measure progress on initiatives
Added
Units of work timeline and filters
Improved
Indirect effort in trajectory table
Improved
Exclude empty lines from trajectory table
Improved
Actionable GitHub checks messages


Vitals report

Read the full documentation Vitals -deprecated.

The vitals report shows you the measures made popular by the DORA research program and the associated book Accelerate.

Lead time
Lead time


The report provides the two tempo metrics of lead time and deployment frequency, which are now considered as industry-standards to measure software delivery performance.

Measure progress on initiatives

Echoes reports the progress on initiatives by collecting issues tagged with their corresponding labels across all integrations (e.g., GitHub issues, JIRA tickets). It shows the number of completed and remaining tasks over time, how these numbers changed since last week, and how far you are from completion. GitHub task lists are also supported: each individual task will contribute to the total.

Progress on an ongoing initiative
Progress on an ongoing initiative


Tagging issues with the initiatives they contribute to is all it takes to benefit from this feature. As a reminder, tagging issues has the added benefits that pull requests linked to such an issue (for example through a "closes #xxxx" on GitHub" or a JIRA reference) will automatically inherit its labels.

Units of work timeline and filters

The units of work view now includes filters on teams and intent, and a timeline showing the volume of contributions across time.

Units of work timeline and filters
Units of work timeline and filters


Indirect effort in trajectory table

The trajectory table previously hid efforts on initiatives components when initiatives were displayed. While this made sense to avoid showing duplicated efforts, it gave the wrong impression that no efforts were contributed to the underlying goals.

When initiatives are displayed, the trajectory table will now reports both the efforts going directly into an outcome as well as the indirect efforts contributed through initiatives.

Trajectory table showing both direct and indirect efforts toward the outcomes
Trajectory table showing both direct and indirect efforts toward the outcomes


Exclude empty lines from trajectory table

The trajectory table now filters out lines that have no relevant data to be shown, such as deleted outcomes or initiatives with no efforts on the period under examination.

Actionable GitHub checks messages

Automated GitHub checks provide better feedback on the reason why a check is skipped. In particular, the details explain when a check was skipped because the author doesn't belong to any team in Echoes configuration, and the steps to fix it if necessary.

GitHub check message when the author is not part of any team
GitHub check message when the author is not part of any team


January

Added
Account for activities happening outside of git
Added
Shortcut integration
Improved
Generally available release instrumentation
Fixed
Multiple user experience improvements


Account for activities happening outside of git

Echoes can now account for efforts which are happening outside of GitHub pull requests or GitLab merge requests, such as investigating an incident, or creating new resources in your cloud provider. Echoes will now account for completed tickets when they are tagged with an effort value.

In JIRA, the "Echoes - Intent" custom field lets you set the intent of this issue (as defined within Echoes). Upon completion of the issue, the "Echoes - Effort" custom field will be used to account for the effort using the same t-shirt size scale used for pull requests.

Using Echoes custom fields to capture efforts happening outside of gitt
Using Echoes custom fields to capture efforts happening outside of gitt


Accounting for efforts described in tickets is currently supported for JIRA integrations.

Shortcut integration

Read the full documentation: Shortcut.



You can now connect Echoes to your Shortcut workspace.



Echoes creates Shortcut labels for each of its configured outcomes and initiatives. Shortcut stories can then be tagged with their intent as defined within Echoes.



A GitHub pull request or GitLab merge request referencing a Linear issue will automatically inherit its labels, without requiring any manual action from the author.



Document image


Multiple user experience improvements

This month were shipped dozens of small user experience improvements, many we owe to our users feedback. The non-exhaustive and unordered list includes:

  • Significantly simplify navigation with the sidebar.
  • Redesign parts of the units of work table to account for items outside of git.
  • Fix the page selection in units of work table.
  • Fix the missing horizontal scrollbar in units of work table.
  • Fix the confusing buttons in the outcomes and initiatives creation flow.
  • Fix the documentation link not opening in a new tab.
  • Fix a bug where the list of initiatives wouldn't scale to its content.





2021

December

Added
Linear integration
Added
Experimental: releases instrumentation
Fixed
JIRA custom field options deletion
Improved
Read multiple JIRA issue keys from a single item
Added
Support Konami code on the dashboard


Linear integration

Read the full documentation: Linear



You can now connect Echoes to your Linear workspace.



Echoes creates Linear issue labels for each of its configured outcomes and initiatives. Linear issues can then be tagged with their intent as defined within Echoes.



A GitHub pull request or GitLab merge request referencing a Linear issue will automatically inherit its labels, without requiring any manual action from the author.

Document image


Releases instrumentation

You can declare releases through the new Releases API. This will feed into a new dashboard displaying your timeline of releases per team, and the ability to inspect the content of releases based on their intent.

JIRA custom field options deletion

The JIRA integration would not, under certain conditions, properly remove custom field options as outcomes and initiatives get deleted from the configuration.

Read multiple JIRA issue keys from a single item

Echoes previously extracted a single issue key from a GitHub pull request (or GitLab merge request) title, branch name, or commit message headline. Echoes will now follow every issue key is finds and will follow the links for each of them.

November

Improved
Inherit tags from parent JIRA issue
Improved
Redesign outcomes and initiatives user experience
Added
Experimental: support for SAML SSO
Added
Experimental: support for HRIS integrations
Added
GitHub scoped publication


Inherit tags from parent JIRA issue

Read the full documentation: JIRA

A GitHub pull request or GitLab merge request previously inherited labels from their linked JIRA issue and its parent EPIC (if any). We now follow the "parent" link, which means that you can reference a JIRA subtask and inherit intent from the entire ancestry.

Example of label inheritance
Example of label inheritance


In the example above, a pull request references JIRA sub-task JIRA-3 in its title. Echoes successively inspects JIRA-3, its parent story JIRA-2, and the parent EPIC JIRA-1, collecting all values of the intent field along the path. It finds an intent on the EPIC and applies the corresponding label to the pull request. This required a single tag in JIRA, and no developer action.

Redesign outcomes and initiatives user experience

The outcomes and initiatives creation screen have been redesigned for clarity. We now guide through the creation process and preview how labels will appear on GitHub or GitLab.

Initiatives creation flow
Initiatives creation flow


Experimental support for SAML SSO

Read the full documentation: Single sign-on

Echoes, acting as the service provider (SP), supports single sign-on through SAML using external identity providers (IdPs) such as Okta, OneLogin and Microsoft Active Directory Federation Service. Echoes is compatible with all external IdPs that support SAML 2.0.

Experimental support for HRIS integrations

Read the full documentation: Teams

Echoes can retrieve both the description of the organization tree and its members through connecting to your company's HR system. We support a large number of providers thanks to our provider Finch.

GitHub scoped publication

Read the full documentation: Scoped publication

Scoped publication allows to finely pick how outcomes and initiatives should be published to your GitHub organization. It allows to prevent certain labels to be created on selected repositories.

Updated 05 Apr 2023
Did this page help you?