Behavior Driven Development Coming to JIRA

Hindsight is a start-up company focused on building intelligent testing software that supports agile practices such as acceptance testing.  Using the Atlassian Marketplace to enable rapid development of their first tool, Behave for JIRA, they had a platform to quickly deliverer a valuable product to a large number of software teams around the world.

Atlassian competitions such as Codegeist showed Hindsight how easy it was to get started with plug-in development with JIRA and inspired the team to secure funding for their own product development.

Hindsight is passionate about software quality and is in the business of providing tools to help everyone in the software development team focus on quality of the delivered product.

Their first product, Behave for JIRA, brings acceptance testing to the wealth of Atlassian customers around the world and at a lower cost of entry into the market.  If successful the company will look to extend this service to the cloud.  In the mean time the Atlassian market place allows Hindsight to validate that their innovative solutions are valuable to the market before they make a major infrastructure investment

Behave for JIRA – bringing Acceptance Testing to all your projects

Acceptance tests allow you to express specific needs for your software product in a way that is testable and measurable.  It is also invaluable for breaking down the barriers in software development.

Behave for JIRA allows you to easily add acceptance tests to any issue in your projects.  Acceptance tests are written in a natural language, eg. English, but in a structured way so that those needs can be matched up to the software that is created to satisfy them.  In Behaviour Driven Development an example acceptance test would be:

Given _a specific situation
When _something occurs
Then _you will get a specific outcome

The most commonly used acceptance testing framework is called Cucumber and supports many different software programming languages.  Once you have defined you acceptance criteria with JIRA Behave, you can then run those tests with Cucumber to get instant feedback on you software development progress.

As this is a plug-in for JIRA, you can easily make use of all the data your projects and have a simple to use and powerful way to edit and review your test specifications.  This includes syntax highlighting editor for quick authoring of requirements & acceptance tests.

Developing products using Atlassian tools

As Hindsight have stakeholders with a vested interest in the success of the company, they make use of the Atlassian tool-set to ensure everyone is up to date with the progress of the software development.  Any non-technical people involved in the company can see the sprint burn-down charts and understand the status.  It is easy to see what is planned and what the development team have committed to and hold the team to account if they don’t meet the targets they set for themselves.

For the developers, using GreenHopper it was easy to see if things were going to over-run and a decision could be made quickly about re-prioritising the work.  As this all fed into a JIRA dashboard for the stakeholders, communication about progress was updated in real time.  When two new graduates were on-boarded, it took just two sprints to adjust their capability using GreenHopper to track and review progress.

The development team uses a Scrum-like approach, base on a two week iteration.  Using JIRA GreenHopper scrum template made set-up of the project as simple as defining a project name and pressing a few buttons. The team have also used the rapid board to manage their individual responsibilities so they can quickly priorities the features inside the sprint.

Hipchat provides an instant way for the team to to discuss challenges, especially when they are apart.  As Hipchat is also plugged into JIRA and their overall build process, any significant changes in the project get broadcast on the Hindsight Hipchat channel.  This immediate feedback from build servers, allows the team to quickly fix problems as they happen.

3 most valuable practices

1) Visibility to the business – stakeholders can see our commitments and easily hold us accountable

2) Distributed working is often a necessity and so having our up to date progress accessible anywhere there is an Internet connection is invaluable.  Using Distributed Version control also means we can work off line

3) In constant communication using Hipchat which also enables the team to see JIRA notifications on bug reports, issues re-opened tickets and other major events.

Head over to Atlassian to find out about their range of software for software developers and dont forget to checkout the Codegeist competition (ends 16th July 2012).
Thank you.

This work is licensed under a Creative Commons Attribution 4.0 ShareAlike License, including custom images & stylesheets. Permissions beyond the scope of this license may be available at @jr0cket
Creative Commons License