Changelog - 2022
Echoes is released continuously, our changelog is therefore an arbitrary month-to-month aggregation of changes.
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.
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 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.
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).
This marks our last planned incremental user experience refresh before our next major milestone.
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)
- 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.
The publication of Effort labels and Impediment labels to your GitHub and GitLab repositories can be selectively enabled.
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.
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).
- 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.
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.
See the complete Organization health documentation for more information.
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.
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.
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.
As part of this redesign was added the ability to assign a color to a team.
- 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.
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.
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.
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:
Echoes support for Single Sign-On (SSO) now includes the ability to initiate the authentication flow from your identity provider.
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.
- 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.
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.
Read the documentation to enable Slack notifications: Slack reports.
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.
The deployment frequency is now visible both per team, and per deliverable. This allows you to distinguish the frequency across different services or components.
- 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.
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.
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).
This view will continue to evolve in order to highlight blockers and outliers in your development flow.
Changing the composition of an initiatve can now be retroactively applied 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.
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).
- 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.
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).
The activity map, like all other reports, can be filtered on specific teams or a specific time window.
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.
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.
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.
- 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.
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.
An optional target completion date can be set on initiatives at creation time and changed at any point.
This information, combined with Echoes knowledge of the effort and progress on the initiative, is used to indicate the status of the initiative.
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. |
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.
Names of outcomes or initiatives throughout the report are now link to a dedicated report showing the activity on that particular intent:
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.
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 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.
Please note that while the user experience was significantly improved, the installation flow still requires a manual step by Echoes support for security reasons.
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.
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.
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 to public repositories must be enabled selectively on a per-outcome and per-initiative basis in Scoped publication.
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.
The period filter on reports lets you pick a custom date range.
For organizations with a large number of outcomes and initiatives, the intent filter can be searched.
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.
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.
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.
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.
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.
The units of work view now includes filters on teams and intent, and a timeline showing the volume of contributions across time.
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.
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.
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.
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.
Accounting for efforts described in tickets is currently supported for JIRA integrations.
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.
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.
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.
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.
The JIRA integration would not, under certain conditions, properly remove custom field options as outcomes and initiatives get deleted from the configuration.
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.
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.
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.
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.
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.
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.
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.