By far, one of the most popular Agile frameworks to run in Jira Software is Scrum because it is easy to get it up and running. However, some development teams might consider using an alternative methodology such as Extreme Programming (XP) because its hands-on practice results in higher visibility and increased input, ultimately allowing the inevitable changes to be addressed head-on in a project.
But the practice begs the question: Can Extreme Programming be implemented in Jira Software?
What is Extreme Programming? Best practices explained
In a nutshell, Extreme Programming is similar to Scrum methodology in several ways: It functions under a scheme of having several releases, regular stand ups are conducted, and customer feedback is integrated regularly. Under the Extreme Programming theory, these software development best practices are taken to an “extreme” level in order to improve the quality of code. Some of these popular best practices include:
- Continuous integration: The practice of frequently integrating code into a shared repository
- Collective code ownership: All developers on the team take part in the creation and editing of code.
- Code refactoring: The process of restructuring existing code to improve the design.
- Heavy customer involvement: The customer is included at every step of the development cycle.
- Automate the unit tests: All code is required to pass automated unit tests to reduce the number of bugs and errors.
Adopting a new development methodology does not happen overnight, but luckily Jira Software provides a good foundation to start on.
Bringing Extreme Programming into Jira
While the above best practices are cornerstones of the Extreme Programming methodology, it is not necessary to implement all of them in order to get started with Extreme Programming. It is even recommended to adopt one Extreme Programming practice at a time, rather than doing it all at once. Although these practices often are used in conjunction with multiple tools, it is possible to bring some Extreme Programming concepts and practices into a Jira Software workflow.
Setting up your Jira workflow
Before we go ahead and create our Extreme Programming project, we will start by creating a workflow:
- Open: All user stories are put at the start of the sprint
- In Progress: A developer starts working on a user story
- Automated Unit Testing: A user story is ready for automated unit-testing
- Acceptance Testing: If the automated unit testing passes, it goes into acceptance testing which is ideally handled by the customer
- Refactoring Needed: If any of the testing steps fail, the user story needs to be refactored before being tested again
- Complete: Where the user story goes when all the tests have passed
Creating a new Jira project
In order to create our Extreme Programming project, we will start with a Scrum software development template. Start by creating a project in Jira Software and selecting Scrum software development as the template.
Next, associate your new Extreme Programming workflow with your new project. This can be done by going to your workflow schemes and clicking the “Add workflow scheme” button at the top right side of the screen.
Associate all issue types with your new workflow scheme. Changes are saved automatically.
Finally, you will need to go into project settings and associate your Extreme Programming project with this new workflow scheme.
To implement the Extreme Programming method in Jira software, it is recommended you create a customer-user with restricted visibility of your project. This way, the customer will be able to be involved throughout the development process, run the acceptance testing with the visibility they need. Now you are ready to start your first sprint.
Kicking-off the sprint
Extreme Programming works off of the user stories that the customer considers the highest priority. The idea is that the customer is closely involved in selecting and writing the user stories in the sprints. Unlike a Scrum project, your sprint is on a tighter deadline that is ideally one-to-two weeks. Fill your sprint with user stories and then launch it.
Get help implementing Jira Software for your Extreme Programming projects
One of the many good aspects of using Jira Software for Extreme Programming is that it already supports many Extreme Programming concepts out-of-the-box such as user stories, sprints and collaborative efforts. The workflow is customizable to accommodate specific steps around automated unit-testing, refactoring and continuous customer feedback. Furthermore, you also can incorporate more Extreme Programming practices with JIRA Software by integrating other Atlassian tools such as Bitbucket, Bamboo, Fisheye and Crucible.
If you’ve used Extreme Programming with Atlassian tools, we’d love to hear about your experience. Please leave us a comment below. If you’d like to get a one-on-one demo of Jira Software, get in touch with Valiantys and we’ll get back to you shortly.