SlideShare a Scribd company logo
#atlassian
Building and Supporting Billion Dollar 
Ships with JIRA 
Greg Warner • Team Leader • BAE Systems • @sabre1817
A little about BAE Systems 
• BAE Systems is a global defence, aerospace and security 
company 
• 80,000 employees worldwide 
• Customers in more than 100 countries 
• 2013 sales of £18.2 billion
A little about me 
• Team leader responsible for systems and software engineering tools at BAE Systems 
in Australia. 
• 7 years experience with Atlassian software. 
• Experience with 100s of hardware and software projects. 
• Atlassian software is used across all of our business. (Aerospace, Land & Integrated 
Systems, Maritime).
Landing Helicopter Dock 
• Largest ships ever built for the Australian Navy. 
• Helicopters, troops, landing craft, hospital. 
• Assembled in Melbourne, Australia.
Building and Supporting Billion Dollar Ships with JIRA - Greg Warner
Big cool statistic 
2,569 
Add-Ons in Marketplace
How many tasks? 
16,100 (Ship 1) 
4,900 (Ship 2)
250 
systems
1180 
compartments
mysql> select jira_key, 
-> compartment_2,569 
Big desc cool statistic 
from compartment 
-> where compartment_desc like 
-> 'beer%'; 
+----------+------------------+ 
| jira_key | compartment_desc | 
+----------+------------------+ 
| LIW-931 Add-| Ons BEER in STOREROOM Marketplace 
| 
+----------+------------------+ 
1 row in set (0.00 sec)
The Problem 
• Tasks and defects initially tracked in a spreadsheet. 
• 6400 rows, 78 columns wide. 
• Growing at 250 rows per day.
476,000 
attributes
Solution Requirements 
• Provide a collaborative multi-user system. 
• Import existing data from multiple spreadsheets. 
• Automate common appropriate tasks. 
• Configure not customize. 
• 4 weeks to deliver the solution with 0 import defects.
Why JIRA? 
• My team is familiar with JIRA. 
• Comfortable that there was an 80% requirement fit. 
• Could JIRA perform in this use case? 
• Can we deliver in this time frame?
Why JIRA? 
• Can we meet the reporting requirements? 
• Is automation possible? 
• Can we retrieve data from other enterprise systems? 
• What about through life support for each ship?
But a ship isn’t software? 
• Apply software development concepts. 
• Identify workflows. 
• Identify key issue fields. 
• Build custom reports. 
• Extended JIRA using add-ons.
How did you do it? - Workflows 
• Have your customers sketch out their day. 
• Translate their sketch to a JIRA workflow. 
• Collaborate on the workflow. 
• Some steps were “excel” steps. Remove them!
Landing Helicopter Dock
2,569 
Big cool statistic 
Insert workflow screenshot from JIRA 
Add-Ons in Marketplace
How did you do it? – Custom Fields 
• Identify the fields that matter. 
• Don’t blindly import all fields from excel. 
• Perform a mass custom field creation using the JIRA Jelly Runner. 
• 78 fields in less than a minute!
Building and Supporting Billion Dollar Ships with JIRA - Greg Warner
<jira:CreateCustomField fieldType=“select” 
fieldName=“Ship Location” 
searcher=“multiselectsearcher” 
description=“Identify where the fault can be found” 
fieldScope=“project” 
projectKey=“LHDIW” 
customFieldIdVar=“customField”> 
<jira:AddCustomFieldSelectValue value=“Starboard”> 
</jira:AddCustomFieldSelectValue> 
<jira:AddCustomFieldSelectValue value=“Port”> 
</jira:AddCustomFieldSelectValue> 
</jira:CreateCustomField> 
<jira:AddFieldToScreen screen=“LHDIW” fieldId=“$ 
{customField.getId()}”/>
How did you do it? – Migration 
• Use the built-in CSV importer. 
• Trial runs. Many, many trial runs. 
• Parse the CSV for errors. Fix as many before import. 
• Use the REST interface for everything else.
How did you do it? – Migration 
• Use JIRA to deliver a JIRA project. 
• Provide training. 
• Knowledgebase and Reference guides in Confluence. 
• Lookup tables (old vs new JIRA key). Provide a hyperlink to the JIRA issue. 
• Import the reference if possible. Disable the field later.
How did you do it? – Custom reports 
• Identify the mandatory reports. 
• Two reports required on Day 1. 
• Cheaper and quicker to have an Atlassian services partner build these. 
• Delivered to us as a custom JIRA plugin.
How did you do it? – Extend with Add-ons 
• Retrieve data for automation from several databases. 
• Use Marketplace plugins where possible. 
• Custom plugin to retrieve data via JDBC from SQL databases during workflow 
transitions. 
• Retrieve data on issue save actions.
Building and Supporting Billion Dollar Ships with JIRA - Greg Warner
Building and Supporting Billion Dollar Ships with JIRA - Greg Warner
Building and Supporting Billion Dollar Ships with JIRA - Greg Warner
Go-live 
0 
Service desk calls
How did you do it? – Migration 
• Day 1 was a success. 
• 0 defects. 
• 0 impact to the trade work force.
Building and Supporting Billion Dollar Ships with JIRA - Greg Warner
BeforeIssue Creation 
10 minutes 
After 
2 minutes
BeforeIssue Queries 
1 hour 
After 
5 minutes
Results 
• Significant reduction in manual errors. 
• Increased confidence in data integrity. 
• Much happier workforce.
Results 
I've been able to get home 
each day before the sun sets, 
that's a massive improvement 
– Tom, Shipboard Works Control Manger
Results 
Whatever 
you're 
doing, 
do 
more 
of 
that! 
– Shaun, Manager Capability Development
60,000 
man-hours
Saved 
$5,000,000
Building and Supporting Billion Dollar Ships with JIRA - Greg Warner
Next step – Through Life Support 
• JIRA Service Desk for Warranty Management. 
• Re-used much of the automation. 
• Linked the JIRA Service Desk to the “as-is” delivery information in JIRA. 
• Our Atlassian services partner wrote a custom plugin to identify export controlled 
issues.
Building and Supporting Billion Dollar Ships with JIRA - Greg Warner
Next step – Through Life Support 
• Started with the customer experience expectations. 
• Transition was easy because our customers were already familiar with JIRA. 
• JIRA is now used everywhere!
Key takeaways: 
#atlassian 
• JIRA is easy to integrate with enterprise systems. 
• Reduce as many fields on import as possible. 
• Large imports will take a long time. 
• Work with your customers on their workflow. This will make them happy.
Thank you! 
Greg Warner • Team Leader • BAE Systems • @sabre1817

More Related Content

Building and Supporting Billion Dollar Ships with JIRA - Greg Warner

  • 2. Building and Supporting Billion Dollar Ships with JIRA Greg Warner • Team Leader • BAE Systems • @sabre1817
  • 3. A little about BAE Systems • BAE Systems is a global defence, aerospace and security company • 80,000 employees worldwide • Customers in more than 100 countries • 2013 sales of £18.2 billion
  • 4. A little about me • Team leader responsible for systems and software engineering tools at BAE Systems in Australia. • 7 years experience with Atlassian software. • Experience with 100s of hardware and software projects. • Atlassian software is used across all of our business. (Aerospace, Land & Integrated Systems, Maritime).
  • 5. Landing Helicopter Dock • Largest ships ever built for the Australian Navy. • Helicopters, troops, landing craft, hospital. • Assembled in Melbourne, Australia.
  • 7. Big cool statistic 2,569 Add-Ons in Marketplace
  • 8. How many tasks? 16,100 (Ship 1) 4,900 (Ship 2)
  • 11. mysql> select jira_key, -> compartment_2,569 Big desc cool statistic from compartment -> where compartment_desc like -> 'beer%'; +----------+------------------+ | jira_key | compartment_desc | +----------+------------------+ | LIW-931 Add-| Ons BEER in STOREROOM Marketplace | +----------+------------------+ 1 row in set (0.00 sec)
  • 12. The Problem • Tasks and defects initially tracked in a spreadsheet. • 6400 rows, 78 columns wide. • Growing at 250 rows per day.
  • 14. Solution Requirements • Provide a collaborative multi-user system. • Import existing data from multiple spreadsheets. • Automate common appropriate tasks. • Configure not customize. • 4 weeks to deliver the solution with 0 import defects.
  • 15. Why JIRA? • My team is familiar with JIRA. • Comfortable that there was an 80% requirement fit. • Could JIRA perform in this use case? • Can we deliver in this time frame?
  • 16. Why JIRA? • Can we meet the reporting requirements? • Is automation possible? • Can we retrieve data from other enterprise systems? • What about through life support for each ship?
  • 17. But a ship isn’t software? • Apply software development concepts. • Identify workflows. • Identify key issue fields. • Build custom reports. • Extended JIRA using add-ons.
  • 18. How did you do it? - Workflows • Have your customers sketch out their day. • Translate their sketch to a JIRA workflow. • Collaborate on the workflow. • Some steps were “excel” steps. Remove them!
  • 20. 2,569 Big cool statistic Insert workflow screenshot from JIRA Add-Ons in Marketplace
  • 21. How did you do it? – Custom Fields • Identify the fields that matter. • Don’t blindly import all fields from excel. • Perform a mass custom field creation using the JIRA Jelly Runner. • 78 fields in less than a minute!
  • 23. <jira:CreateCustomField fieldType=“select” fieldName=“Ship Location” searcher=“multiselectsearcher” description=“Identify where the fault can be found” fieldScope=“project” projectKey=“LHDIW” customFieldIdVar=“customField”> <jira:AddCustomFieldSelectValue value=“Starboard”> </jira:AddCustomFieldSelectValue> <jira:AddCustomFieldSelectValue value=“Port”> </jira:AddCustomFieldSelectValue> </jira:CreateCustomField> <jira:AddFieldToScreen screen=“LHDIW” fieldId=“$ {customField.getId()}”/>
  • 24. How did you do it? – Migration • Use the built-in CSV importer. • Trial runs. Many, many trial runs. • Parse the CSV for errors. Fix as many before import. • Use the REST interface for everything else.
  • 25. How did you do it? – Migration • Use JIRA to deliver a JIRA project. • Provide training. • Knowledgebase and Reference guides in Confluence. • Lookup tables (old vs new JIRA key). Provide a hyperlink to the JIRA issue. • Import the reference if possible. Disable the field later.
  • 26. How did you do it? – Custom reports • Identify the mandatory reports. • Two reports required on Day 1. • Cheaper and quicker to have an Atlassian services partner build these. • Delivered to us as a custom JIRA plugin.
  • 27. How did you do it? – Extend with Add-ons • Retrieve data for automation from several databases. • Use Marketplace plugins where possible. • Custom plugin to retrieve data via JDBC from SQL databases during workflow transitions. • Retrieve data on issue save actions.
  • 31. Go-live 0 Service desk calls
  • 32. How did you do it? – Migration • Day 1 was a success. • 0 defects. • 0 impact to the trade work force.
  • 34. BeforeIssue Creation 10 minutes After 2 minutes
  • 35. BeforeIssue Queries 1 hour After 5 minutes
  • 36. Results • Significant reduction in manual errors. • Increased confidence in data integrity. • Much happier workforce.
  • 37. Results I've been able to get home each day before the sun sets, that's a massive improvement – Tom, Shipboard Works Control Manger
  • 38. Results Whatever you're doing, do more of that! – Shaun, Manager Capability Development
  • 42. Next step – Through Life Support • JIRA Service Desk for Warranty Management. • Re-used much of the automation. • Linked the JIRA Service Desk to the “as-is” delivery information in JIRA. • Our Atlassian services partner wrote a custom plugin to identify export controlled issues.
  • 44. Next step – Through Life Support • Started with the customer experience expectations. • Transition was easy because our customers were already familiar with JIRA. • JIRA is now used everywhere!
  • 45. Key takeaways: #atlassian • JIRA is easy to integrate with enterprise systems. • Reduce as many fields on import as possible. • Large imports will take a long time. • Work with your customers on their workflow. This will make them happy.
  • 46. Thank you! Greg Warner • Team Leader • BAE Systems • @sabre1817