It’s great to consider concepts around a practical challenge. Lean code is best considered with a working example. It doesn’t take a complex/large problem to highlight the issues and this session hit home. Paul Williams gave a ‘lightning talk’ on Lean Code based on slides by Chris Parsons, and quickly got us in front of our IDEs and started the ‘Fresco’ challenge. To briefly explain, the challenge comprises a fast cycle of iterations (about 10 minutes each), where each pair delivers the requirements as per the specification and acceptance tests.
One might say the challenge is intentionally trivial, but it’s a great exercise because it neatly encapsulates many of the challenges in software development; especially in a rapidly changing context. Producing some code to address the problem was relatively simple, but how about the Lean principles? For convenience, I list the points that the group considered:
- Eliminate Waste
- Focus on value
- Deliver fast
- Decide late
The exercise prompted a valuable, albeit short, discussion of the Lean principles in regards to software development. In particular, where the Lean manufacturing and engineering principles perhaps do note related directly to software. Specific topics of note:
- Waste is not simple to recognise/define in regards to software.
- Development environment / platform / tools matter – especially version control.
- Is there an upfront design / deliver fast trade-off? How would we know?
- Context matters. Producing a car for a fixed and familiar environment. A car does not eventually turn into an aeroplane.
We have a lot to think about for our future sessions. Our post-exercise discussion could benefit from more time. We had a super turn out this month and some great ideas. I look forward to seeing everyone in June! Lean code gave plenty of food for thought.
Leave a Reply