John is an international speaker, consultant, author and trainer well known in the Agile community for his many books, articles and presentations, particularly in areas such as BDD, TDD, test automation, software craft and team collaboration.
John helps organisations and teams around the world deliver better software sooner through more effective collaboration and communication techniques, and through better technical practices.
John is the author of the best-selling BDD in Action, as well as Jenkins: The Definitive Guide and Java Power Tools.
Very active in the Open Source community, John also leads development on the innovative Serenity BDD test automation library, described as the "best opensource selenium web driver framework".
John could not do everything he does without help. John manages a team of developers who help maintain and support Serenity BDD for the open source community and for Enterprise clients. John also works with a number of world-class consultants and specialised consultancies on larger projects, which allows him to provide a comprehensive consulting service.
John is also supported by a dedicated administration team who help John focus on creating and delivering value for his clients.
Jan Molak - International speaker and mentor in software design
Jan Molak is a trainer, consultant and a full-stack developer who spent last 14 years building and shipping software ranging from best-selling, award-winning AAA video games through high-traffic websites and web apps to search engines, complex event processing and financial systems.
A prolific contributor to the open-source community, Jan is the author of Serenity/JS, Jenkins Build Monitor and numerous other tools helping thousands of companies around the world keep their builds green and the delivery process smooth.
Liviu Carausu - Core Serenity BDD developer
I've had the pleasure of working with John as a repeat customer for almost a decade. During this time John has helped to educate and mentor our staff to become better cross functional delivery teams. John’s technical and coaching skills are highly developed. In addition, he is a thought leader and expert who has a deep and thorough knowledge of BDD, Agile development, software development, DevOps and Continuous Delivery, programming languages and build and test tools. I have not come across anyone in the world who has such a high level of expertise across so many technologies and practices.
John’s easy going coaching style and knack of teaching complex practices, tools and technologies in a way that is easy to understand, has helped me to uplift our development practices and culture to the next level, across multiple business units. I have no hesitation in recommending John’s services in the highest terms.
Trevor Vella, Delivery Practice Manager, Transport for NSW, Sydney Australia
Recently as part of Transport for New South Wales's Open Data project, where application developers can obtain multi modal journey trip planning data for presentation on mobile device applications such as Opal Travel, one of the teams that John trained was assigned a project that had taken previous teams within the organisation years with no results. We had never applied BDD to a data centric project before and the results were amazing. They were able to deliver the project in four months. They released with no defects and a living specification that describes the behaviour of the data integration in simple business terms.
The business is very happy about the team’s ability to deliver quickly, with such visibility and with such high quality. I wouldn’t hesitate to say that it was a world class effort.
We are now using BDD for the development of cloud automation. We plan to use it to certify servers based on enterprise hardening requirements and behavoural requirements.
Delivery Practice Manager, Transport for NSW, Sydney Australia
With John's help, adopting BDD and Serenity framework has increased productivity and improved testing cycle time by approximately 20%.
Software Development Manager, BPay
John was instrumental in introducing BDD into Transport for New South Wales, and the results were astounding. We have just finished a data integration project, using SAP BI tools, which drives a major part of the bus realtime phone apps and in the few months, will drive all bus timetables through 131500 trip planner.
Thanks to our BDD practices, we can run full regression tests in 6 minutes, which is incredible! The best bit is the communications afforded by the "living documentation" we are now providing to the business.
This has already proven highly valuable when a mismatch in logic between the static provider (us) and the realtime bus tracking service occurred. Within a few minutes an email with all the features/scenarios allowed all parties to fully understand what our static provider code was producing.
The quality achieved, considering the complexity of some areas of the code, was very impressive.
Technical Delivery Manager, Transport for NSW, Sydney Australia
One area my teams have struggled with is writing their BDD G/W/T .feature files at the right level. Because we work on medical devices, many engineers were writing their BDD at a really low implementation detail level.
Writin g BDD in this “imperative steps” style is an anti-pattern and goes against the whole purpose of creating scenarios in the “as a user,” So I was coaching them to create their G/W/T at a more abstract-level, non implementation — like using a more declarative approach.
This was an ongoing struggle last year. Fortunately Serenity (formally Thucydides) has an extra annotation @step. Used correctly, this allows us to now create higher-level BDD statements without worrying about low-level detail at the G/W/T level. Also, the @step details are written to the report so the implementation details are still captured, but our scenarios are kept implementation free — a true win/win!
"The Serenity BDD ( Thucydides ) framework is like a Christmas tree. Once you have it three quarters of task is done: later one needs to just decorate as per requirements of the family :)..."
Vikram V. Ingleshwar
One of my first tasks in my role was to come up with an automated testing solution for our web and mobile e-banking solution. I conducted a vast research through open source frameworks as well as proprietary solutions, worth mentioning Vaading Testbench, eggPlant, Ranorex, TestComplete, etc. I was very lucky when a good friend responsible for QA at Adobe dragged my attention to Serenity, formerly known as Thucydides.
It was in no time that using the r ich information on the framework website, blog and its maven archetype, I was able to setup our automated testing framework and produce the first pilot test cases. The creator’s support as well as community support was always there to provide a helpful hand when needed.
Head Testing Framework Avaloq