Why Good Teams Rely on Bad Workarounds

๐ **Source:** [Why Good Teams Rely on Bad Workarounds](https://www.youtube.com/watch?v=BII17aShQH0)
> [!note]+ Document Notes
> tags: #devops #feedback-loops #platform-engineering #developer-experience #continuous-integration #team-dynamics
> author: Lead Dev
> source: YouTube
> reference: https://www.youtube.com/watch?v=BII17aShQH0
> date created: 2024-12-19 10:30
>
> # ๐ท๏ธ Title: Why good teams rely on bad workarounds
>
<!-- deep-read:sections start -->
## ๐งฐ Action Inbox
- [H1] Audit build and deployment times across teams โ identify normalization of 4+ minute delays #developer-experience
- [H2] Implement team hack weeks to address accumulated technical friction โ prioritize flaky tests and manual workarounds #platform-engineering
- [H3] Create developer feedback surveys treating platform as product โ measure actionable pain points #devops
## ๐งญ Table of Contents
- [[#๐ Summary]]
- [[#๐ Main Content]]
- [[#๐๏ธ Notes]]
- [[#๐ References]]
- [[#๐ฃ๏ธ Paraphrase]]
- [[#๐ฐ Newsletter]]
- [[#โ
Action Items]]
- [[#๐งช Hypotheses]]
- [[#๐ Methodology]]
- [[#โ Questions]]
- [[#๐ฎ Future Research]]
- [[#๐ก Implications]]
- [[#๐ง Learning Styles Assessment]]
- [[#๐ Accessibility Assessment]]
- [[#๐ DEIB Assessment]]
- [[#โ
Logical Validity]]
- [[#๐ก๏ธ DARVO Analysis]]
- [[#๐ฏ Conclusion]]
### ๐ References
- [Lead Dev Online Panel](https://www.youtube.com/watch?v=BII17aShQH0)
- [DORA Research](https://dora.dev)
## ๐ Summary
- Engineering panel discussing how delivery dysfunction stems from broken feedback loops rather than process/people issues
- Teams normalize slow builds, flaky tests, and manual workarounds due to competing priorities and lack of ownership
- Key insight: feedback loops should help discover issues earlier, but teams often mistake intermediate metrics for customer satisfaction
- Panelists emphasize treating internal platforms as products and connecting developers directly to user feedback
- Bottom line: systemic improvements in feedback speed require cultural changes, not just tooling fixes
## ๐ Main Content
This Lead Dev panel features engineering leaders exploring why teams tolerate broken delivery systems. The core argument is that delivery problems are often systemic rather than procedural - teams adapt rationally to slow builds and unreliable tests, but these adaptations create long-term structural costs.
The panelists define feedback loops as mechanisms to discover earlier what would eventually be discovered through customer interaction. Steve Fenton uses the sandwich metaphor: until a customer takes a bite, you don't know if you've made what they want. However, waiting for that final feedback is too slow, so teams create intermediate loops through testing and staging.
Common normalized friction includes flaky tests (often just commented out), slow repository clones (4+ minutes accepted as normal), and environment drift between staging and production. Teams tolerate these because the system still functions - it's just inefficient.
The discussion reveals that metrics can distort feedback when pursued in isolation. Teams might remove tests to meet deployment speed targets or optimize for vanity metrics while losing sight of user outcomes. The panelists argue for connecting developers directly to users and treating internal platforms as products with real customer needs.
## ๐๏ธ Notes
#### โฑ๏ธ [00:00](https://youtu.be/BII17aShQH0?t=0) โ [H1] Introduction to feedback loop dysfunction
- Key idea: Delivery problems are systemic, not just about process and people
- Evidence: "Teams tend to adapt... those adaptations are often rational but cost money long-term"
#### โฑ๏ธ [05:30](https://youtu.be/BII17aShQH0?t=330) โ [H2] The sandwich metaphor for feedback loops
- Key idea: Intermediate feedback loops should predict eventual customer satisfaction
- Evidence: "Until I give you that sandwich and you take a bite, we don't know if I've made something you want to eat"
#### โฑ๏ธ [08:45](https://youtu.be/BII17aShQH0?t=525) โ [H3] Developer experience matters for feedback effectiveness
- Key idea: Slow feedback disrupts developer flow and mental models
- Evidence: "Repository cloning taking 4+ minutes was normalized, reduced to 26 seconds with shallow clone"
#### โฑ๏ธ [12:20](https://youtu.be/BII17aShQH0?t=740) โ [H2] Common pipeline friction: flaky tests and environment drift
- Key idea: Teams normalize small annoyances until they compound into major problems
- Evidence: "Just run it again, it'll succeed the second time... nobody's had time to dig into it"
#### โฑ๏ธ [16:10](https://youtu.be/BII17aShQH0?t=970) โ [H3] Environment parity challenges
- Key idea: Different deployment processes between environments cause production failures
- Evidence: "Developers automate to dev/test, but traditional ops does production deployment differently"
#### โฑ๏ธ [19:30](https://youtu.be/BII17aShQH0?t=1170) โ [H1] Metrics can distort rather than improve feedback
- Key idea: Optimizing metrics in isolation can harm user experience
- Evidence: "Deploying more often is good, but daily app update notifications become irritating to users"
#### โฑ๏ธ [23:45](https://youtu.be/BII17aShQH0?t=1425) โ [H2] Why teams tolerate broken feedback loops
- Key idea: Normalization of deviance combined with roadmap pressure
- Evidence: "Internal work doesn't give visible progress on roadmap, gets deprioritized"
#### โฑ๏ธ [27:15](https://youtu.be/BII17aShQH0?t=1635) โ [H3] Lack of clear ownership across boundaries
- Key idea: Pipeline problems span code, platform, and infrastructure with no single owner
- Evidence: "Bot PRs fail with linter issues, requiring manual intervention each time"
#### โฑ๏ธ [31:20](https://youtu.be/BII17aShQH0?t=1880) โ [H2] Justifying pipeline improvements with business metrics
- Key idea: Convert engineering pain into dollar-valued impact for leadership buy-in
- Evidence: "Hours spent on slow builds and flaky tests translates to money lost"
#### โฑ๏ธ [34:50](https://youtu.be/BII17aShQH0?t=2090) โ [H1] Professional responsibility for technical quality
- Key idea: Engineers should make quality decisions without asking permission
- Evidence: "Plumber doesn't ask permission to use copper pipes - they're the professional"
#### โฑ๏ธ [37:40](https://youtu.be/BII17aShQH0?t=2260) โ [H1] Direct user feedback as untapped resource
- Key idea: Connecting developers to users improves product team performance
- Evidence: "User centricity brings performance to highest levels even with slower deployment frequency"
#### โฑ๏ธ [40:25](https://youtu.be/BII17aShQH0?t=2425) โ [H2] Platform teams must treat platform as product
- Key idea: Internal customers deserve same research and feedback attention as external users
- Evidence: "Survey internal customers, don't assume you know what they need"
#### โฑ๏ธ [42:15](https://youtu.be/BII17aShQH0?t=2535) โ [H3] Sustainable feedback loops require human consideration
- Key idea: Metrics optimization can create unsustainable work environments
- Evidence: "Customer service optimized for ticket closure speed creates copy-paste responses"
## ๐ References
- [DORA Research Community](https://dora.dev)
- [Lead Dev Platform](https://leaddev.com)
- [Octopus Deploy](https://octopus.com)
## ๐ฃ๏ธ Paraphrase
- Engineering delivery problems often stem from broken feedback systems rather than inadequate processes or insufficient discipline
- Teams rationally adapt to slow builds and unreliable tests, but these workarounds create hidden long-term costs
- Effective feedback loops help teams discover issues earlier in development rather than waiting for customer complaints
## ๐ฐ Newsletter
**Platform Engineering Insights: Why Good Teams Rely on Bad Workarounds**
This week's Lead Dev panel revealed a counterintuitive truth: high-performing engineering teams often develop sophisticated workarounds for broken systems rather than fixing root causes. The discussion highlighted how 4-minute repository clones become "normal" and flaky tests get commented out instead of debugged.
Key takeaway for WordPress teams: treat your development platform like a product. Survey developers about pain points, measure build times as business metrics, and create dedicated time for infrastructure improvements.
The panelists emphasized connecting developers directly to user feedback - a practice that improves team performance even when deployment metrics lag behind competitors.
Resources: [Learn WordPress](https://learn.wordpress.org/), [Developer Docs](https://developer.wordpress.org/), [WP-CLI](https://wp-cli.org/)
## โ
Action Items
#### DevRel
- Developer experience: audit CI/CD pipeline performance across community projects, create benchmarks for acceptable build times
- Education: workshop content on feedback loop optimization, including metrics selection and normalization awareness
- Community management: survey developers about normalized friction points, prioritize based on impact and effort
#### OSPO
- Developer Support: tooling consultation for faster feedback loops, CI/CD best practices documentation
- Community Engagement: fund improvements to critical project infrastructure, sponsor hack weeks for maintenance
- Strategic Alignment: KPIs that balance speed metrics with developer satisfaction and system reliability
#### Community
- Maintainers: governance templates for infrastructure investment decisions, roadmap balance between features and developer experience
- Contributors: onboarding improvements focused on reducing time-to-first-contribution through better tooling
#### WordPress
- Core: build time optimization initiatives, flaky test identification and remediation programs
- Core Performance: profiling CI/CD bottlenecks, metrics for developer productivity impact
- Community: developer experience surveys, infrastructure improvement showcases at WordCamps
- CLI: command performance optimization, developer workflow improvement tools
- Meta: .org platform reliability metrics, API response time optimization for developer tools
## ๐งช Hypotheses
- Teams that measure and celebrate infrastructure improvements show higher developer satisfaction and retention rates
- Organizations with direct developer-to-user feedback channels deliver features with higher adoption rates despite potentially slower deployment frequency
- Platform teams that treat internal developers as customers see reduced support requests and higher platform adoption
- Regular "infrastructure hack weeks" reduce accumulated technical debt more effectively than continuous background maintenance
### ๐ Methodology
- Survey methodology comparing developer satisfaction before/after infrastructure investment programs
- A/B testing framework for measuring impact of direct user feedback on feature success rates
- Longitudinal study design tracking technical debt accumulation patterns across teams with different maintenance approaches
### โ Questions
- How do we measure the business impact of normalized developer friction without creating new metric distortions?
- What organizational structures best support shared ownership of cross-boundary infrastructure problems?
- How can leadership teams balance roadmap pressure with necessary infrastructure investment in measurable ways?
### ๐ฎ Future Research
- Quantitative analysis of correlation between build performance and developer retention across organizations
- Investigation of cultural factors that enable teams to prioritize infrastructure work without external pressure
- Cross-industry comparison of internal platform success metrics and developer satisfaction outcomes
### ๐ก Implications
- Practice: Regular infrastructure investment prevents expensive workaround accumulation and developer burnout
- Policy: Platform teams need clear customer research processes and success metrics beyond uptime
- Education: Engineering leaders require training on recognizing and addressing normalization of deviance
- Funding: Infrastructure improvements should be justified using developer productivity and business impact metrics
### ๐ง Learning Styles Assessment
Reading level estimate: 12th grade
#### ๐ Visual learners
- Present: Discussion format with multiple expert perspectives
- Improve: Workflow diagrams showing feedback loop breakdowns, before/after pipeline visualizations
#### ๐ Aural learners
- Present: Full 45-minute panel discussion with multiple voices and perspectives
- Improve: Key takeaway summary audio, actionable tips in podcast format
#### ๐ฃ๏ธ Verbal learners
- Present: Rich analogies (sandwich metaphor), clear technical term definitions, real-world examples
- Improve: Glossary of platform engineering terms, case study narratives
#### ๐งฉ Kinesthetic learners
- Present: Concrete examples of pipeline improvements with specific timing improvements
- Improve: Step-by-step pipeline optimization checklists, hands-on feedback loop assessment tools
#### ๐ง Logical learners
- Present: Cause-and-effect relationships between metrics and outcomes, systematic problem analysis
- Improve: Decision trees for infrastructure investment prioritization, ROI calculation frameworks
#### ๐งโ๐คโ๐ง Social learners
- Present: Panel format with expert interaction, follow-up Slack discussion encouraged
- Improve: Team retrospective guides for feedback loop assessment, peer review processes for infrastructure improvements
#### ๐งโโ๏ธ Solitary learners
- Present: Individual reflection prompts about team practices and normalization patterns
- Improve: Self-assessment questionnaires for pipeline health, personal productivity tracking worksheets
#### ๐ฟ Naturalistic learners
- Present: Systems thinking about engineering ecosystems and organizational health
- Improve: Analogies to natural feedback systems, sustainability metaphors for technical debt
### ๐ Accessibility Assessment
#### Screen reader semantics
- Present: Video content with spoken discussion, clear speaker identification
- Improve: Full transcript with speaker labels, heading structure for navigation
#### Keyboard navigation
- Present: Standard YouTube controls accessible via keyboard
- Improve: Timestamp navigation shortcuts, chapter markers for topic jumping
#### Contrast and readability
- Present: Standard video player interface with adequate contrast
- Improve: High contrast mode options, adjustable text size for any overlays
#### Media and captions
- Present: Auto-generated captions available on YouTube
- Improve: Professional captions with technical term accuracy, downloadable transcript
#### Standards reference
- Meets WCAG 2.2 AA for video content with available captions and keyboard controls
### ๐ DEIB Assessment
#### Cultural breadth
- Present: International perspectives with panelists from US, Finland, and Brazil
- Improve: Examples from different organizational structures and company sizes globally
#### Inclusive language
- Present: Gender-neutral technical discussions, professional terminology explained
- Improve: Avoid idioms that don't translate across cultures, define regional-specific practices
#### Neurodiversity support
- Present: Structured discussion format with clear topic transitions
- Improve: Topic timestamps for focused listening, visual agenda or outline
#### Representation
- Present: Diverse panel including women and international speakers in leadership roles
- Improve: Broader range of company sizes and industry verticals represented
#### Psychological safety
- Present: Respectful discussion of common engineering challenges without blame
- Improve: Acknowledgment that infrastructure struggles are normal and addressable
### โ
Logical Validity
#### Strong reasoning
- Deductive strength: Logical progression from feedback loop theory to specific pipeline problems
- Inductive strength: Multiple examples supporting general principles about normalization of deviance
- Causal reasoning: Clear connections between slow feedback and decreased developer productivity
- Analogical strength: Effective sandwich metaphor illustrating feedback loop concepts
#### Fallacies
- Appeal to authority: Panelists' credentials support but don't prove their claims - mitigated by concrete examples
- Hasty generalization: Some broad claims about "teams" based on limited examples - addressed through multiple perspectives
#### Tone of voice
- Overall tone: Collaborative and solution-focused, with appropriate technical authority and practical empathy for common engineering challenges
### ๐ก๏ธ DARVO Analysis
- Deny: No instances of denial; panelists acknowledge widespread infrastructure problems
- Attack: No attacks on accusers; discussion focuses on systemic rather than personal issues
- Reverse victim/offender: No victim/offender dynamics present in technical discussion
- Emotional cues and rhetoric: Professional, empathetic tone recognizing shared struggles without blame
## ๐ฏ Conclusion
The panel reveals that engineering delivery problems often stem from rational adaptations to broken feedback systems rather than inadequate processes. Teams normalize slow builds, flaky tests, and manual workarounds because fixing them requires cross-boundary ownership and competes with feature delivery pressure. The key insight is treating infrastructure improvements as professional responsibilities and internal platforms as products requiring user research. Success requires cultural changes that celebrate system improvements alongside feature delivery, measure developer productivity as business impact, and create dedicated time for addressing accumulated technical friction.
## ๐งฑ Refactor Appendix
### ๐ Literature Split Pad
### [H1] Feedback loops predict customer satisfaction through early discovery
> [!quote] Why good teams rely on bad workarounds by Lead Dev via YouTube. Published 2024. Accessed 2024-12-19.
> "Until I give you that sandwich and you take a bite, we don't know if I've made something that you want to eat."
Core principle that intermediate feedback should reliably predict final user satisfaction rather than becoming goals themselves.
[
---
## Full Transcript
[00:12] Hi everyone, welcome to this episode of<br>[00:16] of lead panel. Um is this is like great<br>[00:20] today because we have like a great<br>[00:22] session on how feedback look uh fail and<br>[00:25] how to fix them. Um this is a lead dev<br>[00:27] online panel discussion created with<br>[00:29] partnership with octopus deploy. Um<br>[00:32] discussion will roughly take 45 minutes<br>[00:34] I think uh give or take after we're<br>[00:37] going to move into slack. So if you're<br>[00:38] interested you have some follow-up<br>[00:40] question please join uh me and the<br>[00:42] panelist in Slack uh is there is like a<br>[00:46] panel Q&A channel so you can easily get<br>[00:48] there and uh if we have time hopefully<br>[00:51] we'll have we can also some answer some<br>[00:54] question online. Um, so there is a Q&A<br>[00:57] functionality in Zoom. Feel free to use<br>[00:59] it and post your message. If it's<br>[01:01] relevant to the current topic, I I I'll<br>[01:03] pick it up in a minute. If not, we're<br>[01:04] going to try to do at the end. If not,<br>[01:06] we're gonna respond in the channel. So,<br>[01:08] it's going to be you you will have your<br>[01:10] answer. Don't worry. And let me start<br>[01:13] with some intro. So, my name is Simony<br>[01:16] uh and I'm a head of engineering at a<br>[01:18] company called Kraken. And today I'll<br>[01:20] join by like an incredible list of<br>[01:22] panelists. I had a very exciting<br>[01:24] discussion with them the other day. Uh<br>[01:27] Steve, Fran, Francine. So um I'll start<br>[01:31] ask shut up and I'll let them introduce<br>[01:33] themselves. So Steve, do you want you<br>[01:36] are on my right, so do you want<br>[01:37] introduce yourself first?<br>[01:39] >> Hi everyone. Uh yeah, my name is Steve<br>[01:40] Fenton and uh I am a uh Devril and<br>[01:44] researcher at Octopus Deploy and a<br>[01:47] member of the Dora community um which is<br>[01:49] Google's research arm and uh yeah, I'm<br>[01:52] super excited to be talking about<br>[01:53] pipelines today.<br>[01:56] >> Awesome. Ren,<br>[01:59] >> hey everyone. I'm Ren Daniels. I'm the<br>[02:01] tech lead of the cloud platform team at<br>[02:04] Mapbox and I am based out of Helsinki,<br>[02:06] Finland.<br>[02:08] >> Nice. and Francine.<br>[02:11] >> Hi everyone, I'm Francine Pilot. Quickly<br>[02:15] describing myself here. I'm a white<br>[02:17] woman, long dark brown hair wearing a<br>[02:19] black t-shirt and I'm a lead software<br>[02:22] engineer at New Bank working on the<br>[02:24] CI/CD platform that supports our<br>[02:27] engineer teams to building reliable<br>[02:29] pipelines and deploying at scale. I'm<br>[02:31] really happy to join the conversation<br>[02:33] today<br>[02:36] >> and we are too we are to 100%. So uh let<br>[02:41] let's give the audience a bit of a<br>[02:42] context. So this is how we decided to<br>[02:44] frame the conversation and then I'm<br>[02:45] going to have space for the panelist to<br>[02:47] chime in. Uh there is a lot of content<br>[02:50] to cover I think. So when we talk about<br>[02:53] delivery program uh in my mind we often<br>[02:55] default to process and people. The kind<br>[02:57] of thing the kind of comment you get in<br>[02:58] the room are we need better planning, we<br>[03:00] need more discipline.<br>[03:02] You may hear the old school we need more<br>[03:04] engineers or the engineer are not<br>[03:06] working hard enough. Um but in reality<br>[03:10] uh also a lot of delivery dysfunction<br>[03:11] are systemic and not necessarily about<br>[03:14] what I described and are inside what we<br>[03:17] call our feeder loop. Our ability to<br>[03:19] learn how far we are from where we want<br>[03:21] to go and um example are you know if<br>[03:24] your build takes 40 minutes uh if when<br>[03:28] the tests are failing when deployment<br>[03:30] painful or even when some of the metrics<br>[03:33] are misleading if we talk about customer<br>[03:34] feedback uh then team tend to adapt.<br>[03:37] they kind of like they adjust to the<br>[03:38] fact that there are things that are a<br>[03:40] bit Sorry for for the sword. Uh<br>[03:44] and those adaption are often rational.<br>[03:46] It kind of makes sense. Uh but I think<br>[03:49] in the long term they are going to cost<br>[03:51] the company quite a lot of money. So<br>[03:53] today I would us to explore where<br>[03:56] feedback loops normally break down. um<br>[04:00] what are the quick fixes that create<br>[04:03] some structural drug let's call<br>[04:04] structure I like structural drug and<br>[04:07] what modern engineering leadership<br>[04:09] leaders can do systematically not just<br>[04:12] procedurally to restore let's call it<br>[04:14] flow um so this is roughly what I want<br>[04:18] to talk about and I think I cannot not<br>[04:20] start from think about feedback loop so<br>[04:23] Steve we we talked about this so I<br>[04:25] wanted your take on it what when you<br>[04:27] think about feedback loop in delivery.<br>[04:30] What are the most overlooked ones? Where<br>[04:32] do teams misunderstand<br>[04:34] um what where the what a figure loop is?<br>[04:38] Yeah. Uh this is an interesting<br>[04:40] question. I think um if we were going to<br>[04:43] be really hardcore about it, we'd<br>[04:45] probably say there's one real feedback<br>[04:46] loop, right? If you ask me to make you a<br>[04:48] sandwich, until I give you that sandwich<br>[04:51] and you take a bite, we don't know if<br>[04:53] I've actually made something that's that<br>[04:54] you want to eat, right? Um, but we also<br>[04:58] know that that sometimes takes too long.<br>[05:01] Like if I make a small code change and<br>[05:02] then I have to wait for a customer to<br>[05:04] tell me, then I'm going to be kind of<br>[05:07] like behind the curve. So the idea is<br>[05:10] that feedback loops really ought to be<br>[05:13] um ways of us discovering earlier<br>[05:15] something that we would eventually<br>[05:17] discover. So the reason we do testing is<br>[05:20] because you know I remember when I first<br>[05:23] started in my career we would put a<br>[05:24] version out and people would say I can't<br>[05:26] even log into this version right and so<br>[05:28] we're kind of getting really lowquality<br>[05:30] feedback from that big real feedback<br>[05:32] loop um so we've tried to create tighter<br>[05:35] and tighter loops inside<br>[05:37] um to try and get earlier sight of<br>[05:40] things and to make sure that what<br>[05:42] eventually comes out and that customers<br>[05:43] bite into is tastes good. Um, but I<br>[05:46] think probably one of the biggest<br>[05:47] mistakes is mistaking those intermediate<br>[05:50] pieces of feedback for someone being<br>[05:52] delighted with the sandwich.<br>[05:56] >> This is brilliant. I wish I had the the<br>[05:58] love of BJI to to spark in the<br>[06:00] conversation. I love the metaphor. Thank<br>[06:02] you so much.<br>[06:02] >> Sorry if I've made everyone hungry.<br>[06:08] want someone else want to jump in to to<br>[06:10] have their own take on people loop and<br>[06:12] if you see it differently or similarly<br>[06:16] >> yes I I would like to add something here<br>[06:19] is about the developer experiency also I<br>[06:24] think that<br>[06:26] what I seen in in practice like when we<br>[06:30] tend to focus on build success or<br>[06:32] deployment status<br>[06:35] uh we cannot ignore how take it uh takes<br>[06:41] to get feedback and how actionable it<br>[06:44] is. And ju just to picture what I'm<br>[06:48] trying to say is once I worked on a<br>[06:51] pipeline where just cloning the<br>[06:53] repository was taking over four minutes<br>[06:56] and it has been normalized. Nobody was<br>[06:59] question it. just be people just wait<br>[07:02] for it to finish and then what Stevie<br>[07:06] said about getting to the the customer<br>[07:09] and waiting for so long to to taste it.<br>[07:13] But we can just tight this little uh<br>[07:19] space in the pipeline little step by<br>[07:23] maybe just changing why the cloning<br>[07:26] strategy is used like doing a shallow<br>[07:29] clone and in this particular case we<br>[07:32] drop to 26 seconds. So it goes to the<br>[07:36] four to 26 seconds. uh so I I think that<br>[07:39] we can not just improve the performance<br>[07:43] and maybe help how uh people during the<br>[07:48] work day are are changing and are<br>[07:51] working and the green check is not<br>[07:56] exactly the health feedback loop if it<br>[07:59] is just too is low we need to improve it<br>[08:02] it and pay attention on those things<br>[08:05] >> yeah this is super crucial because when<br>[08:07] I'm working on the actual code part of<br>[08:10] the problem. I don't want to have to<br>[08:13] pause and wait to get that in a loop<br>[08:15] feedback. I kind of want that to be<br>[08:17] instant cuz otherwise my brain starts to<br>[08:20] let go of all of this model that I've<br>[08:22] built and what I'm doing and the stages.<br>[08:25] So yeah, I I don't want to wait like 40<br>[08:28] seconds to to do a a kind of clone. I<br>[08:31] don't want to wait like 20 minutes for a<br>[08:33] build to complete. It's just too long<br>[08:34] for me to keep in that flow.<br>[08:38] Interesting. Interesting. Basically what<br>[08:40] what you're saying is that obviously<br>[08:41] Steve started by saying well uh this is<br>[08:44] the feedback loop is the one with the<br>[08:45] customer but then Francie point is like<br>[08:48] well the feedback loop of the engineers<br>[08:49] also matter. It's kind of like they get<br>[08:51] so um it's super interesting super<br>[08:55] interesting. Um and what you mentioned a<br>[08:58] bit Francine but I wonder if someone<br>[08:59] else has I don't know for example Ren I<br>[09:01] think you I would love your take on<br>[09:04] this. What are the most common form of<br>[09:06] pipeline friction that the team<br>[09:07] normalize? So friends mentioned one for<br>[09:10] sure but uh are and uh are actually to<br>[09:14] sign or signal of a deeper issue or of<br>[09:18] deeper issues in your mind.<br>[09:21] >> I think probably the the biggest one<br>[09:24] that I've seen or the most common one<br>[09:25] that I've seen is the tests that are<br>[09:28] flaky where oh yeah it failed that time<br>[09:31] just run it again it'll succeed the<br>[09:33] second time. We don't know why nobody's<br>[09:35] ever had the time to really dig into it<br>[09:38] because at least on practically every<br>[09:41] engineering team that I've ever worked<br>[09:42] on, there's never enough time and<br>[09:44] there's always something that's higher<br>[09:45] priority. So when you have these little<br>[09:47] annoyances like the little paper cuts<br>[09:49] like, you know, the the build that's<br>[09:51] just a few seconds too long or the tests<br>[09:53] that are flaky every so often, it's not<br>[09:56] enough of a priority to like, all right,<br>[09:58] stop the line. Let's dig in and really<br>[10:00] figure out what's going on. but just<br>[10:02] these little annoyances that you never<br>[10:03] really notice until somebody new joins<br>[10:05] your team and then you have to explain<br>[10:07] them to somebody and you're like that's<br>[10:09] kind of embarrassing. Why didn't we fix<br>[10:11] that? Um, so I think it can be really<br>[10:13] important, especially when we're talking<br>[10:15] about these internal feedback loops, to<br>[10:17] just think about ways of capturing that<br>[10:21] information. And one thing that I like<br>[10:23] to do is like do a team hack week every<br>[10:25] so often where you you know prioritize<br>[10:27] fixing those things that nobody's had<br>[10:29] time time or priority to fix before.<br>[10:32] >> Yeah. And the number one fix for flaky<br>[10:34] tests is that people just comment them<br>[10:36] out like and I don't have any actual<br>[10:38] research or evidence for that but I've<br>[10:39] opened up a lot of code bases where<br>[10:41] there's lots of tests that are just<br>[10:42] commented out and it's always because<br>[10:44] they kept on kind of flip-flopping<br>[10:46] between green and red and it was just<br>[10:48] too much effort to try and fix it. Um,<br>[10:50] so yeah, that that resonates. I think<br>[10:53] that's a that's a major problem.<br>[10:57] >> So, so Danny, it sounds like that what<br>[10:59] you're saying is um slow and flaky are<br>[11:03] the two main common<br>[11:06] >> or just less useful. Like one thing I've<br>[11:08] also seen is a ongoing drift between,<br>[11:11] you know, a staging and a production<br>[11:12] environment where ideally those are are<br>[11:15] pretty similar. So if you deploy<br>[11:16] something to staging, you know, it's<br>[11:18] probably going to work the same way in<br>[11:20] production, but then drift happens and<br>[11:23] you end up with the same sort of thing<br>[11:24] where you lose confidence in the system.<br>[11:27] It's not doing what it's supposed to do,<br>[11:29] which can also, you know, the the loop<br>[11:32] is giving you incorrect feedback. So<br>[11:34] that's not it's not doing its job there.<br>[11:36] Yeah, I've I've seen a a problem that<br>[11:38] happens quite a lot where um the<br>[11:41] developers like will automate their<br>[11:43] deployments to dev and test, but then<br>[11:46] there's a more traditional ops team that<br>[11:48] wants to do the production deployment.<br>[11:50] And so you then end up in a situation<br>[11:53] where you're like you get this<br>[11:54] confidence dev worked fine, test worked<br>[11:56] fine, and then the production deployment<br>[11:59] doesn't work because it's not done in<br>[12:01] the same way that the dev and test<br>[12:02] deployments were done. Um, so that's a<br>[12:05] really common problem and I've I've hit<br>[12:07] that so many times in my career. Um,<br>[12:09] where we've solved the problem but can't<br>[12:13] complete that all the way into<br>[12:14] production. Um, you know, only takes a<br>[12:17] tick box to be missed. I worked on one<br>[12:19] application where they did the whole<br>[12:20] checklist apart from double clicking on<br>[12:22] the installer. So there was actually no<br>[12:24] software installed as part of their<br>[12:26] whole deployment process. So yeah, you<br>[12:30] kind of need to make sure your<br>[12:31] environments are reasonably similar. Um,<br>[12:34] if you use load balancing in production<br>[12:36] and you're not losing using load<br>[12:38] balancing in test, you're going to find<br>[12:40] little things like, oh, we were using<br>[12:41] session state and as I move to a<br>[12:43] different server, the session state is<br>[12:44] not there. Oops, we should have used our<br>[12:46] redis cache or whatever. So yeah, you<br>[12:48] kind of want to have that similarity all<br>[12:50] the way through. Um, and like if you're<br>[12:53] changing your process for deployments,<br>[12:55] you want to make sure that it follows<br>[12:57] the same path to production. We're<br>[12:59] really good now at making sure my code<br>[13:00] change goes to dev and then to test and<br>[13:03] then to production, but sometimes we<br>[13:05] change our deployment process. We're<br>[13:06] like, oh, when we deploy to test, we<br>[13:08] miss something. We'll we'll update the<br>[13:10] process for it or we'll change how it<br>[13:11] works. And then the next deployment you<br>[13:13] do is production on this process you've<br>[13:16] never even used before. It's like the<br>[13:18] first time you've used it. So you kind<br>[13:20] of want to flow that through the same<br>[13:22] path like oh the process didn't work<br>[13:24] we'll update the process then we'll<br>[13:26] deploy to dev again and then to test and<br>[13:28] now we've tested our process twice as<br>[13:30] well as the application.<br>[13:33] >> Yeah makes sense. I mean I have a bit of<br>[13:35] a spicy take here so I'll put I'll put<br>[13:38] it down right. Um, I seen so many teams<br>[13:43] spending I was going to say wasting but<br>[13:45] maybe it's too strong so much time<br>[13:47] trying to make a staging equal to<br>[13:51] production instead of like a building<br>[13:54] capability to allow them to actually<br>[13:55] test where it really matter that is the<br>[13:57] production environment and so I um I<br>[14:01] wonder if the people have this anyway<br>[14:03] this is what we do at Kraken we don't<br>[14:04] have a staging environment we try to<br>[14:06] define a way that is safe in production<br>[14:08] so that we can do some you know some<br>[14:10] testing there and then we're roll out to<br>[14:13] uh other clients. Um I'm wondering how<br>[14:16] much uh is this something you explored<br>[14:18] as well or<br>[14:21] >> Yeah, I mean my my view on that is that<br>[14:24] um it should be the same shape as<br>[14:26] production, your staging environment,<br>[14:28] but it can be miniature, right? So you<br>[14:30] probably don't need to have your full<br>[14:33] spec like of everything running, but if<br>[14:37] you're doing things like load balancing<br>[14:39] or if you have caches and things like<br>[14:41] you want all of that stuff to be there<br>[14:43] in miniature and to be cheap and ideally<br>[14:46] easy to set up with automation. Like I<br>[14:49] think we're past the point where we want<br>[14:51] to be clickopsing our environments cuz<br>[14:54] they just like 5 minutes later you have<br>[14:57] a completely different environment to<br>[14:58] what you expected cuz things change. so<br>[15:00] rapidly. So we want to automate those<br>[15:02] environments and we want to have them in<br>[15:04] miniature but we also know that testing<br>[15:07] itself is miniature. We might run a<br>[15:09] thousand tests but then when we put our<br>[15:12] software live there's like it's not<br>[15:15] going to be a thousand people using it.<br>[15:16] It could be millions of people using it<br>[15:18] and they do all kinds of things we can't<br>[15:20] anticipate. And so we need to that's<br>[15:23] where that observability of what's<br>[15:24] happening in production becomes so<br>[15:25] useful because users create ideas of how<br>[15:29] to use your software that you never<br>[15:30] anticipated and it can make it go um<br>[15:33] wrong you know<br>[15:37] >> thank you. Um<br>[15:40] thank you. Um I'm wondering no one has<br>[15:44] uh you know said the uh the M word yet<br>[15:48] that is metrics and I'm surprised<br>[15:51] because it come out after 30 seconds<br>[15:53] normally. So uh so instead of you asking<br>[15:56] the usual question I want to ask like a<br>[15:58] contrarian question is where actually<br>[16:00] where do measurement you know of system<br>[16:03] actually distort feedback instead of<br>[16:04] improving it. Is there is there like<br>[16:07] some some situations some scenario where<br>[16:10] actually sometimes I do a disservice<br>[16:12] more than helping<br>[16:17] >> Steve I know you see me let's go with<br>[16:20] you<br>[16:20] >> I I always when metrics comes up I<br>[16:22] always try to pause for a minute because<br>[16:23] I know I get over excited about the<br>[16:25] subject of metrics there's loads of<br>[16:27] really positive things from metrics<br>[16:30] um mostly it's the fact that when we<br>[16:33] measure something it can prove us wrong<br>[16:35] and we can learn counterintuitive<br>[16:37] things. Lots of good stuff, but there's<br>[16:40] also a flip side to it that I mean a<br>[16:43] good example would be we've kind of<br>[16:44] established quite firmly about<br>[16:46] throughput and stability in the Dora um<br>[16:49] research. So, we know that deploying<br>[16:51] more often, having shorter change lead<br>[16:53] times, these are all good things, but<br>[16:56] also we've all used software on our<br>[16:58] phones and when it nags us every day to<br>[17:01] say there's a new version of this app,<br>[17:03] it's actually irritating, right? So um<br>[17:06] if we just take the metrics in<br>[17:09] isolation, we want to deploy as often as<br>[17:11] possible, but we're not listening to the<br>[17:14] users and being close to the users. We<br>[17:16] can create situations like that where<br>[17:19] like I have some apps that I've<br>[17:21] seriously considered just deleting the<br>[17:22] app because I'm so fed up with being<br>[17:24] told every day there's an update for it.<br>[17:26] Um it's it's a burden on me as a user.<br>[17:30] So metrics don't always give you the<br>[17:31] complete picture. And you know I think<br>[17:33] there are some famous quotes from past<br>[17:36] like uh leaders you know if you go into<br>[17:38] that Ducker and Deming space there's a<br>[17:40] huge amount of stuff that we can't<br>[17:42] effectively measure and human judgment<br>[17:45] is needed. So don't just depend on<br>[17:47] metrics.<br>[17:51] >> I was actually going to say something<br>[17:53] very similar that like these days it<br>[17:55] feels like you can come up with metrics<br>[17:57] for anything but you need to be careful<br>[17:59] that you're measuring the right thing.<br>[18:01] And I think you know what you said Steve<br>[18:03] about like the end user experience and<br>[18:05] you know your phone nagging you like oh<br>[18:07] yeah I've I've done the same thing and I<br>[18:09] think we can get so bogged down in the<br>[18:11] metrics to steal your sandwich metaphor<br>[18:13] we can be like okay we got to make sure<br>[18:14] that we are getting the cheese on that<br>[18:16] sandwich really really fast and you you<br>[18:18] get so focused on that particular metric<br>[18:21] that you forget that you're supposed to<br>[18:23] be serving burritos instead of<br>[18:24] sandwiches and it's yeah people can get<br>[18:28] really kind of rabbit holed into let's<br>[18:30] make sure that the metrics look good<br>[18:32] because oftentimes, you know, that can<br>[18:34] be how your team gets headcount or you<br>[18:36] get a bigger budget is if you meet your<br>[18:38] metrics. So, you got to make sure you're<br>[18:39] meeting your metrics. But ultimately,<br>[18:42] we're not doing what we're doing in<br>[18:43] order to make the numbers on a graph do<br>[18:46] a certain thing. We are trying to solve<br>[18:48] problems for people. And so, it's really<br>[18:50] important to keep that in mind and not<br>[18:52] just focus on the metrics.<br>[18:57] Uh I I would add that an example by<br>[19:02] setting a strict goal like commit and go<br>[19:05] to stage environment and x minutes is<br>[19:08] not a good met at all because when<br>[19:12] people try to achieve those goals or<br>[19:14] pursuing it is like by maybe removing<br>[19:18] test and reducing validation to reach<br>[19:20] the number and I think it's not just<br>[19:24] what we want to We want to go to safely<br>[19:27] depo deployment. We get to we um have<br>[19:33] this healthy loop inside of all the the<br>[19:37] circle.<br>[19:39] >> Yeah, that's such a good point. Like if<br>[19:41] you if you want that deployment to be<br>[19:42] super fast, just delete all the tests.<br>[19:44] Hooray. Yeah, it's you can see people<br>[19:46] doing that. And if you actually think<br>[19:48] about the outcomes you're expecting, you<br>[19:51] kind of yes, you still want to try and<br>[19:54] get feedback to the developer really<br>[19:55] quickly so they know if they've broken<br>[19:57] something, they're almost like, I know<br>[19:58] which line of code I've just done um<br>[20:00] that's caused this, so I know exactly<br>[20:02] where to look. Pinpointing cost of zero.<br>[20:05] Um uh but if you have longer running<br>[20:07] tests, that's fine, too. Right? After<br>[20:10] you've given some feedback to the<br>[20:11] developers, you carry on doing more<br>[20:12] tests. You run some tests in parallel.<br>[20:15] But yeah, you wouldn't want to reduce<br>[20:17] the the valuable steps, you know, and<br>[20:20] what happens if we if we do that, we<br>[20:22] remove the test automation, but now we<br>[20:24] need to have a actual like manual<br>[20:26] testing phase that's much longer.<br>[20:29] >> So, you know, we're kind of we're<br>[20:30] robbing ourselves, I think, if we do<br>[20:32] that.<br>[20:34] Yeah,<br>[20:38] I'm I'm worried that if we continue on<br>[20:39] metrics, we may spend all day speaking<br>[20:41] about metrics, but I I think I totally<br>[20:44] agree with what you're saying. You know<br>[20:45] like if I give an example I used to be<br>[20:47] in in the platform team where the goal<br>[20:49] was to reduce 30% of the you know like<br>[20:52] the the request requests were from<br>[20:55] people using the platform and I used to<br>[20:57] joke around that like a very good way<br>[20:58] would be to delete the slack channel<br>[21:00] where we would get the request you know<br>[21:02] it will certainly improve the metrics<br>[21:04] but it wouldn't achieve the goal and the<br>[21:06] reason is because some some metrics are<br>[21:10] lagging you're going to find out only<br>[21:12] when uh you know when things are<br>[21:14] happening. that it's a bit too late to<br>[21:16] navigate if you're doing the right<br>[21:17] direction or not and it is extremely<br>[21:19] hard to find a leading metrics that help<br>[21:22] you figure out if you're going<br>[21:23] direction. So, but I'm going to pause on<br>[21:25] metric because I think we may going to<br>[21:27] get too excited about it and move to<br>[21:29] something else. I wanted to touch base<br>[21:30] with you all. So, I want to go back to<br>[21:33] what something we said before that is<br>[21:35] like another systemic issue. Why do<br>[21:37] teams tolerate broken feedback loops for<br>[21:40] so long? Why don't they fix them<br>[21:42] earlier? Uh there is certainly a problem<br>[21:44] that I'm feeling at times myself. So<br>[21:47] Francine, what do you think? What what's<br>[21:49] your take?<br>[21:52] >> Um I I think that people get used to<br>[21:55] them. It's something always have been<br>[21:58] slow. Uh people stop questioning and<br>[22:02] just become how things works.<br>[22:05] And I I think there's also some kind of<br>[22:08] roadmap pressure because making<br>[22:12] improvements in pipelines and looking<br>[22:14] for the feedback loop feels like doing<br>[22:17] some internal work and the internal work<br>[22:21] will not give the vis the visible<br>[22:24] progress in the road map. So it will get<br>[22:28] the prior the prioritize and<br>[22:31] uh as a like a platform engineer I would<br>[22:34] say that another factor is that uh<br>[22:38] there's not clear ownership about it and<br>[22:42] this usually cross boundaries like the<br>[22:45] code the platform the infrastructure so<br>[22:48] there's no single team that feels fully<br>[22:51] responsible for it and what some some<br>[22:55] thing that I've seen is when there is<br>[23:00] these bunch of pull requests that are<br>[23:03] opened by bots like these bots that will<br>[23:07] bump library versions or do some little<br>[23:10] things in the code and sometimes this<br>[23:14] request will fail in with a llinter<br>[23:18] issue and in that point there's this<br>[23:22] kind of uh manually approach that a<br>[23:25] person need to pull the branch locally,<br>[23:28] fix the link error, commit, push, ask<br>[23:32] for a pull request, review again and<br>[23:34] then merge the pair uh merge the PR. I I<br>[23:37] think this is repetitive and is this is<br>[23:40] something that I in my experience I pass<br>[23:43] it through and what we've uh solve it or<br>[23:48] improve the the feedback loop in this<br>[23:51] case because the system was given the<br>[23:53] feedback the link failed. So something<br>[23:55] that we've I I've done is instead of<br>[24:00] keeping the manual process, we introduce<br>[24:02] a small automation. When a comment with<br>[24:07] uh a comment in a p request with a<br>[24:09] command that will uh trigger the<br>[24:12] pipeline will run the linked fix<br>[24:15] command, commit the change and update<br>[24:18] the p request automatically. So the<br>[24:20] person could always review again the<br>[24:23] request and merge it without the need of<br>[24:27] uh doing the manual work uh again. So I<br>[24:31] I think this is uh people will tolerate<br>[24:34] these broken feedback feedback loops<br>[24:37] because the system is still functions<br>[24:40] but is just inefficient.<br>[24:45] Is it like similar to the principle of<br>[24:47] like make it easy to do the right next<br>[24:50] action or something like that? Is that<br>[24:52] is that on this page? Yeah,<br>[24:54] >> there's an element of that I think.<br>[24:55] Yeah, I kind of feel that humans have<br>[24:57] this built-in mechanism like when we put<br>[24:59] our clothes on, our brain knows to stop<br>[25:02] telling us we're wearing clothes<br>[25:04] um so that we don't go around all day<br>[25:06] thinking, "Oh, I'm wearing clothes."<br>[25:07] Right? It's like they're rubbing on us<br>[25:09] and they're there. But our brain just<br>[25:10] goes, "You don't need to know about<br>[25:12] that." And I think that same mechanism<br>[25:14] can work when we've got flaky tests or<br>[25:17] the build's taking a bit too long or<br>[25:19] humans are having to intervene in what<br>[25:20] should be automated pull requests. So I<br>[25:22] think there's there's something very<br>[25:24] like uh bronze age about that part of<br>[25:27] our brain.<br>[25:31] I think also there can be just competing<br>[25:34] priorities where the team just has too<br>[25:37] much to do or you know it's not the<br>[25:41] shiny feature work that is going to you<br>[25:43] know look really good on a slide deck<br>[25:45] somewhere and it's just hard to justify<br>[25:49] yeah we're going to you know stop<br>[25:50] building new stuff for customers and go<br>[25:53] fix the builds like that's that's not<br>[25:55] glamorous and shiny. So people even if<br>[25:58] they want to do it they aren't<br>[26:00] necessarily getting you know the<br>[26:01] approval from from managers or above you<br>[26:03] know that that level up higher uh to to<br>[26:06] be able to do those things. I think one<br>[26:08] thing that can be really interesting is,<br>[26:10] you know, ask the engineers on the team<br>[26:13] like if you could wave a magic wand and<br>[26:15] fix one thing, what would it be? And<br>[26:17] then really listen to those results<br>[26:19] because I think a lot of times people do<br>[26:21] like yet there is definitely a<br>[26:23] normalization of deviance of just like<br>[26:25] we we forget the friction when it's<br>[26:27] there every day. But I think there's<br>[26:29] also a lot that it's like, oh, I would<br>[26:30] love to do that. Maybe I'll wait until,<br>[26:33] you know, nobody's looking and then<br>[26:34] just, you know, the day when everyone<br>[26:36] like working in Europe with a Europe<br>[26:39] with an American team. You know, the day<br>[26:41] of Thanksgiving and the day after is<br>[26:42] when I'm like, I'm going to go fix the<br>[26:44] builds because nobody's around to tell<br>[26:45] me not to.<br>[26:49] >> Yeah,<br>[26:49] >> I love that. Maybe we need to celebrate<br>[26:51] those things more as well. Like we don't<br>[26:53] pop champagne corks when we make builds<br>[26:56] better and when we make deployments<br>[26:58] better and when our observability is<br>[26:59] telling us things before a customer<br>[27:01] knows about it. We need to start popping<br>[27:03] champagne for those as well.<br>[27:06] Um I'll tell you something that I<br>[27:08] started doing in January. Maybe it's<br>[27:09] useful to others. Um I started doing<br>[27:12] like a a tech lens for my department<br>[27:15] where I on purpose mostly asked to do to<br>[27:19] showcase things that basically like I I<br>[27:22] care about. So at the moment I care<br>[27:24] about improve operability. I care about<br>[27:26] like you know systemic architecture<br>[27:28] changes allow us to be more efficient.<br>[27:30] So on so basically I I cherry pick and I<br>[27:33] say teams I want to just talk about this<br>[27:34] stuff. It doesn't mean the other stuff<br>[27:36] it doesn't it doesn't have to be<br>[27:38] listened to right just that there are<br>[27:39] other avenue where we we have a lot of<br>[27:41] champagne pop paying for those stuff. So<br>[27:44] it's a way to normalize that there is<br>[27:46] that there is some ground work that<br>[27:48] maybe it's not celebrated enough but<br>[27:50] when it does it like it pay off a huge<br>[27:53] amount. So that's something that is<br>[27:55] working well well in case it's something<br>[27:57] that you're interested in implementing.<br>[27:59] Um but yeah let let me R given that you<br>[28:04] you kind of mentioned it so I wanted to<br>[28:05] go a bit deeper on this one. Uh Ren<br>[28:08] sorry um if you are an engineering<br>[28:13] manager and you know your build as low<br>[28:15] but you have a road map pressure how do<br>[28:17] you actually justify investing in<br>[28:19] pipeline improvements? So you you<br>[28:21] mentioned it you mentioned the pain but<br>[28:23] tell me more about what you think about<br>[28:24] the solution could be. Yeah, I think in<br>[28:27] a lot of bit I mean it'll depend based<br>[28:29] on what your org values but you know if<br>[28:32] we talk about metrics again a lot of a<br>[28:35] lot of companies love metrics and<br>[28:36] especially if you're trying to justify<br>[28:38] this to the higherups they care about<br>[28:40] the the metrics that have dollar signs<br>[28:42] in front of them. So, if you're able to<br>[28:44] put together something that says like,<br>[28:46] "Hey, we've spent, you know, x number of<br>[28:49] hours waiting for slow builds or this<br>[28:52] this number of hours rerunning the flaky<br>[28:55] tests or, you know, when production went<br>[28:59] down for this amount of time because we<br>[29:01] didn't have a proper staging environment<br>[29:03] set up and we couldn't test things<br>[29:04] properly, you know, that lost us this<br>[29:07] amount of money." And if you can put<br>[29:08] dollar signs in front of it, then you<br>[29:11] can usually, you know, get the buy in to<br>[29:14] to focus on those sorts of things. Um,<br>[29:17] if you're not on a platform team, it can<br>[29:19] also help to go ask the platform team<br>[29:21] for help because like being on a<br>[29:24] platform team, we have the ability to<br>[29:26] kind of scale that out. So, we're not<br>[29:28] just fixing one team's pipelines, but,<br>[29:30] you know, we could make changes that can<br>[29:32] scale up everyone's, you know, make<br>[29:34] everyone's builds faster, more reliable.<br>[29:37] So finding ways to leverage that scale<br>[29:39] where you can say okay the you know the<br>[29:41] platform team can help you know fix<br>[29:43] these CI problems which will enable the<br>[29:46] feature teams to do X Y and Z then you<br>[29:48] can kind of talk about those trade-offs<br>[29:50] that way.<br>[29:52] >> I also think as a profession we need to<br>[29:55] bear in mind that we are professionals<br>[29:58] doing a difficult job and in a lot of<br>[30:02] cases this this question comes up for<br>[30:04] things like TDD as well. It's like we we<br>[30:06] haven't got time and we need to ask<br>[30:07] permission to get time to do it. But by<br>[30:11] doing it, you're freeing up your own<br>[30:12] time. So you can make a small investment<br>[30:15] and then use the time you win back from<br>[30:17] that small investment to reinvest again<br>[30:19] and fixing things like tests, uh, build<br>[30:23] servers, deployment, automation,<br>[30:24] observability,<br>[30:26] all pay you back in time. So you put an<br>[30:29] hour in, you get time back, you put that<br>[30:31] time in, and you get increasing amounts<br>[30:33] of time to improve this stuff. Um, and<br>[30:36] if my plumber came to me and said, "Oh,<br>[30:38] I wanted to use copper pipes here, um,<br>[30:41] because if I use these plastic pipes,<br>[30:44] they're not as good and the joints<br>[30:45] aren't as strong." I'd be like, "Why are<br>[30:46] you telling me this?" I'm like, "I I<br>[30:48] trust you. I've paid you to come and do<br>[30:50] my plumbing. I would like a quality<br>[30:52] outcome. You don't have to ask me<br>[30:54] permission on what pieces to use. And if<br>[30:58] there's a regulation that says you have<br>[30:59] to put in these isolated valves, I'd<br>[31:01] expect you to just do it." Like don't<br>[31:02] come and say, "Oh, should I follow the<br>[31:04] regulation and put in isolator valves?"<br>[31:06] It's like your job as a professional is<br>[31:08] to know all of that and just make it<br>[31:09] happen.<br>[31:15] >> Yeah. I think this is an end thing like<br>[31:18] uh Steve ran both of you said need to<br>[31:20] play at the same time. I really like<br>[31:22] what Ran said because I think it's<br>[31:24] something that we don't do enough of. We<br>[31:26] don't justify I think even like the<br>[31:29] existence of our teams. you know, I've<br>[31:31] been in a situation where the existence<br>[31:33] of the platform team wasn't well, you<br>[31:35] know, communicated and then there was a<br>[31:37] layoff and we lay off a large amount of<br>[31:40] platform team and surprise the speed or<br>[31:43] flow, whatever you want to call it, it<br>[31:45] went down. So, it's kind of like I think<br>[31:47] um it resonated a lot with me. Thank you<br>[31:49] for sharing Paul. Um<br>[31:53] maybe<br>[31:57] let me think about where we want to go.<br>[31:59] I'm I'm keen to understand um what<br>[32:02] systemic shift open to you all uh not<br>[32:06] just tooling tweaks uh will materially<br>[32:09] improve feedback speed today it's kind<br>[32:12] of like you know if you think globally<br>[32:14] not necessarily tooling what will help<br>[32:18] Steve you want to give it a go and then<br>[32:20] we see<br>[32:20] >> yeah I can jump in I think um one of the<br>[32:24] the big untapped um resources that we<br>[32:27] all have available to us is um user<br>[32:31] feedback. Um uh I've worked in a lot of<br>[32:34] organizations where as a developer um<br>[32:38] the idea of you speaking directly to the<br>[32:40] people using the software was almost<br>[32:41] like what are you thinking? Go and sit<br>[32:44] in your basement man you know. Um, but<br>[32:47] we now know that like connecting that up<br>[32:51] so developers are sitting with real<br>[32:54] users of the software, seeing how they<br>[32:56] use it, having conversations<br>[32:58] makes you a high performing product<br>[33:00] team. Um, and even if you're slightly<br>[33:03] slower in terms of deployment frequency<br>[33:05] and lead times, that user centricity<br>[33:08] actually brings your performance up to<br>[33:10] like the highest levels. So um I think<br>[33:14] at the moment there's so much<br>[33:16] conversation about flatline speed that<br>[33:19] this user centricity part is missing and<br>[33:22] that's that's like a gold mine of<br>[33:25] untapped resource that we should be<br>[33:27] looking at.<br>[33:31] I think that's really true and<br>[33:32] especially when you have you know<br>[33:35] internal teams whose customers are other<br>[33:38] engineering teams like the platform<br>[33:40] teams or the dev tools team or you know<br>[33:42] those sort of internal teams like we've<br>[33:44] been focused a lot at at Mapbox on how<br>[33:47] to improve communication you know<br>[33:49] between platform and our customers and I<br>[33:52] think really you know when you're<br>[33:54] talking about internal teams there's no<br>[33:55] excuse because these people are you know<br>[33:57] at the ne next desk or the Slack channel<br>[34:00] over. Um, so finding ways to to get that<br>[34:05] feedback from from your customers, like<br>[34:08] you can't not do it. Um, the other thing<br>[34:11] I think is interesting is kind of<br>[34:14] cultural feedback loops where we're not<br>[34:17] just thinking about how do we make our,<br>[34:20] you know, CI pipelines better, but how<br>[34:22] do we make our overall work processes<br>[34:24] better. So doing stuff like<br>[34:26] retrospectives with the team to just<br>[34:28] talk about like hey how how is how is<br>[34:31] work going for everyone? Are there<br>[34:33] things that are going well? Are there<br>[34:34] things that are going not well? What<br>[34:36] could we be doing better to work<br>[34:38] together? You know especially when you<br>[34:41] have these, you know, oh it's all about<br>[34:43] the DevOps. How do we make sure that<br>[34:45] we're working together as effectively as<br>[34:48] possible and tightening up all of those<br>[34:50] feedback loops, whether they're<br>[34:52] technical or not,<br>[34:54] >> and putting the action items from your<br>[34:56] retro onto the same task board that you<br>[34:59] put all of the other work. That's that's<br>[35:00] probably the biggest mistake I've made<br>[35:02] throughout my whole career is forgetting<br>[35:03] to actually write that stuff down to<br>[35:06] make space for it.<br>[35:09] And building on that that Ren said about<br>[35:12] listen to the our customers like we are<br>[35:16] from platform and listen to our<br>[35:18] customers. I I think doing these surveys<br>[35:21] is really insightful when we are<br>[35:24] developing or maybe tweaking those<br>[35:27] little things that makes the daily<br>[35:30] working more uh joyable. I would say<br>[35:33] it's not like a pressure in the day that<br>[35:37] I know this is is low again. So I can<br>[35:41] tweak this and this we can have this<br>[35:44] feedback from our customers. I would say<br>[35:47] that we should treat as we as platform<br>[35:51] engineers, we should treat the platform<br>[35:53] as a product and our customer as our<br>[35:56] real customers doing this uh surveys<br>[35:59] this and uh have this actional<br>[36:04] actionable items<br>[36:07] >> and to all of my friends in the platform<br>[36:08] engineering world that does mean you<br>[36:10] can't just decide what is good for<br>[36:12] people like I know that like platform<br>[36:15] engineers are often the people that have<br>[36:17] the most experience with these pieces,<br>[36:18] which is why they're in platform<br>[36:20] engineering now. But yeah, don't don't<br>[36:23] be overconfident that you know what is<br>[36:26] needed. You have to connect it back to<br>[36:28] real needs.<br>[36:30] Yeah, I mean uh another<br>[36:34] picy take here is that it's natural that<br>[36:37] you know easily um if the platform<br>[36:40] wasn't mandatory you you know you will<br>[36:43] see exactly if actually what you built<br>[36:45] fit what people want to use it for<br>[36:47] because people just doing themselves but<br>[36:50] it's challenging where the only avenue<br>[36:52] to do some stuff is by their platform<br>[36:54] because then it doesn't force the people<br>[36:56] who are building the tool to think hard<br>[36:58] about like what's the right abstraction<br>[37:00] level, what is the right way to on board<br>[37:02] people and so on. So I think it's a yeah<br>[37:05] it's a it's it's an interesting<br>[37:07] challenge for large and cost like heavy<br>[37:10] platform where actually everybody doing<br>[37:12] what they want is is not an easy option.<br>[37:15] So I appreciate that and um Ren I have<br>[37:20] another actually another another thing I<br>[37:23] wanted to run by you that is um<br>[37:27] I design loops um so that I don't just<br>[37:33] so that basically remaining sustainable<br>[37:35] and human for teams um I think it's also<br>[37:38] like sometime we go you know maybe we<br>[37:42] talk a bit when we talk about metric but<br>[37:43] sometime we go a bit over board. So, um,<br>[37:46] what's your take?<br>[37:49] >> Yeah, I think it's<br>[37:51] like I' I've said this before, I'll say<br>[37:53] it again, I'll say it forever. We have<br>[37:55] to remember that we are solving problems<br>[37:57] for people, not for computers, not for<br>[38:01] metrics. So, thinking about what are we<br>[38:03] actually trying to accomplish? Like I I<br>[38:06] sometimes I have to, you know, be a<br>[38:08] customer who writes into customer<br>[38:10] service myself and you can kind of tell<br>[38:12] as a customer when somebody is being<br>[38:14] judged on the metric of how quickly they<br>[38:16] close the tickets because that's when<br>[38:18] you get the copypaste response that<br>[38:20] doesn't answer your question, but it<br>[38:22] came in 30 seconds and you can you can<br>[38:24] tell what that metric is and you can<br>[38:26] tell that that is not a happy person who<br>[38:28] is probably having a great time at their<br>[38:31] jobs. And I think yeah, it's important<br>[38:33] to remember the the human side of<br>[38:35] things. So for managers, keep keep tabs<br>[38:39] on how your how your teams are doing,<br>[38:42] how you know fulfilled people are listen<br>[38:46] when people are saying like this isn't<br>[38:48] working, this isn't sustainable, and<br>[38:50] find ways to to try and make those<br>[38:53] improvements as much as you can. I think<br>[38:55] celebrating the wins like we we talked<br>[38:58] about the champagne earlier and<br>[39:00] especially for internal teams like<br>[39:02] platform teams that are often just seen<br>[39:04] as a cost center that's like what do we<br>[39:06] even have them for we could just you<br>[39:08] know outsource that to chat GPT right so<br>[39:10] being able to find ways to share like<br>[39:13] hey these are the wins like these are<br>[39:15] this is what we did for our customers<br>[39:17] you know on the on the other dev teams<br>[39:20] this is what we did that's valuable so<br>[39:22] you can share that within the org which<br>[39:24] not only helps you celebrate the wins,<br>[39:26] but also kind of show shows the value<br>[39:29] that you bring to the org that might<br>[39:30] otherwise just be invisible because I<br>[39:32] think we tend to have one of those jobs<br>[39:34] where if you're doing it really well,<br>[39:36] nobody notices that you exist.<br>[39:40] >> Yeah. And you can be really lightweight<br>[39:43] in checking in on um how developers<br>[39:46] feel. Uh, I'm pretty sure I'm stealing<br>[39:47] this idea from Jim Benson where he said<br>[39:50] each card that you complete, just draw a<br>[39:52] face on it, like a smiley face or an<br>[39:54] unhappy face or a me face. And you can<br>[39:57] get a really good temperature check of<br>[39:59] how the team is doing. And as leaders,<br>[40:03] we have to be super careful that we<br>[40:05] don't explain away when people aren't<br>[40:07] feeling great. It can be tempting to<br>[40:09] kind of put a narrative around it or<br>[40:11] say, "Oh, that that person is quite<br>[40:13] negative or whatever, but actually<br>[40:16] they're sending signals. The reason<br>[40:17] you're having to explain it away is<br>[40:18] because they're almost like waving and<br>[40:21] saying help." Um, so dig deeper and try<br>[40:24] not to just rationalize why people<br>[40:27] aren't happy. Go and find out what you<br>[40:29] could do to improve that situation.<br>[40:34] >> Yeah, makes sense. And uh I I I I<br>[40:38] started seeing a couple of question<br>[40:39] coming from the audience. So what I<br>[40:41] would like to do is to try to get the<br>[40:43] last one of our question that I have and<br>[40:46] then I wouldn't mind to respond to one<br>[40:48] and then we leave the other for slack if<br>[40:51] it's okay with you all. Should we do it?<br>[40:53] >> Yeah.<br>[40:53] >> Um okay Francine um I I would love your<br>[40:58] take. So uh let's say if you are we are<br>[41:01] advising a leadership team today uh what<br>[41:03] leading indicator would you track to<br>[41:05] know whether your feedback loops are<br>[41:07] healthy? I know we talk about like the<br>[41:09] you know the peril of measuring but it's<br>[41:12] like if if you had to do it what what<br>[41:14] would you what would you measure?<br>[41:17] Um, I would focus on lead indicators<br>[41:21] that show how fast and how safely the<br>[41:25] system learns. From, for example, a<br>[41:28] quantitative perspective, I track things<br>[41:32] like build time, test retries, flake<br>[41:35] tests, and automated rollbacks. If those<br>[41:39] start increasing, uh, I I I say it<br>[41:42] feedback is slowing down or becoming<br>[41:45] less reliable. But if only the numbers<br>[41:50] are not enough, I would pay attention to<br>[41:54] the qualitative signals. Uh if engineers<br>[41:57] start normalizing friction as we talk<br>[42:00] about or creating workarounds that uh uh<br>[42:05] an early uh warning signing that<br>[42:08] something isn't healthy. So I would pay<br>[42:10] attention in these kind of indicators.<br>[42:15] >> Thank you.<br>[42:17] Thank you. So let me get like uh a<br>[42:21] question that I quite like uh and then<br>[42:23] we get the other one in the in the<br>[42:25] channel. Um the question is uh there are<br>[42:28] so many feedback loops. Are we building<br>[42:30] the right things? Are we building it<br>[42:32] right? Are we test are the test passing?<br>[42:34] How is the runtime performance? How is<br>[42:36] the team morale and so on? Since it's<br>[42:38] almost impossible to do them all at the<br>[42:39] same time, which feedback loop do you<br>[42:41] leave for last and why? Um so obviously<br>[42:45] like<br>[42:46] Hi.<br>[42:47] >> Yeah, that's fascinating. I think I<br>[42:50] always look at these feedback loops like<br>[42:51] an onion. So the developer's inner loop<br>[42:54] is in the middle, which is when you're<br>[42:55] you write one small line, one small<br>[42:58] change, and you want to make sure that<br>[43:00] the the software still builds, the test<br>[43:02] still pass. There's like a little loop<br>[43:04] there, and that's helping to guide you,<br>[43:06] right? And you're probably adding tests<br>[43:08] as you go as part of that because you're<br>[43:09] asking for a change. So you're either<br>[43:11] editing a test or adding a new test. Um,<br>[43:14] and then you kind of like go out a<br>[43:15] little bit and now there is someone that<br>[43:17] isn't you now giving you feedback on it.<br>[43:20] Maybe there's a code review and they're<br>[43:22] pointing out that you've opened a<br>[43:23] transaction way too early and that's<br>[43:25] going to cause performance problems. And<br>[43:28] then there's another layer outside of<br>[43:29] that where maybe someone does some<br>[43:31] exploratory testing and they're like,<br>[43:33] well, this the way that this form works<br>[43:35] is confusing. I think users are going to<br>[43:37] trip up on this. And so it kind of keeps<br>[43:39] going outwards all the way to even past<br>[43:42] the user feedback. Users can say I love<br>[43:44] using the app. And then there's an even<br>[43:46] wider piece of feedback which is are<br>[43:49] they paying an amount of money which<br>[43:51] allows you to stay in business. Right?<br>[43:54] So which is like the ultimate feedback<br>[43:56] is what does the bank balance look like<br>[43:58] for your organization? Um and how's that<br>[44:01] trending? So that's kind of how we prove<br>[44:04] end to end that we are doing something<br>[44:06] valuable in the world.<br>[44:09] >> Thank you Steve. We had run out of time<br>[44:11] so I need to close but is let's follow<br>[44:14] up on Slack uh because I think there are<br>[44:16] a lot to say about the topic. So I<br>[44:19] wanted to thank you. We don't didn't<br>[44:20] just talk about like sandwiches and<br>[44:22] tacos. Uh we we really talk about like<br>[44:25] feal loops and how to tackle them. I<br>[44:28] wanted to thank you Ren Steven Francine.<br>[44:31] It was generally like a very rich<br>[44:33] discussion and it really brought me joy<br>[44:35] and a lot of very good ideas. So, thank<br>[44:37] you so much.<br>[44:38] >> Thank you very much as well.<br>[44:39] >> Thank you.<br>[44:40] >> Thank you.
<!-- deep-read:sections end -->
๐ **Full text:** ![[Full Document Contents/Articles/Why Good Teams Rely on Bad Workarounds|Why Good Teams Rely on Bad Workarounds, YouTube]]
## Highlights
- painful or even when some of the metrics are misleading if we talk about customer feedback uh then team tend to adapt. they kind of like they adjust to the fact that there are things that are a bit Sorry for for the sword. Uh and those adaption are often rational. It kind of makes sense. Uh but I think in the long term they are going to cost the company quite a lot of money. So today I would us to explore where feedback loops normally break down. um ([View Highlight](https://read.readwise.io/read/01kmv7a9ckycycjt3pddpb4df6))
- Tags: ๐ป ai highlighted
- figure out what's going on. but just these little annoyances that you never really notice until somebody new joins your team and then you have to explain them to somebody and you're like that's kind of embarrassing. Why didn't we fix that? Um, so I think it can be really important, especially when we're talking about these internal feedback loops, to just think about ways of capturing that information. And one thing that I like to do is like do a team hack week every so often where you you know prioritize fixing those things that nobody's had time time or priority to fix before. ([View Highlight](https://read.readwise.io/read/01kmv7a9dasqwvmy68je8wmern))
- Tags: ๐ป ai highlighted
- this healthy loop inside of all the the circle. >> Yeah, that's such a good point. Like if you if you want that deployment to be super fast, just delete all the tests. Hooray. Yeah, it's you can see people doing that. And if you actually think about the outcomes you're expecting, you kind of yes, you still want to try and get feedback to the developer really quickly so they know if they've broken something, they're almost like, I know which line of code I've just done um ([View Highlight](https://read.readwise.io/read/01kmv7a9h2srt7h7mzy22fmmxr))
- Tags: ๐ป ai highlighted
- with you all. So, I want to go back to what something we said before that is like another systemic issue. Why do teams tolerate broken feedback loops for so long? Why don't they fix them earlier? Uh there is certainly a problem that I'm feeling at times myself. So Francine, what do you think? What what's your take? >> Um I I think that people get used to them. It's something always have been slow. Uh people stop questioning and ([View Highlight](https://read.readwise.io/read/01kmv7a9k9sb1h4qajbz8ffva0))
- Tags: ๐ป ai highlighted
- just become how things works. And I I think there's also some kind of roadmap pressure because making improvements in pipelines and looking for the feedback loop feels like doing some internal work and the internal work will not give the vis the visible progress in the road map. So it will get the prior the prioritize and ([View Highlight](https://read.readwise.io/read/01kmv7a9mww0seytpd2kvrfa8y))
- Tags: ๐ป ai highlighted
- over. Um, so finding ways to to get that feedback from from your customers, like you can't not do it. Um, the other thing I think is interesting is kind of cultural feedback loops where we're not just thinking about how do we make our, you know, CI pipelines better, but how do we make our overall work processes better. So doing stuff like retrospectives with the team to just talk about like hey how how is how is ([View Highlight](https://read.readwise.io/read/01kmv7a9whfedvgvz98zrxzh3h))
- Tags: ๐ป ai highlighted
- the right things? Are we building it right? Are we test are the test passing? How is the runtime performance? How is the team morale and so on? Since it's almost impossible to do them all at the same time, which feedback loop do you leave for last and why? Um so obviously like Hi. >> Yeah, that's fascinating. I think I always look at these feedback loops like an onion. So the developer's inner loop is in the middle, which is when you're you write one small line, one small change, and you want to make sure that ([View Highlight](https://read.readwise.io/read/01kmv7aa7pec4527cevm6srgmx))
- Tags: ๐ป ai highlighted
## New Highlights added 2026-03-28 at 7:22 PM
- painful or even when some of the metrics are misleading if we talk about customer feedback uh then team tend to adapt. they kind of like they adjust to the fact that there are things that are a bit Sorry for for the sword. Uh and those adaption are often rational. It kind of makes sense. Uh but I think in the long term they are going to cost the company quite a lot of money. So today I would us to explore where feedback loops normally break down. um ([View Highlight](https://read.readwise.io/read/01kmv7a9ckycycjt3pddpb4df6))
- Tags: ๐ป ai highlighted
- figure out what's going on. but just these little annoyances that you never really notice until somebody new joins your team and then you have to explain them to somebody and you're like that's kind of embarrassing. Why didn't we fix that? Um, so I think it can be really important, especially when we're talking about these internal feedback loops, to just think about ways of capturing that information. And one thing that I like to do is like do a team hack week every so often where you you know prioritize fixing those things that nobody's had time time or priority to fix before. ([View Highlight](https://read.readwise.io/read/01kmv7a9dasqwvmy68je8wmern))
- Tags: ๐ป ai highlighted
- this healthy loop inside of all the the circle. >> Yeah, that's such a good point. Like if you if you want that deployment to be super fast, just delete all the tests. Hooray. Yeah, it's you can see people doing that. And if you actually think about the outcomes you're expecting, you kind of yes, you still want to try and get feedback to the developer really quickly so they know if they've broken something, they're almost like, I know which line of code I've just done um ([View Highlight](https://read.readwise.io/read/01kmv7a9h2srt7h7mzy22fmmxr))
- Tags: ๐ป ai highlighted
- with you all. So, I want to go back to what something we said before that is like another systemic issue. Why do teams tolerate broken feedback loops for so long? Why don't they fix them earlier? Uh there is certainly a problem that I'm feeling at times myself. So Francine, what do you think? What what's your take? >> Um I I think that people get used to them. It's something always have been slow. Uh people stop questioning and ([View Highlight](https://read.readwise.io/read/01kmv7a9k9sb1h4qajbz8ffva0))
- Tags: ๐ป ai highlighted
- just become how things works. And I I think there's also some kind of roadmap pressure because making improvements in pipelines and looking for the feedback loop feels like doing some internal work and the internal work will not give the vis the visible progress in the road map. So it will get the prior the prioritize and ([View Highlight](https://read.readwise.io/read/01kmv7a9mww0seytpd2kvrfa8y))
- Tags: ๐ป ai highlighted
- over. Um, so finding ways to to get that feedback from from your customers, like you can't not do it. Um, the other thing I think is interesting is kind of cultural feedback loops where we're not just thinking about how do we make our, you know, CI pipelines better, but how do we make our overall work processes better. So doing stuff like retrospectives with the team to just talk about like hey how how is how is ([View Highlight](https://read.readwise.io/read/01kmv7a9whfedvgvz98zrxzh3h))
- Tags: ๐ป ai highlighted
- the right things? Are we building it right? Are we test are the test passing? How is the runtime performance? How is the team morale and so on? Since it's almost impossible to do them all at the same time, which feedback loop do you leave for last and why? Um so obviously like Hi. >> Yeah, that's fascinating. I think I always look at these feedback loops like an onion. So the developer's inner loop is in the middle, which is when you're you write one small line, one small change, and you want to make sure that ([View Highlight](https://read.readwise.io/read/01kmv7aa7pec4527cevm6srgmx))
- Tags: ๐ป ai highlighted
## New Highlights added 2026-03-28 at 8:22 PM
- painful or even when some of the metrics are misleading if we talk about customer feedback uh then team tend to adapt. they kind of like they adjust to the fact that there are things that are a bit Sorry for for the sword. Uh and those adaption are often rational. It kind of makes sense. Uh but I think in the long term they are going to cost the company quite a lot of money. So today I would us to explore where feedback loops normally break down. um ([View Highlight](https://read.readwise.io/read/01kmv7a9ckycycjt3pddpb4df6))
- Tags: ๐ป ai highlighted
- figure out what's going on. but just these little annoyances that you never really notice until somebody new joins your team and then you have to explain them to somebody and you're like that's kind of embarrassing. Why didn't we fix that? Um, so I think it can be really important, especially when we're talking about these internal feedback loops, to just think about ways of capturing that information. And one thing that I like to do is like do a team hack week every so often where you you know prioritize fixing those things that nobody's had time time or priority to fix before. ([View Highlight](https://read.readwise.io/read/01kmv7a9dasqwvmy68je8wmern))
- Tags: ๐ป ai highlighted
- this healthy loop inside of all the the circle. >> Yeah, that's such a good point. Like if you if you want that deployment to be super fast, just delete all the tests. Hooray. Yeah, it's you can see people doing that. And if you actually think about the outcomes you're expecting, you kind of yes, you still want to try and get feedback to the developer really quickly so they know if they've broken something, they're almost like, I know which line of code I've just done um ([View Highlight](https://read.readwise.io/read/01kmv7a9h2srt7h7mzy22fmmxr))
- Tags: ๐ป ai highlighted
- with you all. So, I want to go back to what something we said before that is like another systemic issue. Why do teams tolerate broken feedback loops for so long? Why don't they fix them earlier? Uh there is certainly a problem that I'm feeling at times myself. So Francine, what do you think? What what's your take? >> Um I I think that people get used to them. It's something always have been slow. Uh people stop questioning and ([View Highlight](https://read.readwise.io/read/01kmv7a9k9sb1h4qajbz8ffva0))
- Tags: ๐ป ai highlighted
- just become how things works. And I I think there's also some kind of roadmap pressure because making improvements in pipelines and looking for the feedback loop feels like doing some internal work and the internal work will not give the vis the visible progress in the road map. So it will get the prior the prioritize and ([View Highlight](https://read.readwise.io/read/01kmv7a9mww0seytpd2kvrfa8y))
- Tags: ๐ป ai highlighted
- over. Um, so finding ways to to get that feedback from from your customers, like you can't not do it. Um, the other thing I think is interesting is kind of cultural feedback loops where we're not just thinking about how do we make our, you know, CI pipelines better, but how do we make our overall work processes better. So doing stuff like retrospectives with the team to just talk about like hey how how is how is ([View Highlight](https://read.readwise.io/read/01kmv7a9whfedvgvz98zrxzh3h))
- Tags: ๐ป ai highlighted
- the right things? Are we building it right? Are we test are the test passing? How is the runtime performance? How is the team morale and so on? Since it's almost impossible to do them all at the same time, which feedback loop do you leave for last and why? Um so obviously like Hi. >> Yeah, that's fascinating. I think I always look at these feedback loops like an onion. So the developer's inner loop is in the middle, which is when you're you write one small line, one small change, and you want to make sure that ([View Highlight](https://read.readwise.io/read/01kmv7aa7pec4527cevm6srgmx))
- Tags: ๐ป ai highlighted