A central theme to life at EndGame is learning. Whether it’s experimenting with process changes, sharing knowledge, doing deliberate practice (kata) or exploring new technologies — we have an intentional drive for mastery.
This isn’t new in the software industry, but creating a culture of mastery involves deliberate business choices that need to be backed up by prioritising it in a blameless culture. We need permission to try new things and also be given the time to do it.
There has been a lot of high-level chat about the future of User Interfaces. Microsoft CEO Satya Nadella shared at Microsoft’s World Wide Partner Conference last year: “So pretty much everyone today who is building applications, whether they be mobile apps or desktop apps or websites, will build bots as the new interface where you have a human dialogue interface versus menus of the past…” (read article here).
As a learning organisation we thought we should examine this ‘revolutionary’ idea by exploring the new technologies. And the best way to do this was to gather everyone and have a Waza.
Most software companies call exploration/R&D days ‘ShipIt days’, ‘FedEx days’ or plain old technical spikes. These can take different shapes, but the central idea is to produce something in a 24 hour period. We call our days ‘Wazas’. Waza is a Japanese word meaning technique. We use this phrase to emphasise that it’s about exploring good techniques — in code, in delivery, and in collaboration and ideation (and yes, also to be different).
Our Waza goal was to “Revolutionise user experience through conversational computing” (which is a pretty lofty goal!). We had a three week lead up in which we gathered ideas, formed teams and had planning sessions. We wanted to get the best out of our time, so wanted to be ready.
Because our Waza was only one day long, we needed to limit the scope of possible technologies (there are so many different options); Microsoft Bot Framework, Amazon Lex , Api.ai and Facebook Messenger Platform to name a few.
We decided to focus on the Microsoft Bot Framework. This was because, as a Microsoft partner, our developers get a monthly free credit with Azure to play and test all the features. It lets us run with C# (our main backend language) and it had the ability to initiate conversations (although unfortunately we never got to use this).
We had three planning meetings leading up to the actual day. This allowed each team to establish the scope of what they were trying to do and assign roles to each of the people in the team. People were encouraged to try roles they don’t normally do. A little bit of walking in someone else’s shoes is always good for team understanding.
Planning was also an integral part of the process as it allowed people to practice the initiation of a project and the process of creating and trimming a backlog.
Once we started we were faced with an age old problem in development: trying to learn just enough to get ahead of the scope that you’re building. This is such a large space and has so many nuances that it was a huge challenge. For example, it took us a while to realise that as the conversations between the bot and out test users were being serialised, they would use the same class each time and not restart the conversion every time we deployed.
We also learned that while the finished product is quite magical (with its natural language processing and interfacing to external apis), the natural language processing takes a long time to train. And the “simple” concept of grouping terms is often lost to it. The response is another thing entirely. It’s one thing to process language and quite another to generate it — especially if you’re trying to convey tone in the message (it seems that sarcasm hasn’t quite made its way to bots, yet).
We’re excited about doing this again soon! A hothouse environment like a Waza exposes valuable learnings in a short period of time. We think that while conversational UI is in its infancy, it will gain speed as standard user input devices become less prominent. We learned the basics of implementing these technologies and we’d love to expand on them with you.