Behaviour-Driven Development workshop for Java developers, our new one-day workshop for Java developers using Cucumber-JVM is now available. BDD or Example-Driven Development (EDD) was originally introduced by Dan North, and ‘refined’ by Gojko Adzic (Specification by Example). BDD drives development from examples describing system behaviour rather than module functionality, and hence is more customer focused.
Agile/XP Software Development
We conducted a survey about training and our courses recently, and one thing that stood out among all other responses was the interest in Agile Software Development. Agile is of course now mainstream in its adoption. Organisations nowadays understand the need to reduce time to market, improve quality and resilience to be able to meet the increasing demands of customers. In response, development teams need to produce valuable software in short cycles using practices such as continuous delivery, integration, automated testing and deployment.
Adopting Agile successfully is both cultural and technical. Training and mentoring is generally necessary if you are starting out. You might be interested to know that we currently have a number of courses on Agile. Foundation training is provided in our two-day Agile/XP Software Development course.
As developers, Java programmers tend to focus on the technical practices, and Test-Driven Development (generally using Junit) should be a common, if not mandatory, practice for Agile Java Developers. Acceptance Test-Driven Development is also practiced by some teams, and an important evolution of ATDD is a practice known as Behaviour-Driven Development (BDD) or Example-Driven Development (EDD). Introduced by Dan North, and ‘refined’ by Gojko Adzic (Specification by Example). BDD drives development from examples describing system behaviour rather than module functionality, and hence is more customer focused.
Fig. 1. BDD in a Nutshell. (John Ferguson Smart, BDD in Action)
Like TDD, BDD also requires automation and tool support. For Java we have tools like CucumberJVM, JBehave and Thucydides. Unlike TDD which focuses on the developers and the implementation phase, BDD integrates the involvement of the whole team from specification through to implementation and testing. Here is a link to Dan North’s original article, Introducing BDD, and another link to a whitepaper on BDD projects, Use BDD to make your project successful. To help you get started, Object Training has a one-day BDD workshop for Java developers using Cucumber-JVM.
Functional Programming in Java 8
Our new Functional Programming in Java 8 course was well received. Thank you to all those attendees who provided feedback, and for those Java developers who are in the process of moving to Java 8, I strongly recommend that you learn more about functional programming as it is a very different paradigm. Our one-day update course fast-tracks experienced Java developers into FP using Java8.
Please contact us on firstname.lastname@example.org or 1300 360 203 if you have any queries about the training mentioned here or would like a course customised to suit your team’s requirements.