I recently read this blog post from Chris Sterling and while funny, it made me wonder about the similarities between fishing and agile development. Since I am a decent fly fisherman (I had an earlier blog post about a trip to Montana), I was definitely intrigued. After some pondering I believe the two have significant similarities. Starting with the fact trying hard doesn’t always lead to success! Let’s dig deeper and see if there are further parallels in this analogy.
Reasons for Failure
|No fish in water||Poor product management|
|Broken fishing gear||Poor unit testing|
|Wrong bait/lure/fly||Poor acceptance testing|
|Bad casting||Poor engineering practices|
|Casting only once||Lack of continuous integration|
|Not moving to where there are fish||Not adapting to change each iteration|
|No way to get to the water||Scrum Master not removing impediments|
|Poor attitude||Poor attitude|
Maybe I’m stretching things a little bit, but it seems like the analogy holds up pretty well.
The point I’m trying to make is we need to pay attention to the details. It is well known in fishing circles that small things can make a big difference. The same is true in agile. It may not seem like we are doing anything wrong when we don’t have continuous integration or automated testing, but those things add up. This causes large scale failures over time.
Next time you go fishing, think in an agile way. Don’t get me wrong, if your idea of a good day of fishing is sitting on the bank with a beer and watching a bobber, there is nothing wrong with that, but if you are in a place where it is really challenging to catch fish, pay attention to the details and adapt to what you see.
Now I want to go fishing, but until I get that opportunity I’ll be continuing to help organizations transform by Making Agile a Reality™.