(Presentation from Spaces Summit 2018, bol.com)
Dirty little secret: most of the time as developers we have no clear picture of what we are doing; how we are doing it; and especially why we are doing it. We work without a clear perspective, ending up spending too much time building things and later re-building/refactoring them... This is all done in the name of "agility and speed", but we paradoxically end up getting the exact opposite result.
My answer to this? Create a basic design and understanding before starting a project... Then iterate on it, as you face new design decisions (and gain knowledge and insights).
Let me get you into this mindset with some very pragmatic ideas and tools, like: "visualization of problems and solutions", "just enough upfront design", "evolutionary architectures"... but especially why you should stop smashing your keyboard, zoom out, and THINK!
Presentation video here: https://youtu.be/FCqn9iHU9xo