When one part of a function is not changing while you're repeatedly changing another part, this is a signal to consider breaking that function into two pieces: the stable part and the unstable part.

This isn't a law, but merely a helpful guideline.

#EvolutionaryDesign

#EvolutionaryDesign is one of the software development approaches I value the most. For years I've struggled to have a simple place to point folks to explain what I mean by the term, so now I've put it down in a brief blog post.

I hope to write more about this soon, but I wanted to get this out there to get started.

https://codingitwrong.com/2024/01/29/brief-summary-of-evolutionary-design

A Brief Summary of Evolutionary Design

For years I’ve wanted to write something to advocate for evolutionary design. There is so much that can be said, and I hope to write more in the future. But I wanted to begin with this short definition of what I mean by “evolutionary design” and explanation of why it’s helpful.

CodingItWrong.com

When I grow up, I (still) want to be like Theo! His creatures are becoming ever more complex, elegant & marvellous....

https://www.youtube.com/watch?v=iWGlbpEZkNA

🔥🔥🔥

#KineticArt #GenerativeArt #EvolutionaryDesign #Strandbeest

2023 Animaris Rex

YouTube

DevLog 009: Improve timeline scrubbing

... This passes the tests, and when I try it in the application, it works as intended.

Are we done?

http://rickardlindberg.me/writing/devlog-009-improve-timeline-scrubbing/

#python #evolutionarydesign

DevLog 009: Improve timeline scrubbing | Rickard's personal homepage

Rickard's personal homepage.

The "Test Helper to Production Code" pipeline: one pattern.

Custom assertions become comparison operators become summary values become domain concepts.

#Lightweight #EvolutionaryDesign #refactoring #tdd

How To Fix Bad Agile By Discussing Baby Steps

How to fix bad agile by starting neutral discussions about baby-steps programming. Programming in Baby Steps is a sustainable and productive approach to writing code. Here are also three sketch notes that you can use to illustrate Baby Steps and trigger exchanges with teams.

Philippe Bourgau's XP Coaching Blog

#EvolutionaryDesign means you trust your ability to respond to change more than you trust your ability to predict the future.

#Agile

#EvolutionaryDesign is a "good strategy" approach to design. Focus on the core, and only the core, of the problem first and then iterate. Attempting to anticipate all design issues upfront is "bad strategy".

We needed to extend a component with new behavior. Rather than trying to _think_ our way forward by designing something clever, we created a copy and added the new behavior there.

Yes, copy and paste. Loads of duplication. Then we made the code work, with nested if-else blocks. Yucky, but it worked.

THEN we went to town, doing mostly mindless #Refactoring. It was like the Gilded Rose #CodeKata, but in real life! #EvolutionaryDesign