Skip to main content
Test Double company logo
Services
Services Overview
Holistic software investment consulting
Software Delivery
Accelerate quality software development
Product Management
Launch modern product orgs
Legacy Modernization
Renovate legacy software systems
DevOps
Scale infrastructure smoothly
Upgrade Rails
Update Rails versions seamlessly
Technical Recruitment
Build tech & product teams
Technical Assessments
Uncover root causes & improvements
Case Studies
Solutions
Accelerate Quality Software
Software Delivery, DevOps, & Product Delivery
Maximize Software Investments
Product Performance, Product Scaling, & Technical Assessments
Future-Proof Innovative Software
Legacy Modernization, Product Transformation, Upgrade Rails, Technical Recruitment
About
About
What's a test double?
Approach
Meeting you where you are
Founder's Story
The origin of our mission
Culture
Culture & Careers
Double Agents decoded
Great Causes
Great code for great causes
EDI
Equity, diversity & inclusion
Insights
All Insights
Hot takes and tips for all things software
Leadership
Bold opinions and insights for tech leaders
Developer
Essential coding tutorials and tools
Product Manager
Practical advice for real-world challenges
Say Hello
Test Double logo
Menu
Services
BackGrid of dots icon
Services Overview
Holistic software investment consulting
Software Delivery
Accelerate quality software development
Product Management
Launch modern product orgs
Legacy Modernization
Renovate legacy software systems
Cycle icon
DevOps
Scale infrastructure smoothly
Upgrade Rails
Update Rails versions seamlessly
Technical Recruitment
Build tech & product teams
Technical Assessments
Uncover root causes & improvements
Case Studies
Solutions
Solutions
Accelerate Quality Software
Software Delivery, DevOps, & Product Delivery
Maximize Software Investments
Product Performance, Product Scaling, & Technical Assessments
Future-Proof Innovative Software
Legacy Modernization, Product Transformation, Upgrade Rails, Technical Recruitment
About
About
About
What's a test double?
Approach
Meeting you where you are
Founder's Story
The origin of our mission
Culture
Culture
Culture & Careers
Double Agents decoded
Great Causes
Great code for great causes
EDI
Equity, diversity & inclusion
Insights
Insights
All Insights
Hot takes and tips for all things software
Leadership
Bold opinions and insights for tech leaders
Developer
Essential coding tutorials and tools
Product Manager
Practical advice for real-world challenges
Say hello
Enbala company logo

Case Study

Scaling a distributed energy management system

Achieving real-time control to process gigabytes per second

The Client

Enbala
[
enbala.com
]

Description

Enbala, a virtual power plant and distributed energy resource management platform, needed help scaling a distributed, well-tested, fault-tolerant umbrella application, so they could process gigabytes of data per second.

Our consultants solved complex technical challenges and scale with more efficient systems and reduced rework.

Location & Size

50+ employees

Vancouver, BC (Canada), and Denver, CO (USA)

‍

Lightbulbs hang from a string against a sky with puffy clouds

Services Provided

Legacy Modernization
DevOps

Impact Areas

  • Custom software development
  • Test driven development
  • Team building

The Mission

(we chose to accept it)

Enbala, a virtual power plant and distributed energy resource management platform, has a real-time energy-balancing platform called Concerto.

The Concerto platform continuously shifts and adjusts flexibly across a vast network of electrical grid assets and responds instantly through continuous feedback loops on massive amounts of data.

The tech engine manages challenges of intermittency, variability and unpredictability. That gets pretty complicated, pretty quickly.

Enbala needed help scaling their Concerto platform into a distributed, well-tested, fault-tolerant umbrella application, so they could process gigabytes of data per second with multiple computations factored from thousands of assets on the electrical grid.

Need help with your project?
Get in touch with our team

The Fix

Our consultants embedded with the team to pair on rapidly advancing features, using Elixir and Elm.

We collaborated with Enbala’s developer team to refactor, improve and expand capabilities on Concerto so they could deliver more of what their customers want in a maintainable way.

In the process, we uncovered efficiencies and continuously improved the system with an eye towards reliability and resiliency:

  • Rapidly released features in a complex codebase—gigabytes per month of persisted telemetry data and just-in-time performance calculations across thousands of assets simultaneously
  • Refactored the system to make performance more observable, highly available and multi-node distributed with smarter data structures
  • Developed a framework for reusable, extensible and customizable rich data visualizations while also reducing rework costs
  • Automated regression testing and end-to-end testing with Cypress for speed and ease of maintenance

‍

Software is about the humans, too. So along the way, we also worked to help the team, too:

  • Encouraged a culture of more productive processes and trust across better-balanced teams
  • Helped product owners increase predictability with improved technical knowledge to aid smarter decision making and prioritization
  • Boosted team growth and mentored developers on Elm, Elixir, Javascript and TDD
  • Led by example with healthy communication strategies to identify process problems, remove blockers and propose solutions
  • Repurposed existing meetings for open forum technical discussions to make better use of time and to independently run with things

‍

CONSULTANTS

21

Tech & Techniques

  • Elixir/Phoenix
  • Erlang
  • Elm
  • C
  • Cypress/JS
  • Absinthe/GraphQL
  • PostgreSQL
  • Ruby
  • AWS
  • DataDog APM

The Results

Enbala is leading the way in defining cleaner, more sustainable power grids, and Test Double was a critical partner in making that happen.

We solved complex technical challenges on the front and back end. We also helped build a great team with pairing, product coaching and process improvement.

Most importantly, Test Double consultants helped Enbala scale in critical ways.

As a result, Enbala was able to build a market leadership position and was successfully acquired by Generac Power System to have an even greater impact.

Download project PDF
Contact our team
Icon of a crane picking up boxes

Achieve massive scale & successful acquisition by industry leader

Icon of a decreasing line chart

More efficient systems for reduced rework & lower overhead

Icon of a brain

Intentional planning & improved workflows for increased predictability

Three hands putting together a cube

Improve quality of life with culture of team growth & engineering excellence

Testimonial
Empathetic Collaborators
Test Double wasn’t just in a rush to fill open seats. Instead, they worked with us as a business partner to ensure optimal technical and cultural fit.
Jeff MacAuley
Enbala

Project Team

Kyle Adams
Agent
0033
Jason Allen
Agent
0059
Raelyn Bangel
Agent
0026
Amber Conville
Agent
0011
Jeremy Fairbank
Agent
0029
Todd Kaufman
Agent
001
Josh Klina
Agent
0070
Adam Lukens
Agent
0021
Eric Newbury
Agent
0063
Justin Searls
Agent
002
Matt Jones
Agent
0098

Related Insights & Projects

🔗
CPower Energy Management
🔗
Cars.com
🔗
Mode
🔗
Why legacy code rewrites are the hardest job in software
🔗
Ratcheting to zero: How incremental constraints eliminate technical debt
🔗
Elixir like a local
🔗
How to create powerful APIs with GraphQL and Elixir
🔗
How a Ruby developer transitioned to Elixir: insights and tips from Matt Jones
Black and white art photo of a well-used remote workspace

Software consulting services

Like what we have to say about building great software and great teams?

Discover what we do
Test Double Executive Leadership Team

What’s a Test Double?

Want to know more about our point of view on what makes for great software?

Get to know us
A keyboard, glasses, test double logo and rubber duckies.
Two test double employees wearing test double t-shirts embrace and smile at the camera.
Two people embrace and smile at the camera at a group event.
A person laughs at the camera in a group setting with a group of people.
Test double rubber duckie in a pool.
A keyboard, glasses, test double logo and rubber duckies.
Two test double employees wearing test double t-shirts embrace and smile at the camera.
Two people embrace and smile at the camera at a group event.
A person laughs at the camera in a group setting with a group of people.
Test double rubber duckie in a pool.
A keyboard, glasses, test double logo and rubber duckies.
Two test double employees wearing test double t-shirts embrace and smile at the camera.
Two people embrace and smile at the camera at a group event.
A person laughs at the camera in a group setting with a group of people.
Test double rubber duckie in a pool.

Let’s collaborate

We’re the team on a mission to improve how the world builds software.

Let’s talk about how to tackle hard software investment problems across the entire product life cycle.

Get started
Calendar icon

Chat with our team

Test Double Office Hours

Curious about what we're like to work with? We offer 30-minute turbocharged office hours with no strings attached—just pure, unadulterated brainstorm power.

Learn more
Test Double company logo
Improving the way the world builds software.
What we do
Services OverviewSoftware DeliveryProduct ManagementLegacy ModernizationDevOpsUpgrade RailsTechnical RecruitmentTechnical Assessments
Who WE ARE
About UsCulture & CareersGreat CausesEDIOur TeamContact UsNews & AwardsN.E.A.T.
Resources
Case StudiesAll InsightsLeadership InsightsDeveloper InsightsProduct InsightsPairing & Office Hours
NEWSLETTER
Sign up hear about our latest innovations.
Your email has been added!
Oops! Something went wrong while submitting the form.
Standard Ruby badge
614.349.4279hello@testdouble.com
Privacy Policy
© 2020 Test Double. All Rights Reserved.