Last night I had the pleasure of attending a Derivco DevNight featuring a talk by Juval Löwy, founder of IDesign, master software architect and author of the book, Righting Software.
In his 60 minute talk, we learnt why the software development pipeline is currently broken; the dissonance between software development and coding against requirements handed down by the “ivory tower”.
To be honest, I can’t argue with that. Development can be frustratingly slow, cumbersome, even under the guise of Agile methodologies. As Juval discussed, currently we have too many devs, leads and project managers going through the daily or weekly “Agile rituals” – the stand-ups, the feedback loop – listening, but not actually doing. As devs, we go through the motions, but we’re not actually delivering Agile results – the very purpose of what Agile is trying to achieve.
His solution to the above was very simple; “Don’t just do Agile, be Agile.” Being agile involves working towards a goal with an initial set of requirements, however, the grim reality of it all is that requirements are going to change and Juval’s advice was simply not resisting these potential changing requirements but instead embracing them, being agile in your workflow and working with them rather than resisting them.
The second half of the interesting talk touched on system engineering and how to step back, and decompose a system into smaller reusable building blocks or services, based on volatility. This feeds into the above point about agile and requirements as smaller building blocks will give a team the tools to be more agile. Comparisons were drawn against vehicle manufacturing and it’s not hard to see why.
We then learnt why there is no such thing as a micro-service(s). As Juval explained services and micro-services are the same things; services (no distinction between major or micro). Using the analogy of pumps found in your car and pumps found in your house (a pump is just a pump – we don’t distinguish between a pump and a micro-pump as it serves the exact same purpose). Hard to argue there.
The end part of the talk he touched on a rather opinionated view (Juval admitted this) of developers taking a long hard look at their future career with the inevitable rise of AI around the corner and what just might happen when AI learns to code more effectively than humans. I felt this served more like a mental take away – food for thought.
The talk was a very interesting one and definitely left me with lots of takeaways to think about. How as an industry, we need to change, not just go through the motions of doing tech rituals such as daily-standups but become more agile in our approach itself with the help of the right tools such as smaller building blocks.
If you’d like to know more, I suggest getting a hold of Juval Löwy’s book Righting Software which takes a much deeper dive into the above topics I’ve covered above.
Personally I want to say thanks to Derivco for putting on such a kick-ass evening – these types of events are rare in Durban and it’s always great to both attend them and appreciate the amount of effort that goes to putting one of these events on.
Fascinating insight. Thanks Martin!
Really interesting. Wish I could have been there.