Coordinating product releases that include hardware, software and firmware is no doubt a team effort. Learn how to use JIRA to track concurrent product releases by coordinating multiple hardware versions, OS releases in different languages, shared software components and various software products all at the same time with engineering work spread across the globe.
3. The captain of Allure of the Seas had accurate information
on the bridge as he steamed full speed towards the
Storebaelt Bridge in Denmark !
4. How JIRA provided the
Dashboards for our
Concurrent Software and
Hardware Releases !
5. The next 35 minutes!
• Our previous challenge!
• Why I chose JIRA for the challenge!
• How we conformed JIRA to us !
• How we learned to trust JIRA!
• How we built dashboards for each project!
• Our next challenge!
12. How we conformed JIRA to us!
• Different workflows for hardware/software!
• Define Carefully What a Product meant to us!
• Define Carefully What a Project meant to us!
• JIRA JQL Piped Queries Families!
• Continual Gardening !
!
13. Workflows!
• Software – bugs not done till tested done !
• Agile software – no bugs, only rework!
• Hardware workflows!
14. Hardware workflows are different than
software workflows!
• Board spins!
• Test cycles!
• More design and simulation!
16. What a Product means to us!
• Product has releases
with ascending
unique version
numbers!
• A product lives long
and has a history of
releases!
• A product is
managed by a
Product Owner!
17. What a Project means to us!
• A project manager runs a project!
• A project happens once!
• A single project will contain simultaneous specific product
releases. !
• A single JIRA query can be constructed for all products!
• A single JIRA Dashboard can summarize project status!
18. How to change JIRA project to our product !
• Locate jira-languages-5.0.5-en_UK_1337505912000.jar in C:Program Files (x86)AtlassianApplication Data
JIRAplugins.osgi-pluginstransformed-plugins!
• Rename to .zip!
• Locate JiraWebActionSupport_en_UK.properties!
• Run python script to convert!
• Save JiraWebActionSupport_en_UK.properties in jira-languages-5.0.5-en_UK_1337505912000.zip!
• Rename back to jira-languages-5.0.5-en_UK_1337505912000.jar!
• Replace it!
• Use the UK language!
!
!
19. Python script!
# Replace all occurrences of Project/Component/Fix output_file.writelines(line)!
Version with Product/Area/ Fix in Release after!
!
# the = sign on a given input file (Jira language files
(default and en_US)! else:!
input_file = #replace text after the = sign (line_split[1]) then
open("JiraWebActionSupport_en_UK.properties")! write out line!
output_file = rep = line_split[1].replace('Project', 'Product')!
open("JiraWebActionSupport_en_UK.properties.new","w
")! rep = rep.replace('project', 'product')!
for line in input_file:! rep = rep.replace('Component', 'Area')!
line_split = line.split("=")! rep = rep.replace('component', 'area')!
if len(line_split) !=2:! rep = rep.replace('FixVersion', 'Fix in Release')!
#no = sign so just write out this line! rep = rep.replace('Fix Version', 'Fix in Release')!
output_file.writelines(line_split[0] + "=" + rep)!
20. In our world, a JIRA project was a PRODUCT, a
JIRA dashboard was a PROJECT
#summit12
21. Mapping Projects to Products with
Piped JQL queries!
• Maps our products to our projects!
• Provides all project information in one place!
22. Piped JQL queries
!
The Mother Query:
All issues for this
project
All issues | critical or
high priority
All issues | open
All issues | closed
All issues | open | All issues | open | All issues | closed | All issues | closed |
bugs
tasks
bugs
tasks
23. Built up a family of Piped JQL
queries all based on the Mother!
25. Mother JQL Query
!
“Major Project all issues” Filter
(project = Progression and ((fixVersion > 10022 and
fixVersion <= 10023 ) or fixVersion is empty)) or (project =
GNAV and ((fixVersion > 10003 and fixVersion <= 10006)
or fixVersion is empty)) or ((project = HWI and (fixVersion
> 10076 and fixVersion <= 10080) or fixVersion is empty))
or (project = "INT" and ((fixVersion > 10130 and fixVersion
<= 10135) or fixVersion is empty))!
26. Major Project – all bugs!
filter = "Major Project - all issues" and issuetype = Bug!
27. Major Project – all bugs open!
filter = "Major project - all bugs" and status != Closed!
28. Major Project – all bugs closed!
filter = "Major project - all bugs" and status = Closed!
29. Major Project - all bugs open created more than 5
days ago!
filter = "Major project - all bugs open" and createdDate > "-5d"!
30. The Project Dashboard is built!
Based on JQL families of queries!
Based on models of product and projects that match our
organization!
33. Gardening ! !!
• Always ask what is a
product!
• Marketing/Development
discussions!
• Consolidate versions!
• Keep backlogs small!
34. How we learned to trust JIRA
• Started with one product and expanded!
! Never delete !
•
• Involved product management and
development!
• Trust everyone; but everyone can check!
• Evolved JIRA to our enterprise: Monolithic or
Federation?!