I’ve been building answers for the 2016 edition of Advent of Code, and I have been having a blast with building answers for the puzzles. My solutions are up on Github if anyone is interested in them.

It is a reminder of how much I love coding, with just a tinge of nostalgia  I suppose. I can certainly recall a few days in my architecture career where I have been mired hip deep in politics and longed for an IDE and a well articulated requirement…

While building these I was thinking about how a well designed challenge can enthuse people to dust off old skills or learn new ones, and the topic of enthusiasm is what I wanted to address in this blog post.

The scaled agile framework has some thoughts on unlocking the intrinsic motivation of knowledge workers and it makes the point that by definition, knowledge workers know more about doing their work than the people that are “managing” them, so trying a dictatorial style of management is almost inevitably doomed to fail.

So then, as a manager, what are you to do in order to ensure a happy and productive team? Beyond the basic hygiene factors (adequate pay, decent office space, ability to work from home), what else can the manager of a software team do in order to get the most our of their team?

SAFe suggests giving people agency and responsibility, and I wholeheartedly agree. Someone who feels ownership and responsibility for a project outcome is much less likely to try and do the minimum, and more likely to try their best. This is one of the side-effects of the collective ownership from the agile world that makes proponents of agile methodologies so excited.

Putting on my Grinch hat, I have heard it said that agile works best if you have a very strong team, but then anything works well if you have a really strong team. That leads me to some thoughts on how to build your team’s skills.

With new frameworks and even new languages popping up in a relentless march of progress, it would add lots of value to your team if they were proactively skilling themselves up and adopting new ways of working and technology improvements as they become available.

What about making the team responsible for coming up with competitions, puzzles and hackathons to learn and practice new skills? How about gamification of the workplace, in the same way that Advent Of Code has some gamification where you can earn points for solving solutions quickly?





Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s