This was the opening keynote in which Kevlin Henney spoke about how we are maybe looking at technical debt in the wrong way, and it should perhaps be more properly referred to as technical neglect.
Taking us through the origins of technical debt (coined by Ward Cunningham in his talk at OOPSLA 92) and through various notions of metaphor through liberal use of the Oxford English Dictionary!
As an evolving program is continually changed, its complexity, reflecting deteriorating structure, increases unless work is done to maintain or reduce it. Programs, Life Cycles, and Laws of Software Evolution. M. Lehman, 1980.
Entropy. OED, Britannica
Martin Fowler on technical debt.
"On Exactitude in Technical Debt"
Freedom from Command and Control. John Seddon.
How much of what software engineers now do is still devoted to the accidental, as opposed to the essential? ... Because the design that occurs first is almost never the best possible, the prevailing system concept may need to change. Mythical Man Month.
The basic thesis... is that organisations which design systems... are constrained to produce designs which are copies of the communication structures of these organisations. How do Comittees Invent? Melvin Conway.
Productivity is a function of codebase size. Developers are dramatically less productive on larger bodies of code. Predictive Models of Development Teams and the Systems They Build. Rob Smallshire.
Continuous attention to technical excellence and good design enhances agility. The Agile Manifesto
Excessive complexity is nature’s punishment for organizations that are unable to make decisions. Gregor’s Law. Gregor Hohpe
The Longevity of Interim Solutions. Klaus Marquardt.
Refactoring - CommitStrip.com
Talk link: https://pretalx.com/pyconuk-2023/talk/PCPYJ8/
Talk video: https://www.youtube.com/watch?v=YJPu_TNedTs
https://twitter.com/KevlinHenney
A really fun talk about the perils of strings and characters in Python. Who would've guessed that reversing the Swedish flag would give you the Spanish flag!
Talk link: https://pretalx.com/pyconuk-2023/talk/9WJELU/
Video link: https://www.youtube.com/watch?v=1yJi5DmZR-E
Book link: https://www.amazon.co.uk/gp/product/0321125215/
- Embrace the realm of pure concepts
- Explore alternatives
- Seek early review
- Find common language between the domain experts and the developers
Talk link: https://pretalx.com/pyconuk-2023/talk/ZA9ZHU/
Talk video: https://www.youtube.com/watch?v=4XKhH9whNX0
A workshop tutorial.
Code: https://github.com/ThomasGregory/pycon-maths_in_motion/tree/main