A Tale About Dog Training and Test-Driven Development
In hope to enable a better understanding how my workflow was, I comitted every step on it's own, so starting with the first commit you can follow my workflow step by step.
More about Test Driven Development
Test Driven Development: what it is, and what it is not. https://www.freecodecamp.org/news/test-driven-development-what-it-is-and-what-it-is-not-41fa6bca02a2/
Does Test Driven Development Work? https://dev.to/ruairitobrien/does-test-driven-development-work-p54
When TDD doesn't work. https://blog.cleancoder.com/uncle-bob/2014/04/30/When-tdd-does-not-work.html
Test Driven Development is the best thing that has happened to software design https://www.thoughtworks.com/insights/blog/test-driven-development-best-thing-has-happened-software-design
 Test Driven Development By Example, Kent Beck  Growing Object-Oriented Software, Guided by Tests, Steve Freeman, Nat Pryce  Test double, Martin Fowler  Clean Code, Chapter 10: Classes The Single Responsibility Principle, Robert C. Martin,  Growing Object-Oriented Software, Guided by Tests, Chapter 2, Tell, Don’t Ask, Steve Freeman, Nat Pryce  Yagni, Martin Fowler
More about dog training
Seeing as this is still about programming I'll just put one link in here which I think is important :)
Whatever happend to the term Alpha Wolf, David Mech, 2008
"Rather than viewing a wolf pack as a group of animals organized with a “top dog” that fought its way to the top, or amale-female pair of such aggressive wolves, science has cometo understand that most wolf packs are merely family groupsformed exactly the same way as human families are formed."