I went along to the Google Developer Group DevFest on Saturday which had some really interesting talks.
TL;DR – It was well good.
There was a lot of Google-loving going down (Glass presentations, Google Cardboard giveaways) but that’s to be expected considering the nature of the event.
It was held over at Google Campus near Old Street, London.
First interesting talk of the day was Introduction to BDD and Cucumber with Aslak Hellesøy – he owns Cucumber Ltd. Very interesting talk, the example he did was very basic but outlined BDD in a very good way. Most of the audience didn’t really get it but his method of presenting was excellent and clear.
He said that BDD should only cover what is essential in the scenario, and to treat each scenario like the name of a Friends episode
In the example he gave, when writing your tests: logging in was irrelevant, you should keep your BDD tests central with as little info as you can in order to pass the test. The detail can be added later. This reminded me of the TDD principles, too.
One really interesting point raised was the “Three Amigos Meetings”. These are a point before development where you get a tester(s), developer(s) and product owner(s), in this meeting they sit down and effectively write the feature files for the next sprint. This way, you always get what is expected, and everyone is in agreement with what is expected and to be delivered. I’m not sure if this would work for us always, as we work in lots of different areas. But I thought it was definitely worth a look into.
They had a guy called Alex Henderson from Google that gave an interesting talk about how you solve Google-scale problems. The brief outline of this meant that if something doesn’t scale, they created their own systems. He went through the developers process of testing (on their test-farms, instead of testing locally), automated testing, etc. They are very test-centric and know they spend a lot of money on making sure that everything is heavily tested but they ultimately believe that it is worth it. Their source code is in their own version control system, which is a tree-like structure, they try not to have a “dependency hell” and release in full when they do release. Their source code system has to deal with several hundred commits a second, so you can imagine this is all just ridiculous. But it sounds like the best option from what they described.
I’d recommend it to anyone considering going to the next one, if only for the free bit of cardboard, t-shirt, lunch and beer 🙂