I just wanted to write a quick post to introduce my new startup Hecate and explain what it's all about.
For those who don't know me; Hi, I'm John. Until recently I was the head of engineering at 99designs, and before that I was leading the Marketplaces Engineering team at Envato, responsible for (among other things) their flagship product ThemeForest. One big contributing factor to those teams' successes was a strong culture of Continuous Delivery and having the toolbox of techniques and practices to support it.
Over the past few years Continuous Delivery has become a mainstream practice and a raft of high quality products exist to help engineering teams meet the various challenges it presents to the people actually doing the work. The tools that don't exist are the ones that help the rest of the business keep up. My aim with Hecate is to plug those gaps with a broad suite of tools.
In Taking Human Performance Seriously former Etsy CTO John Allspaw argues that evolving any software product is fundamentally a socio-technical activity and that "'Taking human performance seriously' means finding the people who are mired in the nitty-gritty of real work, and making a deliberate effort to explore and understand how they cope with the complexity that comes with working in modern software-reliant organisations.". His writing is focussed very much on technical operations and incident response but I believe it has broader implications for the industry.
I've borrowed the above image from The STELLA report which Allspaw also references in his post. If you look at any business with a technical product at it's core, keeping a consistent mental model of the product and how it's changing day to day is important regardless of the department you're in. Changes in the software can effect how people do their work, and changes in how people do their work can effect the software. This is organically solved in smaller organisations with the "water-cooler effect" wherever a team can reinforce each other's mental models in frequent communication or casual eavesdropping.
Needless to say, as the number of changes to the system and corresponding conversations go up that approach breaks. You either tune out or burn out trying to keep up. You then try and go to the source, following every team on GitHub or Slack. It becomes incredibly hard to see the forest for the trees. Usually then it becomes the corresponding of the tech lead or product manager to make the team's work legible to the rest of the organisation, but as teams speed up even that approach hits a breaking point. Once you've got teams of teams the wheels will have well and truly fallen off.
The conversations surrounding code are some of the most valuable metadata a team has and humans are very, very good at extracting meaning from them. Hecate will ingest all the comments and descriptions of code changes and present them in the right format at the right time for the right people. Think kind of like a very niche Google Inbox but for GitHub and Trello that will make the firehose of engineering conversations manageable. If you're an ops minded person, you can think about it as observability for communication.
That's all very high minded and vague but what does Hecate do today?
Step one in focussing on the high value conversations in your team is to automate away all the low value conversations. A good tech lead needs to stay informed of all the code changes in an organisation and there are two ways to do that: either subscribe to a lot of GitHub emails or sit in a lot of slack channels every day (or both)! Frequently then you'll on-forward some of those notifications to interested parties.
With that in mind, the first product I've released for Hecate is called Shipping News, which lets you define in config (which you keep in source control) a routing map for merge notifications and summaries. By keeping all notification configuration in a YAML file, it lets you document the communication pathways of your team in a way that's both human readable and machine executable. You have a single point of truth of who needs to know what and when.
As a tech lead, you can use shipping news to give you a daily email of all changes across the organisation, allowing you to unsubscribe on GitHub from the repositories that are tertiary to your team. You'll stay across what the other teams are up to while freeing up your attention to respond more quickly to the pull requests of your own team.
Do you need to make sure the finance team is informed of every change to your accounting systems for audit? Write a rule matching all your financial microservice repositories and point it at their team email address. Does marketing need to know about changes to your blog and landing pages? Write a rule to send them a daily email (in their timezone) that matches those systems.
If Shipping News sounds like it could be helpful to you today, I encourage you to install it now. If you're not yet sold on it but interesting in hearing more as it develops, I encourage you to subscribe to our fortnightly newsletter down in the footer. If you have any feedback or questions I'd be more than happy to answer them, just shoot me an email at [email protected].