446: All about rewrites
The Bike Shed12 Nov 2024

446: All about rewrites

When is it time for a rewrite? How do you justify it? If you’re tasked with one, how do you approach it? In today’s episode of The Bike Shed, we dive into the tough question of software rewrites, sharing firsthand experiences that reveal why these projects are often more complicated and risky than they first appear. We unpack critical factors that make or break a rewrite, from balancing developer satisfaction with business value to managing stakeholder expectations when costs and timelines stretch unexpectedly. You’ll hear about real-world rewrite pitfalls like downtime and reintroducing bugs, as well as strategies for achieving similar improvements through incremental changes or refactoring instead. If you’re a developer or team lead considering a rewrite, this conversation offers a pragmatic perspective that could save your team time, effort, and potential setbacks. Tune in to learn how to make the best call for your codebase and find out when a rewrite might actually be necessary!

Key Points From This Episode:

Accessible selectors versus test IDs: best practices in Capybara and React Testing Library.
Balancing test coverage with pragmatism and risk tolerance with Good Enough Testing.
Software rewrites and the tough questions around deciding when they're necessary.
The importance of prioritizing business value over frustrations with the current codebase.
Drawbacks of rewrites, such as downtime, data loss, and reintroducing past bugs.
Risks of “grass is greener” thinking and using mocked data in demos.
Unrealistic expectations of full feature parity and why an MVP approach is better.
How incremental refactoring can achieve similar goals to a complete rewrite.
The appeal and hubris of a “fresh start” and why it’s much more complex than that.
Balancing innovation with practicality: ways to introduce new elements without rewriting.
An example that illustrates when a rewrite might actually be necessary.
Reasons that early prototypes and test builds are the best candidates for rewrites.

Links Mentioned in Today’s Episode:
Mailtrap
WorkOS
Matt Brictson: ‘Simplify your Capybara selectors’
React Testing Library Guidelines
Capybara Accessibility Selectors
Good Enough Testing
‘RailsConf 2023: The Math Every Programmer Needs by Joël Quenneville’
‘Testing Your Edge Cases’
'Working Iteratively'
'Technical Considerations to Help Scale Your Product'
Dan McKinley: ‘Choose Boring Technology'
The Bike Shed
Joël Quenneville on LinkedIn
Joël Quenneville on X
Support The Bike Shed

Det här avsnittet är hämtat från ett öppet RSS-flöde och publiceras inte av Podme. Det kan innehålla reklam.

Avsnitt(510)

510: Technical Debt is Technically Risk

510: Technical Debt is Technically Risk

Debt metaphors abound! In this week’s episode of The Bike Shed, Aji and Joel ponder the question, what are risks in a code base? From looking at technical risk as a different lens on the idea of tech...

13 Okt 36min

509: Bringing Back Rails Generators with Rachel Wright-Munn

509: Bringing Back Rails Generators with Rachel Wright-Munn

Joël takes Bike Shed out onto the conference floor at RailsWorld as he interviews programer and streamer Rachael Wright-Munn, aka ChaelCodes. Rachael talks about her efforts to index all ruby events ...

6 Okt 23min

508: The Wonders of Static Analysis

508: The Wonders of Static Analysis

In this week’s episode of The Bike Shed, Aji and Joël dive into the distrust around the phrase ‘programmer discipline’, why you cannot just rely on willpower, and how Static Analysis tools can help wi...

29 Sep 42min

507: Stacked Vertical Slices

507: Stacked Vertical Slices

The Bike Shed is BACK! Aji and Joel kick off this week’s episode with a fantastic combination of component bugs and how much headspace they take up, historic heraldry vs ChatGPT’S anchoring bias, befo...

15 Sep 44min

506: The Muppet Software Team

506: The Muppet Software Team

It’s time to play the music, it’s time to… get Aji and Sally together again. This week’s episode is a radical one, and a listener suggestion no less; let’s Muppet-cast a software development team! Wh...

14 Juli 38min

505: What is a “principal” or “staff” engineer?

505: What is a “principal” or “staff” engineer?

Sally and Joël join forces to discuss the different ways to interpret the role of a ‘principle’ or ‘staff’ engineer, and the handwaving around what those titles mean in terms of the gradation. Whilst...

7 Juli 34min

504: AI Ethics (with guests!)

504: AI Ethics (with guests!)

Aji is joined by thoughtbot’s own Tess Griffin and Jimmy Thigpen, two members of the recently established AI Ethics Taskforce, to talk about what kind of conversations are going on in the company arou...

30 Juni 32min

503: Seeing the Graph for the Trees

503: Seeing the Graph for the Trees

Aji and Joël join forces to discuss graph and tree structures, and their connection to the emergent properties, attributes and qualities you can find from a largely connected group of data. Joël dive...

23 Juni 41min

Populärt inom Politik & nyheter

svenska-fall
aftonbladet-krim
fordomspodden
motiv
rss-krimstad
p3-krim
flashback-forever
aftonbladet-daily
svd-ledarredaktionen
rss-vad-fan-hande
rss-sanning-konsekvens
rss-expressen-dok
rss-krimreportrarna
omni-podd
kungligt
spar
rss-flodet
en-runda-till
olyckan-inifran
rss-sparra-in-isa-tilda