About John Ferguson Smart

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”.

About John's team

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.

Some of John's clients

Uplifted our development practices and culture

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.

Read More

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

2017-11-23T11:12:27+00:00

Trevor Vella, Delivery Practice Manager, Transport for NSW, Sydney Australia

[vc_row][vc_column][vc_column_text] Uplifted our development practices and culture 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.[/vc_column_text][vc_toggle title="Read More"]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.[/vc_toggle][/vc_column][/vc_row]

The results were amazing

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.

Read More

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.



Trevor Vella
Delivery Practice Manager, Transport for NSW, Sydney Australia

2017-11-23T12:11:35+00:00

Trevor Vella
Delivery Practice Manager, Transport for NSW, Sydney Australia

[vc_row][vc_column][vc_column_text] The results were amazing 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.[/vc_column_text][vc_toggle title="Read More"]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.[/vc_toggle][/vc_column][/vc_row]

Increased productivity and improved testing cycle time

With John's help, adopting BDD and Serenity framework has increased productivity and improved testing cycle time by approximately 20%.



Oshri Zvi
Software Development Manager, BPay

2017-11-23T12:19:16+00:00

Oshri Zvi
Software Development Manager, BPay

[vc_row][vc_column][vc_column_text] Increased productivity and improved testing cycle time With John's help, adopting BDD and Serenity framework has increased productivity and improved testing cycle time by approximately 20%.[/vc_column_text][/vc_column][/vc_row]

Already proven highly valuable

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.

Read More

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.



Ian Mansell
Technical Delivery Manager, Transport for NSW, Sydney Australia

2017-11-23T12:23:22+00:00

Ian Mansell
Technical Delivery Manager, Transport for NSW, Sydney Australia

[vc_row][vc_column][vc_column_text] Already proven highly valuable 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.[/vc_column_text][vc_toggle title="Read More"]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.[/vc_toggle][/vc_column][/vc_row]

This was an ongoing struggle last year

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.

Read More

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!



Joe Colantonio
General Electric

2019-01-04T12:43:18+00:00

Joe Colantonio
General Electric

[vc_row][vc_column][vc_column_text] This was an ongoing struggle last year 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.[/vc_column_text][vc_toggle title="Read More"]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![/vc_toggle][/vc_column][/vc_row]

Decorate as per requirements of the family

"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
6Wunderkinder

2019-01-04T12:56:49+00:00

Vikram V. Ingleshwar
6Wunderkinder

[vc_row][vc_column][vc_column_text] Decorate as per requirements of the family "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 :)..."[/vc_column_text][/vc_column][/vc_row]

It’s the testing solution of our choice

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.

Read More

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.


Theodor Radu
Head Testing Framework Avaloq

2019-01-04T13:07:54+00:00

Theodor Radu
Head Testing Framework Avaloq

[vc_row][vc_column][vc_column_text] It’s the testing solution of our choice 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.[/vc_column_text][vc_toggle title="Read More"]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.[/vc_toggle][/vc_column][/vc_row]