concurrent product release planning with jira

40

Post on 22-Oct-2014

3.885 views

Category:

Technology


1 download

DESCRIPTION

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.

TRANSCRIPT

Page 1: Concurrent Product Release Planning with JIRA
Page 2: Concurrent Product Release Planning with JIRA

Concurrent Product Release Planning!

Ian Wells!

with JIRA!

Telogis Inc! !

Page 3: Concurrent Product Release Planning with JIRA

The captain of Allure of the Seas had accurate information on the bridge as he steamed full speed towards the

Storebaelt Bridge in Denmark!

Page 4: Concurrent Product Release Planning with JIRA

How JIRA provided the Dashboards for our

Concurrent Software and Hardware Releases!

Page 5: Concurrent Product Release Planning with JIRA

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!

Page 6: Concurrent Product Release Planning with JIRA

The Challenge here: Concurrent releases of High Accuracy GPS !

•  14+ core hardware products !

•  10+ core software products!•  10 languages!•  100+ JIRA “projects”!•  200+ JIRA logins!

Page 7: Concurrent Product Release Planning with JIRA

How we were organized!

Project Management!Development & Test!Product Management!

Marketing & Sales!

!

Page 8: Concurrent Product Release Planning with JIRA

Why choose JIRA? !

Page 9: Concurrent Product Release Planning with JIRA

1. Permanence !

Page 10: Concurrent Product Release Planning with JIRA

2. Visibility !

Page 11: Concurrent Product Release Planning with JIRA

3. Flexibility !

Page 12: Concurrent Product Release Planning with JIRA

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 !!

Page 13: Concurrent Product Release Planning with JIRA

Workflows!•  Software – bugs not done till tested done !•  Agile software – no bugs, only rework!•  Hardware workflows!

Page 14: Concurrent Product Release Planning with JIRA

Hardware workflows are different than software workflows!•  Board spins!

•  Test cycles!

•  More design and simulation!

Page 15: Concurrent Product Release Planning with JIRA

Hardware workflows have board spins!

•  Design!

•  2 months later: Prototype board!

•  Test!

•  2 months later:Pre-release board!

•  Test!

•  2 months later: Release board!

Page 16: Concurrent Product Release Planning with JIRA

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!

Page 17: Concurrent Product Release Planning with JIRA

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!

Page 18: Concurrent Product Release Planning with JIRA

How to change JIRA “project” to our “product”!

•  Locate jira-languages-5.0.5-en_UK_1337505912000.jar in C:\Program Files (x86)\Atlassian\Application Data\JIRA\plugins\.osgi-plugins\transformed-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!

!

!

Page 19: Concurrent Product Release Planning with JIRA

Python script!# Replace all occurrences of Project/Component/Fix Version with Product/Area/ Fix in Release after!

# the = sign on a given input file (Jira language files (default and en_US)!

input_file = open("JiraWebActionSupport_en_UK.properties")!

output_file = open("JiraWebActionSupport_en_UK.properties.new","w")!

for line in input_file:!

line_split = line.split("=")!

if len(line_split) !=2:!

#no = sign so just write out this line!

output_file.writelines(line)!

!

else:!

#replace text after the = sign (line_split[1]) then write out line!

rep = line_split[1].replace('Project', 'Product')!

rep = rep.replace('project', 'product')!

rep = rep.replace('Component', 'Area')!

rep = rep.replace('component', 'area')!

rep = rep.replace('FixVersion', 'Fix in Release')!

rep = rep.replace('Fix Version', 'Fix in Release')!

output_file.writelines(line_split[0] + "=" + rep)!

Page 20: Concurrent Product Release Planning with JIRA

#summit12

In our world, a JIRA project was a PRODUCT, a

JIRA dashboard was a PROJECT

Page 21: Concurrent Product Release Planning with JIRA

Mapping Projects to Products with Piped JQL queries!

•  Maps our products to our projects!•  Provides all project information in one place!

Page 22: Concurrent Product Release Planning with JIRA

Piped JQL queries!

The Mother Query:

All issues for this project

All issues | critical or high priority All issues | open

All issues | open | bugs

All issues | open | tasks

All issues | closed

All issues | closed | bugs

All issues | closed | tasks

Page 23: Concurrent Product Release Planning with JIRA

Built up a family of Piped JQL queries all based on the Mother!

Page 24: Concurrent Product Release Planning with JIRA

For each Project:Take care for your Mother!

Page 25: Concurrent Product Release Planning with JIRA

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))!

Page 26: Concurrent Product Release Planning with JIRA

Major Project – all bugs!filter = "Major Project - all issues" and issuetype = Bug!

Page 27: Concurrent Product Release Planning with JIRA

Major Project – all bugs open!filter = "Major project - all bugs" and status != Closed!

Page 28: Concurrent Product Release Planning with JIRA

Major Project – all bugs closed!filter = "Major project - all bugs" and status = Closed!

Page 29: Concurrent Product Release Planning with JIRA

Major Project - all bugs open created more than 5 days ago!

filter = "Major project - all bugs open" and createdDate > "-5d"!

Page 30: Concurrent Product Release Planning with JIRA

The Project Dashboard is built!Based on JQL families of queries!Based on models of product and projects that match our organization!

Page 31: Concurrent Product Release Planning with JIRA
Page 32: Concurrent Product Release Planning with JIRA

#summit12

Project Dashboard is constructed with JQL piped

filters

Page 33: Concurrent Product Release Planning with JIRA

Gardening ! !!•  Always ask what is a

product!•  Marketing/Development

discussions!•  Consolidate versions!•  Keep backlogs small!

Page 34: Concurrent Product Release Planning with JIRA

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?!

Page 35: Concurrent Product Release Planning with JIRA

Next Challenges!

Page 36: Concurrent Product Release Planning with JIRA

Additional Requirements!•  Traceability!

•  How to transition a live environment to JIRA!

•  Shared components & dependencies!

•  Maintain top speed!

Page 37: Concurrent Product Release Planning with JIRA

Full speed ahead !

Page 38: Concurrent Product Release Planning with JIRA

Thank you!

Page 39: Concurrent Product Release Planning with JIRA

How Allure did it!

Page 40: Concurrent Product Release Planning with JIRA

Thank you!