Lancashire Tech Talks (@LancsTechTalks) based at Graham & Brown in Blackburn. It was a tech meetup entitled "Behaviour Driven Development, AI For Ordinary Folk & The Mobile Is Dead" with three guest speakers and they also provided food and drinks.
The evening started with the organisers introducing themselves and plotting out the course of the evening and then the stage was handed over to the sponsors, Lancashire Enterprise Partnership and Boost. Next were the talks.
Behaviour Driven Development or BDD for short is a process which encourages collaboration, helps build the right thing and build the thing right (through the use of testing, coding practices, etc.). It also defines a structure for documentation (using the Gherkin language) as well as lending itself to automated testing.
BDD is an effective way to tease out requirements and to drive it through to working software. It's not a 'one size fits all' approach however and works best when all the project people are together rather than working in silos. It's also a good fit with continuous delivery and other fast feedback development techniques.
Patrick then ran through some Gherkin examples explaining what Given/When/Then means and how to use them as well as explaining Feature, Background, And/But & Scenario. He explained that TDD focuses on implementation but BDD focuses on behavioural outcomes. One thing that I particularly liked was that Patrick didn't just focus on the positives of BDD he also pointed out some common pitfalls such as not using Given/When/Then correctly, multiple With/Then pairs and too many And/But commands. You need to try and focus the tests on the behaviour rather than the implementation as well as being conscious of not having loads of scenarios for one feature.
Benefits of BDD include 'living documentation' - readable behaviour descriptions which are easy to understand by developers and used to test that the implmentation works as expected. Due to the suite of tests it makes code safer and easier to change and maintain and also makes releases easier and faster. Patrick's slides are available via Dropbox.
After plating up a load of the snacks it was time to eat, mingle and chat for about thirty minutes before the next two talks.
Carl's talk was an introduction to AI & machine learning (ML), explaining the concepts behind it but not diving too technically deep. He said that AI was overhyped but ML was underhyped by the media even though you need ML to get AI. He explained weightings and levels of wrongness, and how they are used to 'learn'. He also covered the difference between supervised & unsupervised learning.
The final talk was from Leigh about how the mobile phone has had it's day and it's time to look past the mobile and see what the future looks like for software development and testing. He covered voice control with Alexa, self-driving cars, wearable tech, etc. and pointed out how creating realistic testing environments was key in order to prove that it works correctly. Leigh's slides are available on Prezi.
It was a superb evening; three excellent speakers with interesting content, great food & drink and nice to be out and about talking tech to like-minded folk. Can't wait for the next one currently scheduled for September! Thanks again to Andy & HoiYen for organising, LEP & Boost for sponsoring, and Graham & Brown for hosting.