Agile software development practices - doing it right
John Ferguson Smart is a specialist in the domain of behaviour driven development, automated testing and software life cycle development optimization. John is a well-known speaker at many international conferences and events. John is the author of BDD in Action, Java Power Tools and Jenkins: The Definitive Guide. John is also the founder and lead developer of the Thucydides Automated Acceptance Test Library project, a new open source library that helps teams organize and implement more effective automated acceptance tests.
John helps organisations to optimize their Java development processes and infrastructures and provides training and mentoring in open source technologies, SDLC tools, and agile development processes.
John has been coding ever since 1982, when he managed to convince his father to buy him a TI-99/4A. He has an Honours degree in Computer Science from the University of Newcastle, and a PhD in Maths and Computer Science from the University of Aix-Marseille II in France.
John has worked in many companies over the years, as a developer, project manager, trainer and solutions architect, on a wide range of projects, and in a variety of industries. Originally from a background in C++, John discovered the internet in the mid-1990s and have been working with Java since 1999. John's main areas of expertise include Agile Java Development Practices, and in particular open source technologies. John now spends much of his time helping large financial organizations or governments improve their agile development practices and infrastructure. His specialties include:
- Test Driven Development (TDD) and Behaviour Driven Development (BDD)
- Helping organisations to optimize their development practices and infrastructure,
- Helping organisations get started in automated acceptance testing.
- Setting up Continuous Integration environments and Java development infrastructures,
- Training and mentoring teams in agile development practices
- Defining Java development standards and recommended practices, and
- Providing coaching, mentoring and training in open source technologies and agile development methods.
John has published a large number of articles on Java and Open Source topics, and is a regular contributer to sites such as Java.net, Javaworld, OnJava, DevX, and InformIT. He is also a Zone Leader on DZone, where he blogs about various Java-related topics.