How to Navigate Uncertainty with an Agile Mindset

How to Navigate Uncertainty with an Agile Mindset

I recently had the pleasure of participating in Google's Hash Code coding competition with two friends that I previously worked with. If you are not familiar with Hash Code, its a popular programming competition where teams compete to solve optimization problems within a four hour window. The problems are quite challenging and this year's problem was no exception, especially considering the time limitations of the competition. Spoiler Alert: Our team did not walk away with the top prize, however as a first year participant I thoroughly enjoyed the mind exercise and the strong reflections it provoked regarding an agile mindset that I want to share with you.

Going into the competition, the team knew that our strong backgrounds in building transactional web based applications might not translate well to solving an optimization that likely required more experience with data science. We initially explored learning Python because that is what data scientists use, right? After learning Python and building a first pass solution on the practice problem, we pivoted back to our trusted Java competencies because no language should ever use white space as syntax (just kidding Pythoners). Reflections from the practice rounds led us to devise a flexible opening script, a few simple solution principles, technical tools like Git repos and a communication/teaming strategy prior to the competition.

On competition day we hopped on a meeting and anxiously awaited for the problem to be revealed. After our first read of the problem there was some awkward silence and some quiet nervous laughter, but then our team leveraged one of our greatest strengths, "winging it". When the consequences of failure are low and you are not sure about the way forward, just take a first step, there is nothing to lose. Luckily, our opening script strategically focused on just ingesting the data files and producing valid submissions for the contest, which bought us time to contemplate the actual optimization problem. The optimization problem focused on controlling a stop light schedule to allow as much traffic to flow through a given grid of streets and intersections. Your score was based on how many cars completed their route through the grid of intersections and at the midpoint of the contest let's just say it was a pretty bad day for traffic...

Finally, we had a break through idea to get one lonely car through its route to get us some points on the scoreboard, a minimal viable product (MVP), if you will. This technique posted us a score of roughly 38 thousand points, it wasn't much but it built momentum. This led the way for another iteration built by a team member that optimized our MVP to get deliver a score of 841,509 points!

No alt text provided for this image

Eventually time ran out and we walked away with a great first time experience, finishing roughly 6,000th out of 9,000 teams. While these are not staggering results, I was satisfied with our first time performance and I am excited to improve upon it in subsequent competitions. After Hash Code, I went for a run where I had some pretty deep reflections on the experience to realize how an Agile mindset improved our results in a situation where we were outmatched. Here are some of those reflections:

  • Be Courageous and Explore: Our team was not a perfect match for the competition, but we value growth and new experiences. It took courage to step into an unfamiliar setting so that we could learn, adapt and compete. As first timers, we out performed roughly 30% of the competition teams and 100% of the 7.799999 B people who didn't attempt it. More importantly, we came away with a new experience and perspective.
  • Value Continuous Improvement: Our work and reflections on the practice problem were incredibly valuable. We learned a new language, identified key competition techniques, prepared technical items ahead of time and got a glimpse of what to expect. These lessons learned helped us step into an unfamiliar environment for the first time on competition day and deliver results. Essentially, we learned about our task ahead of time and used that knowledge to prepare where we could in order to reduce uncertainty. The competition was actually our second iteration with lessons from the practice round applied.
  • Be Resilient and Fight for Small Wins: A favorite Mike Tyson quote is, "Everybody has a plan until they get hit in the mouth". That was us after reading the problem! While we didn't deviate completely from our plan we needed to step back to comprehend it and rally around the idea of small progress with the MVP. Without our initial MVP and that brave lonely car to make the first trip, we would not have delivered the optimized iteration that was a 2,114.5% performance increase. Small steps lead to big results.

The experience with Hash Code was another small attestation in my career to how thinking with an Agile mindset can help you enter a new space, make some quick progress and give you a foundation for further growth. The more uncertain situations that we encounter and navigate the more resilient we'll become.

Michael Biurrum

Auxiliar Administrativo

3 年

Thanks for posting

回复

要查看或添加评论,请登录

Kevin Bowersox的更多文章