SlideShare a Scribd company logo
1 of 92
Download to read offline
1
1
Making the Switch: One Team's Story of
Adopting JIRA, FishEye, Eclipse and
2
Brian Tarbox, ! ! Principal Staff Engineer
Heather Mardis, ! ! Build & Release Engineer
Motorola
2
About Us
3
3
About Us
• Motorola, Video On Demand
3
3
About Us
• Motorola, Video On Demand
• Distributed Team
• Boxborough, MA US
• Beijing, China
• Madrid, Spain
• Natanya, Israel
• ~100 engineers
• ~15 doing java
3
3
About Us
• Motorola, Video On Demand
• Distributed Team
• Boxborough, MA US
• Beijing, China
• Madrid, Spain
• Natanya, Israel
• ~100 engineers
• ~15 doing java
3
Motorola Video On
Demand magic
happens here…
3
Takeaways
4
4
Takeaways
• Setup Perforce depot structure like JIRA Projects
4
4
Takeaways
• Setup Perforce depot structure like JIRA Projects
• JIRA/Perforce/FishEye integration tips
4
4
Takeaways
• Setup Perforce depot structure like JIRA Projects
• JIRA/Perforce/FishEye integration tips
• Convert to JIRA using Pilot Projects for path finding
4
4
Takeaways
• Setup Perforce depot structure like JIRA Projects
• JIRA/Perforce/FishEye integration tips
• Convert to JIRA using Pilot Projects for path finding
• Tool Integration Benefits
4
4
Takeaways
• Setup Perforce depot structure like JIRA Projects
• JIRA/Perforce/FishEye integration tips
• Convert to JIRA using Pilot Projects for path finding
• Tool Integration Benefits
• Identify your greatest pain points
• What can my tools do to help?
4
4
Background
• JIRA 4.0.x
• Upgraded easily from 3.13.x
• Once the plug-ins were supported
• FishEye 2.0.2
• Provides integration with perforce
• Perforce 2009.2
• Eclipse 3.5, Galileo
• p4wsad 2009.3 perforce plug-in and
Mylyn connector
• Atlassian Connector for Eclipse JIRA
2.1.0V20100408
• Mylyn
5
JIRA Adoption Lessons
6
JIRA Adoption Lessons
• Stay close to out of the box
• More fields/transitions isnʼt always better
• Simplifies upgrades
6
JIRA Adoption Lessons
• Stay close to out of the box
• More fields/transitions isnʼt always better
• Simplifies upgrades
• Plug-ins are valuable
• Large Plug-in universe available
6
JIRA Adoption Lessons
• Stay close to out of the box
• More fields/transitions isnʼt always better
• Simplifies upgrades
• Plug-ins are valuable
• Large Plug-in universe available
• Convert to JIRA using Pilot Projects
• Gather user feedback
• Establishing personal relationships between admin/developer simplifies fact finding
• What works, what doesnʼt, what I want to do is…
6
JIRA and Perforce
7
• Setup your Perforce depot structure to match your JIRA Projects
• JIRA Project = p4 depot folder
• JIRA Component = p4 depot name
• JIRA Version = p4 branch
JIRA and Perforce
7
FishEye and Perforce
8
• Six years of p4 history, too much to slurp by depot
• By project/branch reduced overhead
• Allowed removing uninteresting branches
• Restarted, remember to clean up cache of old stuff
FishEye and Perforce
8
• Six years of p4 history, too much to slurp by depot
• By project/branch reduced overhead
• Allowed removing uninteresting branches
• Restarted, remember to clean up cache of old stuff
FishEye and Perforce
8
• Six years of p4 history, too much to slurp by depot
• By project/branch reduced overhead
• Allowed removing uninteresting branches
• Restarted, remember to clean up cache of old stuff
FishEye and Perforce
• FishEye and LoC can
provide risk assessment
8
Tools Integration Issues
9
Tools Integration Issues
• Learn the capabilities of the tool you
live in
• your Java/Groovy/Scala editor, e.g.
Eclipse
9
Tools Integration Issues
• Learn the capabilities of the tool you
live in
• your Java/Groovy/Scala editor, e.g.
Eclipse
• Find the integration points between
your pluginʼs plugins!
• Mylyn – Eclipse – Perforce – JIRA
• Some issues do arise
• Our BUG entry screen requires filling in a
custom field, not supported from the JIRA/
Eclipse integration
• We are contemplating a schema change to
address it
9
Tools Integration Issues
• Learn the capabilities of the tool you
live in
• your Java/Groovy/Scala editor, e.g.
Eclipse
• Find the integration points between
your pluginʼs plugins!
• Mylyn – Eclipse – Perforce – JIRA
• Some issues do arise
• Our BUG entry screen requires filling in a
custom field, not supported from the JIRA/
Eclipse integration
• We are contemplating a schema change to
address it
• Identify your greatest pain points
• lack of distribution of domain knowledge
• see if your tools can be flexed in a way to
solve them
• Mylyn as a training tool
• Preserve, then share context knowledge in the
code base
9
Tool Integrations
10
perforce
eclipse IDE
FishEye
p4
FishEye
p4
Eclipse
workspace
10
Using Eclipse with JIRA, Mylyn
• Eclipse has become our standard editor
• Itʼs a powerful editor by itself but really shines with friends
• Combining Eclipse, JIRA and Mylyn results in a game changing
development environment
• Use Your Exo-Cortex!
11
11
Using Eclipse with JIRA, Mylyn
• Eclipse has become our standard editor
• Itʼs a powerful editor by itself but really shines with friends
• Combining Eclipse, JIRA and Mylyn results in a game changing
development environment
• Use Your Exo-Cortex!
11
11
Just Eclipse
12
eclipse IDE
Eclipse workspace
12
Standard Eclipse View
13
Lots	
  of	
  packages
Lots	
  of	
  naviga0ng	
  to	
  find	
  files
13
Standard Eclipse View
14
Lots	
  of	
  items	
  in	
  the	
  outline	
  view
14
Just Eclipse
15
eclipse IDE
Eclipse
workspace
Mylyn Context
Mylyn task to disk or JIRA
Context and optionally task
to disk
15
Crashworthiness
• Prior to the 1960s automobiles (in the US) were not required to be
crashworthy.
• Crashing was not considered a standard “use” of a car, so how they
behaved in a crash “didnʼt matter”
16
16
Crashworthiness
• Prior to the 1960s automobiles (in the US) were not required to be
crashworthy.
• Crashing was not considered a standard “use” of a car, so how they
behaved in a crash “didnʼt matter”
• In 1965 the US Court of Appeals ruled:
16
16
Crashworthiness
• Prior to the 1960s automobiles (in the US) were not required to be
crashworthy.
• Crashing was not considered a standard “use” of a car, so how they
behaved in a crash “didnʼt matter”
• In 1965 the US Court of Appeals ruled:
• “While automobiles are not made for the purpose of colliding with
each other, a frequent and inevitable contingency of normal
automobile use will result in collisions and injury-producing impacts.”
16
16
Crashworthiness
• Prior to the 1960s automobiles (in the US) were not required to be
crashworthy.
• Crashing was not considered a standard “use” of a car, so how they
behaved in a crash “didnʼt matter”
• In 1965 the US Court of Appeals ruled:
• “While automobiles are not made for the purpose of colliding with
each other, a frequent and inevitable contingency of normal
automobile use will result in collisions and injury-producing impacts.”
• What the heck does that have to do with Eclipse?
16
16
Mylyn – a task view for Eclipse
17
17
Mylyn – a task view for Eclipse
17
Being	
  interrupted	
  is	
  a	
  
standard	
  use	
  of	
  an	
  editor	
  
just	
  like	
  crashing	
  is	
  a	
  
standard	
  use	
  of	
  a	
  car!
17
Mylyn – a task view for Eclipse
17
Being	
  interrupted	
  is	
  a	
  
standard	
  use	
  of	
  an	
  editor	
  
just	
  like	
  crashing	
  is	
  a	
  
standard	
  use	
  of	
  a	
  car!
Mylyn	
  organizes	
  what	
  you	
  are	
  doing	
  into	
  
tasks	
  and	
  contexts
17
Mylyn – a task view for Eclipse
17
Being	
  interrupted	
  is	
  a	
  
standard	
  use	
  of	
  an	
  editor	
  
just	
  like	
  crashing	
  is	
  a	
  
standard	
  use	
  of	
  a	
  car!
Mylyn	
  organizes	
  what	
  you	
  are	
  doing	
  into	
  
tasks	
  and	
  contexts
When	
  you	
  switch	
  tasks,	
  Mylyn	
  switches	
  your	
  
Eclipse	
  context	
  for	
  you
17
Local and Repository Tasks
18
You	
  can	
  create	
  local	
  tasks	
  that	
  live	
  
on	
  your	
  machine	
  and	
  are	
  not	
  
shared
Or	
  you	
  can	
  create	
  tasks	
  in	
  your	
  JIRA	
  
repository	
  and	
  these	
  can	
  be	
  shared
18
JIRA Tasks
19
Standard	
  connec0on	
  to	
  your	
  JIRA	
  repository
Lots	
  of	
  op0ons,	
  including	
  automa0c	
  0me	
  tracking
19
Create a new Task
20
20
Create a new Task
20
20
Task Focus adds by removing
21
21
Building a Context
22
Methods	
  you	
  
visit	
  get	
  added	
  
to	
  the	
  context
22
Flashback
23
Remember,	
  this	
  is	
  what	
  you	
  used	
  to	
  see
23
Switching Tasks is the real payoff
24
24
Switching Tasks is the real payoff
24
This	
  is	
  the	
  task	
  we’ve	
  been	
  working	
  on
24
Switching Tasks is the real payoff
24
This	
  is	
  the	
  task	
  we’ve	
  been	
  working	
  on
This	
  is	
  the	
  task	
  we’re	
  switching	
  to
24
Just Eclipse
25
eclipse IDE
Eclipse
workspace
Mylyn Context
Mylyn Task
25
Just Eclipse
25
eclipse IDE
Eclipse
workspace
Mylyn Context
Mylyn Task
Load new task
25
Just Eclipse
25
eclipse IDE
Eclipse
workspace
Mylyn Context
Mylyn Task
Load new taskGet context for that task
25
Just Eclipse
25
eclipse IDE
Eclipse
workspace
Mylyn Context
Mylyn Task
Load new taskGet context for that task
Load classes, methods for that context
25
Switching tasks switches context
26
By	
  switching	
  tasks	
  we	
  get	
  
a	
  different	
  set	
  of	
  open	
  
files,	
  along	
  with	
  the	
  
memory	
  of	
  which	
  
methods	
  we’d	
  been	
  
working	
  on
26
Sharing Contexts
27
eclipse IDE
Eclipse
workspace
If you create your tasks as
JIRA Tasks, and save your
Context in the Task, then others
can share your Task Context
27
Integrating Mylyn With JIRA
28
Instead of creating a task, use a query to get tasks
directly from the JIRA repository
28
Integrating Mylyn With JIRA
28
Instead of creating a task, use a query to get tasks
directly from the JIRA repository
28
Finding the JIRA task
29
The query returns a list of tasks, from which you can pick the one to use
29
Store Context in JIRA Task
30
30
Now all the tools are Cooperating
31
perforce
eclipse IDE
FishEye
p4
FishEye
p4
Eclipse
workspace
31
Other things you can add
32
ANach	
  a	
  log	
  file	
  of	
  the	
  system	
  
execu0ng	
  that	
  verb
32
The problem
• Weʼre all too busy
• Our systems are all too complex
• Often only one person in a group knows how any given part of the
system works
• Being indispensable is a two edged sword!
33
33
The problem
• Weʼre all too busy
• Our systems are all too complex
• Often only one person in a group knows how any given part of the
system works
• Being indispensable is a two edged sword!
33
“It will take me longer to explain it to you than to just do it myself”
33
Using JIRA/Mylyn as a training tool
34
34
Using JIRA/Mylyn as a training tool
• Create the JIRA Issue for a verb
34
34
Using JIRA/Mylyn as a training tool
• Create the JIRA Issue for a verb
• Open all of the classes that are used in executing that part of the
system
34
34
Using JIRA/Mylyn as a training tool
• Create the JIRA Issue for a verb
• Open all of the classes that are used in executing that part of the
system
• Visit the methods with those classes that matter
34
34
Using JIRA/Mylyn as a training tool
• Create the JIRA Issue for a verb
• Open all of the classes that are used in executing that part of the
system
• Visit the methods with those classes that matter
• Eclipse/Mylyn remembers the places you have visited
34
34
Using JIRA/Mylyn as a training tool
• Create the JIRA Issue for a verb
• Open all of the classes that are used in executing that part of the
system
• Visit the methods with those classes that matter
• Eclipse/Mylyn remembers the places you have visited
• Attach the content to the JIRA issue
34
34
Using JIRA/Mylyn as a training tool
• Create the JIRA Issue for a verb
• Open all of the classes that are used in executing that part of the
system
• Visit the methods with those classes that matter
• Eclipse/Mylyn remembers the places you have visited
• Attach the content to the JIRA issue
34
34
Using JIRA/Mylyn as a training tool
• Create the JIRA Issue for a verb
• Open all of the classes that are used in executing that part of the
system
• Visit the methods with those classes that matter
• Eclipse/Mylyn remembers the places you have visited
• Attach the content to the JIRA issue
• You now have a task based training library!
34
34
JIRA/Mylyn Training Library
35
35
Since this is an Atlassian Summit…
36
36
Since this is an Atlassian Summit…
36
Heather, I’m busy, can you handle this bug?
36
In Summary - Takeaways
37
37
In Summary - Takeaways
• Setup Perforce depot structure like JIRA Projects
37
37
In Summary - Takeaways
• Setup Perforce depot structure like JIRA Projects
• JIRA/Perforce/FishEye integration tips
37
37
In Summary - Takeaways
• Setup Perforce depot structure like JIRA Projects
• JIRA/Perforce/FishEye integration tips
• Convert to JIRA using Pilot Projects for path finding
37
37
In Summary - Takeaways
• Setup Perforce depot structure like JIRA Projects
• JIRA/Perforce/FishEye integration tips
• Convert to JIRA using Pilot Projects for path finding
• Tool Integration Benefits
• Find pluginʼs plugins integrations! (Mylyn – Perforce – JIRA)
37
37
In Summary - Takeaways
• Setup Perforce depot structure like JIRA Projects
• JIRA/Perforce/FishEye integration tips
• Convert to JIRA using Pilot Projects for path finding
• Tool Integration Benefits
• Find pluginʼs plugins integrations! (Mylyn – Perforce – JIRA)
• Identify your greatest pain points
• What can my tools do to help? (Mylyn as a training tool).
37
37
In Summary - Takeaways
• Setup Perforce depot structure like JIRA Projects
• JIRA/Perforce/FishEye integration tips
• Convert to JIRA using Pilot Projects for path finding
• Tool Integration Benefits
• Find pluginʼs plugins integrations! (Mylyn – Perforce – JIRA)
• Identify your greatest pain points
• What can my tools do to help? (Mylyn as a training tool).
•  
37
37
Mylyn
P4
Demonstration
38
Questions?
• Brian Tarbox!btarbox@motorola.com
• Brian's Blog: http://briantarbox.blogspot.com/
• Heather Mardis heather.mardis@motorola.com
• http://www.log4jfugue.org/press.html
• http://www.pragprog.com/magazines
39
39
Backup Material
• Eclipse – Mylyn – JIRA setup instructions
• Eclipse – Mylyn requirements for loading context from JIRA
• JIRA plug-ins We Use
• Demo Environment
40
40
Eclipse – Mylyn - JIRA
• Eclipse Galilleo comes pre-installed with Mylyn
• To add the JIRA Mylyn connector
• Ensure you have the most up to date Mylyn, check for updates
• Select Task ʻadd repositoryʼ, choose ʻInstall More Connectorsʼ
• Select JIRA from the Mylyn Connector Discovery screen
• Follow the install instructions
41
41
Eclipse – Mylyn - JIRA
• Eclipse Galilleo comes pre-installed with Mylyn
• To add the JIRA Mylyn connector
• Ensure you have the most up to date Mylyn, check for updates
• Select Task ʻadd repositoryʼ, choose ʻInstall More Connectorsʼ
• Select JIRA from the Mylyn Connector Discovery screen
• Follow the install instructions
41
41
Load JIRA context instructions
• Assumption: Eclipse-Mylyn-JIRA-
perforce properly setup
• Eclipse project name, must be the
same
• Establish a naming convention for potentially
ʻsharedʼ Issues in JIRA and Eclipse to facilitate
this
• Use the ʻenvironmentʼ JIRA field to note the project
name and source info
• In our example
• demo-sc is our Eclipse project
• But it is defined to point to the demo-sc/vodman
folder of the p4 client workspace
• Source base for the set of files, must be
the same
• If both users have perforce workspaces, it must
be for the same set of files and from the same
starting directory
• JIRA connection string, must use same
http: string
• Mylyn context zip files show the
required name, for debug
• stored in the eclipse workspace
• .metadata/.mylyn/contexts/http<link name
plus pid>.zip
42
42
JIRA plug-ins We Use
43
43
Demo Environment
• Windows XP laptop (2G memory,
Dell Precision M65)
• 320G Iomega external Drive
• VM Player on Windows, Ubuntu
VM
• Perforce
• Perforce database restored from
production checkpoint
• Limited set of archived sources but entire
set of db.* files (big!)
• FishEye
• Similar to production created against the
smaller set of archived p4 data
• JIRA
• Installed on XP
• Files live on the external drive
• Eclipse
• Connected to JIRA, p4 (beta p4wasd)
44
44

More Related Content

Similar to Motorola Team's Story of Adopting JIRA, FishEye, Eclipse and Perforce

Making the Switch: One Team's Story of Adopting JIRA, FishEye, Eclipse & Myly...
Making the Switch: One Team's Story of Adopting JIRA, FishEye, Eclipse & Myly...Making the Switch: One Team's Story of Adopting JIRA, FishEye, Eclipse & Myly...
Making the Switch: One Team's Story of Adopting JIRA, FishEye, Eclipse & Myly...Atlassian
 
Boston Ruby Group - Devops Pipeline
Boston Ruby Group - Devops Pipeline Boston Ruby Group - Devops Pipeline
Boston Ruby Group - Devops Pipeline Michael Durrant
 
MacRuby for Fun and Profit
MacRuby for Fun and ProfitMacRuby for Fun and Profit
MacRuby for Fun and ProfitJoshua Ballanco
 
WebObjects Developer Tools
WebObjects Developer ToolsWebObjects Developer Tools
WebObjects Developer ToolsWO Community
 
Introducing Workspaces, a New Experience for Neo4j Developer Tools
Introducing Workspaces, a New Experience for Neo4j Developer ToolsIntroducing Workspaces, a New Experience for Neo4j Developer Tools
Introducing Workspaces, a New Experience for Neo4j Developer ToolsNeo4j
 
Kotlin – Alternative oder Ergänzung zu Java?
Kotlin – Alternative oder Ergänzung zu Java?Kotlin – Alternative oder Ergänzung zu Java?
Kotlin – Alternative oder Ergänzung zu Java?gedoplan
 
Do Try This At Home Ajax Bookmarking, Cross Site Scripting, And Other Web 2 ...
Do Try This At Home  Ajax Bookmarking, Cross Site Scripting, And Other Web 2 ...Do Try This At Home  Ajax Bookmarking, Cross Site Scripting, And Other Web 2 ...
Do Try This At Home Ajax Bookmarking, Cross Site Scripting, And Other Web 2 ...jward5519
 
Town Hall - Business Implications of Open Source OSGi Implementations - BJ Ha...
Town Hall - Business Implications of Open Source OSGi Implementations - BJ Ha...Town Hall - Business Implications of Open Source OSGi Implementations - BJ Ha...
Town Hall - Business Implications of Open Source OSGi Implementations - BJ Ha...mfrancis
 
Legacy On Premise Apps Got You Down? No Problem - DevOps for All
Legacy On Premise Apps Got You Down? No Problem - DevOps for AllLegacy On Premise Apps Got You Down? No Problem - DevOps for All
Legacy On Premise Apps Got You Down? No Problem - DevOps for AllMuly Gottlieb
 
Android Programming Seminar - MinSCAT
Android Programming Seminar - MinSCATAndroid Programming Seminar - MinSCAT
Android Programming Seminar - MinSCATMuhammad Abel
 
WebGL Camp 4 - A3 3D Engine
WebGL Camp 4 - A3 3D EngineWebGL Camp 4 - A3 3D Engine
WebGL Camp 4 - A3 3D Engineaerotwist
 
Git censored.key
Git censored.keyGit censored.key
Git censored.keymkramer2
 
Oracle Database on Docker - Best Practices
Oracle Database on Docker - Best PracticesOracle Database on Docker - Best Practices
Oracle Database on Docker - Best Practicesgvenzl
 
Circuit 2015 Keynote - Carsten Ziegeler
Circuit 2015 Keynote -  Carsten ZiegelerCircuit 2015 Keynote -  Carsten Ziegeler
Circuit 2015 Keynote - Carsten ZiegelerICF CIRCUIT
 
Get your Project back in Shape!
Get your Project back in Shape!Get your Project back in Shape!
Get your Project back in Shape!Joachim Tuchel
 
Drupal 8 Deep Dive: Plugin System
Drupal 8 Deep Dive: Plugin SystemDrupal 8 Deep Dive: Plugin System
Drupal 8 Deep Dive: Plugin SystemAcquia
 
Devconf 2011 - PHP - How Yii framework is developed
Devconf 2011 - PHP - How Yii framework is developedDevconf 2011 - PHP - How Yii framework is developed
Devconf 2011 - PHP - How Yii framework is developedAlexander Makarov
 
Continuous Integration, the minimum viable product
Continuous Integration, the minimum viable productContinuous Integration, the minimum viable product
Continuous Integration, the minimum viable productJulian Simpson
 
Environments and Version Control in EE - The Why and How
Environments and Version Control in EE - The Why and HowEnvironments and Version Control in EE - The Why and How
Environments and Version Control in EE - The Why and HowErik Reagan
 

Similar to Motorola Team's Story of Adopting JIRA, FishEye, Eclipse and Perforce (20)

Making the Switch: One Team's Story of Adopting JIRA, FishEye, Eclipse & Myly...
Making the Switch: One Team's Story of Adopting JIRA, FishEye, Eclipse & Myly...Making the Switch: One Team's Story of Adopting JIRA, FishEye, Eclipse & Myly...
Making the Switch: One Team's Story of Adopting JIRA, FishEye, Eclipse & Myly...
 
What is this cloud thing?
What is this cloud thing?What is this cloud thing?
What is this cloud thing?
 
Boston Ruby Group - Devops Pipeline
Boston Ruby Group - Devops Pipeline Boston Ruby Group - Devops Pipeline
Boston Ruby Group - Devops Pipeline
 
MacRuby for Fun and Profit
MacRuby for Fun and ProfitMacRuby for Fun and Profit
MacRuby for Fun and Profit
 
WebObjects Developer Tools
WebObjects Developer ToolsWebObjects Developer Tools
WebObjects Developer Tools
 
Introducing Workspaces, a New Experience for Neo4j Developer Tools
Introducing Workspaces, a New Experience for Neo4j Developer ToolsIntroducing Workspaces, a New Experience for Neo4j Developer Tools
Introducing Workspaces, a New Experience for Neo4j Developer Tools
 
Kotlin – Alternative oder Ergänzung zu Java?
Kotlin – Alternative oder Ergänzung zu Java?Kotlin – Alternative oder Ergänzung zu Java?
Kotlin – Alternative oder Ergänzung zu Java?
 
Do Try This At Home Ajax Bookmarking, Cross Site Scripting, And Other Web 2 ...
Do Try This At Home  Ajax Bookmarking, Cross Site Scripting, And Other Web 2 ...Do Try This At Home  Ajax Bookmarking, Cross Site Scripting, And Other Web 2 ...
Do Try This At Home Ajax Bookmarking, Cross Site Scripting, And Other Web 2 ...
 
Town Hall - Business Implications of Open Source OSGi Implementations - BJ Ha...
Town Hall - Business Implications of Open Source OSGi Implementations - BJ Ha...Town Hall - Business Implications of Open Source OSGi Implementations - BJ Ha...
Town Hall - Business Implications of Open Source OSGi Implementations - BJ Ha...
 
Legacy On Premise Apps Got You Down? No Problem - DevOps for All
Legacy On Premise Apps Got You Down? No Problem - DevOps for AllLegacy On Premise Apps Got You Down? No Problem - DevOps for All
Legacy On Premise Apps Got You Down? No Problem - DevOps for All
 
Android Programming Seminar - MinSCAT
Android Programming Seminar - MinSCATAndroid Programming Seminar - MinSCAT
Android Programming Seminar - MinSCAT
 
WebGL Camp 4 - A3 3D Engine
WebGL Camp 4 - A3 3D EngineWebGL Camp 4 - A3 3D Engine
WebGL Camp 4 - A3 3D Engine
 
Git censored.key
Git censored.keyGit censored.key
Git censored.key
 
Oracle Database on Docker - Best Practices
Oracle Database on Docker - Best PracticesOracle Database on Docker - Best Practices
Oracle Database on Docker - Best Practices
 
Circuit 2015 Keynote - Carsten Ziegeler
Circuit 2015 Keynote -  Carsten ZiegelerCircuit 2015 Keynote -  Carsten Ziegeler
Circuit 2015 Keynote - Carsten Ziegeler
 
Get your Project back in Shape!
Get your Project back in Shape!Get your Project back in Shape!
Get your Project back in Shape!
 
Drupal 8 Deep Dive: Plugin System
Drupal 8 Deep Dive: Plugin SystemDrupal 8 Deep Dive: Plugin System
Drupal 8 Deep Dive: Plugin System
 
Devconf 2011 - PHP - How Yii framework is developed
Devconf 2011 - PHP - How Yii framework is developedDevconf 2011 - PHP - How Yii framework is developed
Devconf 2011 - PHP - How Yii framework is developed
 
Continuous Integration, the minimum viable product
Continuous Integration, the minimum viable productContinuous Integration, the minimum viable product
Continuous Integration, the minimum viable product
 
Environments and Version Control in EE - The Why and How
Environments and Version Control in EE - The Why and HowEnvironments and Version Control in EE - The Why and How
Environments and Version Control in EE - The Why and How
 

Recently uploaded

Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxJoão Esperancinha
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girlsssuser7cb4ff
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerAnamika Sarkar
 
8251 universal synchronous asynchronous receiver transmitter
8251 universal synchronous asynchronous receiver transmitter8251 universal synchronous asynchronous receiver transmitter
8251 universal synchronous asynchronous receiver transmitterShivangiSharma879191
 
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)Dr SOUNDIRARAJ N
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...srsj9000
 
Artificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxArtificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxbritheesh05
 
Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...121011101441
 
Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxDeepakSakkari2
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxwendy cai
 
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)dollysharma2066
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort servicejennyeacort
 
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor CatchersTechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catcherssdickerson1
 
Work Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvWork Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvLewisJB
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile servicerehmti665
 
complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...asadnawaz62
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AIabhishek36461
 
Introduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxIntroduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxk795866
 

Recently uploaded (20)

Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girls
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
 
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
 
8251 universal synchronous asynchronous receiver transmitter
8251 universal synchronous asynchronous receiver transmitter8251 universal synchronous asynchronous receiver transmitter
8251 universal synchronous asynchronous receiver transmitter
 
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
 
Artificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxArtificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptx
 
Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...
 
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCRCall Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
 
Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptx
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptx
 
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
 
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor CatchersTechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
 
Work Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvWork Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvv
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile service
 
complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AI
 
Introduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxIntroduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptx
 

Motorola Team's Story of Adopting JIRA, FishEye, Eclipse and Perforce

  • 1. 1 1
  • 2. Making the Switch: One Team's Story of Adopting JIRA, FishEye, Eclipse and 2 Brian Tarbox, ! ! Principal Staff Engineer Heather Mardis, ! ! Build & Release Engineer Motorola 2
  • 4. About Us • Motorola, Video On Demand 3 3
  • 5. About Us • Motorola, Video On Demand • Distributed Team • Boxborough, MA US • Beijing, China • Madrid, Spain • Natanya, Israel • ~100 engineers • ~15 doing java 3 3
  • 6. About Us • Motorola, Video On Demand • Distributed Team • Boxborough, MA US • Beijing, China • Madrid, Spain • Natanya, Israel • ~100 engineers • ~15 doing java 3 Motorola Video On Demand magic happens here… 3
  • 8. Takeaways • Setup Perforce depot structure like JIRA Projects 4 4
  • 9. Takeaways • Setup Perforce depot structure like JIRA Projects • JIRA/Perforce/FishEye integration tips 4 4
  • 10. Takeaways • Setup Perforce depot structure like JIRA Projects • JIRA/Perforce/FishEye integration tips • Convert to JIRA using Pilot Projects for path finding 4 4
  • 11. Takeaways • Setup Perforce depot structure like JIRA Projects • JIRA/Perforce/FishEye integration tips • Convert to JIRA using Pilot Projects for path finding • Tool Integration Benefits 4 4
  • 12. Takeaways • Setup Perforce depot structure like JIRA Projects • JIRA/Perforce/FishEye integration tips • Convert to JIRA using Pilot Projects for path finding • Tool Integration Benefits • Identify your greatest pain points • What can my tools do to help? 4 4
  • 13. Background • JIRA 4.0.x • Upgraded easily from 3.13.x • Once the plug-ins were supported • FishEye 2.0.2 • Provides integration with perforce • Perforce 2009.2 • Eclipse 3.5, Galileo • p4wsad 2009.3 perforce plug-in and Mylyn connector • Atlassian Connector for Eclipse JIRA 2.1.0V20100408 • Mylyn 5
  • 15. JIRA Adoption Lessons • Stay close to out of the box • More fields/transitions isnʼt always better • Simplifies upgrades 6
  • 16. JIRA Adoption Lessons • Stay close to out of the box • More fields/transitions isnʼt always better • Simplifies upgrades • Plug-ins are valuable • Large Plug-in universe available 6
  • 17. JIRA Adoption Lessons • Stay close to out of the box • More fields/transitions isnʼt always better • Simplifies upgrades • Plug-ins are valuable • Large Plug-in universe available • Convert to JIRA using Pilot Projects • Gather user feedback • Establishing personal relationships between admin/developer simplifies fact finding • What works, what doesnʼt, what I want to do is… 6
  • 19. • Setup your Perforce depot structure to match your JIRA Projects • JIRA Project = p4 depot folder • JIRA Component = p4 depot name • JIRA Version = p4 branch JIRA and Perforce 7
  • 21. • Six years of p4 history, too much to slurp by depot • By project/branch reduced overhead • Allowed removing uninteresting branches • Restarted, remember to clean up cache of old stuff FishEye and Perforce 8
  • 22. • Six years of p4 history, too much to slurp by depot • By project/branch reduced overhead • Allowed removing uninteresting branches • Restarted, remember to clean up cache of old stuff FishEye and Perforce 8
  • 23. • Six years of p4 history, too much to slurp by depot • By project/branch reduced overhead • Allowed removing uninteresting branches • Restarted, remember to clean up cache of old stuff FishEye and Perforce • FishEye and LoC can provide risk assessment 8
  • 25. Tools Integration Issues • Learn the capabilities of the tool you live in • your Java/Groovy/Scala editor, e.g. Eclipse 9
  • 26. Tools Integration Issues • Learn the capabilities of the tool you live in • your Java/Groovy/Scala editor, e.g. Eclipse • Find the integration points between your pluginʼs plugins! • Mylyn – Eclipse – Perforce – JIRA • Some issues do arise • Our BUG entry screen requires filling in a custom field, not supported from the JIRA/ Eclipse integration • We are contemplating a schema change to address it 9
  • 27. Tools Integration Issues • Learn the capabilities of the tool you live in • your Java/Groovy/Scala editor, e.g. Eclipse • Find the integration points between your pluginʼs plugins! • Mylyn – Eclipse – Perforce – JIRA • Some issues do arise • Our BUG entry screen requires filling in a custom field, not supported from the JIRA/ Eclipse integration • We are contemplating a schema change to address it • Identify your greatest pain points • lack of distribution of domain knowledge • see if your tools can be flexed in a way to solve them • Mylyn as a training tool • Preserve, then share context knowledge in the code base 9
  • 29. Using Eclipse with JIRA, Mylyn • Eclipse has become our standard editor • Itʼs a powerful editor by itself but really shines with friends • Combining Eclipse, JIRA and Mylyn results in a game changing development environment • Use Your Exo-Cortex! 11 11
  • 30. Using Eclipse with JIRA, Mylyn • Eclipse has become our standard editor • Itʼs a powerful editor by itself but really shines with friends • Combining Eclipse, JIRA and Mylyn results in a game changing development environment • Use Your Exo-Cortex! 11 11
  • 32. Standard Eclipse View 13 Lots  of  packages Lots  of  naviga0ng  to  find  files 13
  • 33. Standard Eclipse View 14 Lots  of  items  in  the  outline  view 14
  • 34. Just Eclipse 15 eclipse IDE Eclipse workspace Mylyn Context Mylyn task to disk or JIRA Context and optionally task to disk 15
  • 35. Crashworthiness • Prior to the 1960s automobiles (in the US) were not required to be crashworthy. • Crashing was not considered a standard “use” of a car, so how they behaved in a crash “didnʼt matter” 16 16
  • 36. Crashworthiness • Prior to the 1960s automobiles (in the US) were not required to be crashworthy. • Crashing was not considered a standard “use” of a car, so how they behaved in a crash “didnʼt matter” • In 1965 the US Court of Appeals ruled: 16 16
  • 37. Crashworthiness • Prior to the 1960s automobiles (in the US) were not required to be crashworthy. • Crashing was not considered a standard “use” of a car, so how they behaved in a crash “didnʼt matter” • In 1965 the US Court of Appeals ruled: • “While automobiles are not made for the purpose of colliding with each other, a frequent and inevitable contingency of normal automobile use will result in collisions and injury-producing impacts.” 16 16
  • 38. Crashworthiness • Prior to the 1960s automobiles (in the US) were not required to be crashworthy. • Crashing was not considered a standard “use” of a car, so how they behaved in a crash “didnʼt matter” • In 1965 the US Court of Appeals ruled: • “While automobiles are not made for the purpose of colliding with each other, a frequent and inevitable contingency of normal automobile use will result in collisions and injury-producing impacts.” • What the heck does that have to do with Eclipse? 16 16
  • 39. Mylyn – a task view for Eclipse 17 17
  • 40. Mylyn – a task view for Eclipse 17 Being  interrupted  is  a   standard  use  of  an  editor   just  like  crashing  is  a   standard  use  of  a  car! 17
  • 41. Mylyn – a task view for Eclipse 17 Being  interrupted  is  a   standard  use  of  an  editor   just  like  crashing  is  a   standard  use  of  a  car! Mylyn  organizes  what  you  are  doing  into   tasks  and  contexts 17
  • 42. Mylyn – a task view for Eclipse 17 Being  interrupted  is  a   standard  use  of  an  editor   just  like  crashing  is  a   standard  use  of  a  car! Mylyn  organizes  what  you  are  doing  into   tasks  and  contexts When  you  switch  tasks,  Mylyn  switches  your   Eclipse  context  for  you 17
  • 43. Local and Repository Tasks 18 You  can  create  local  tasks  that  live   on  your  machine  and  are  not   shared Or  you  can  create  tasks  in  your  JIRA   repository  and  these  can  be  shared 18
  • 44. JIRA Tasks 19 Standard  connec0on  to  your  JIRA  repository Lots  of  op0ons,  including  automa0c  0me  tracking 19
  • 45. Create a new Task 20 20
  • 46. Create a new Task 20 20
  • 47. Task Focus adds by removing 21 21
  • 48. Building a Context 22 Methods  you   visit  get  added   to  the  context 22
  • 49. Flashback 23 Remember,  this  is  what  you  used  to  see 23
  • 50. Switching Tasks is the real payoff 24 24
  • 51. Switching Tasks is the real payoff 24 This  is  the  task  we’ve  been  working  on 24
  • 52. Switching Tasks is the real payoff 24 This  is  the  task  we’ve  been  working  on This  is  the  task  we’re  switching  to 24
  • 54. Just Eclipse 25 eclipse IDE Eclipse workspace Mylyn Context Mylyn Task Load new task 25
  • 55. Just Eclipse 25 eclipse IDE Eclipse workspace Mylyn Context Mylyn Task Load new taskGet context for that task 25
  • 56. Just Eclipse 25 eclipse IDE Eclipse workspace Mylyn Context Mylyn Task Load new taskGet context for that task Load classes, methods for that context 25
  • 57. Switching tasks switches context 26 By  switching  tasks  we  get   a  different  set  of  open   files,  along  with  the   memory  of  which   methods  we’d  been   working  on 26
  • 58. Sharing Contexts 27 eclipse IDE Eclipse workspace If you create your tasks as JIRA Tasks, and save your Context in the Task, then others can share your Task Context 27
  • 59. Integrating Mylyn With JIRA 28 Instead of creating a task, use a query to get tasks directly from the JIRA repository 28
  • 60. Integrating Mylyn With JIRA 28 Instead of creating a task, use a query to get tasks directly from the JIRA repository 28
  • 61. Finding the JIRA task 29 The query returns a list of tasks, from which you can pick the one to use 29
  • 62. Store Context in JIRA Task 30 30
  • 63. Now all the tools are Cooperating 31 perforce eclipse IDE FishEye p4 FishEye p4 Eclipse workspace 31
  • 64. Other things you can add 32 ANach  a  log  file  of  the  system   execu0ng  that  verb 32
  • 65. The problem • Weʼre all too busy • Our systems are all too complex • Often only one person in a group knows how any given part of the system works • Being indispensable is a two edged sword! 33 33
  • 66. The problem • Weʼre all too busy • Our systems are all too complex • Often only one person in a group knows how any given part of the system works • Being indispensable is a two edged sword! 33 “It will take me longer to explain it to you than to just do it myself” 33
  • 67. Using JIRA/Mylyn as a training tool 34 34
  • 68. Using JIRA/Mylyn as a training tool • Create the JIRA Issue for a verb 34 34
  • 69. Using JIRA/Mylyn as a training tool • Create the JIRA Issue for a verb • Open all of the classes that are used in executing that part of the system 34 34
  • 70. Using JIRA/Mylyn as a training tool • Create the JIRA Issue for a verb • Open all of the classes that are used in executing that part of the system • Visit the methods with those classes that matter 34 34
  • 71. Using JIRA/Mylyn as a training tool • Create the JIRA Issue for a verb • Open all of the classes that are used in executing that part of the system • Visit the methods with those classes that matter • Eclipse/Mylyn remembers the places you have visited 34 34
  • 72. Using JIRA/Mylyn as a training tool • Create the JIRA Issue for a verb • Open all of the classes that are used in executing that part of the system • Visit the methods with those classes that matter • Eclipse/Mylyn remembers the places you have visited • Attach the content to the JIRA issue 34 34
  • 73. Using JIRA/Mylyn as a training tool • Create the JIRA Issue for a verb • Open all of the classes that are used in executing that part of the system • Visit the methods with those classes that matter • Eclipse/Mylyn remembers the places you have visited • Attach the content to the JIRA issue 34 34
  • 74. Using JIRA/Mylyn as a training tool • Create the JIRA Issue for a verb • Open all of the classes that are used in executing that part of the system • Visit the methods with those classes that matter • Eclipse/Mylyn remembers the places you have visited • Attach the content to the JIRA issue • You now have a task based training library! 34 34
  • 76. Since this is an Atlassian Summit… 36 36
  • 77. Since this is an Atlassian Summit… 36 Heather, I’m busy, can you handle this bug? 36
  • 78. In Summary - Takeaways 37 37
  • 79. In Summary - Takeaways • Setup Perforce depot structure like JIRA Projects 37 37
  • 80. In Summary - Takeaways • Setup Perforce depot structure like JIRA Projects • JIRA/Perforce/FishEye integration tips 37 37
  • 81. In Summary - Takeaways • Setup Perforce depot structure like JIRA Projects • JIRA/Perforce/FishEye integration tips • Convert to JIRA using Pilot Projects for path finding 37 37
  • 82. In Summary - Takeaways • Setup Perforce depot structure like JIRA Projects • JIRA/Perforce/FishEye integration tips • Convert to JIRA using Pilot Projects for path finding • Tool Integration Benefits • Find pluginʼs plugins integrations! (Mylyn – Perforce – JIRA) 37 37
  • 83. In Summary - Takeaways • Setup Perforce depot structure like JIRA Projects • JIRA/Perforce/FishEye integration tips • Convert to JIRA using Pilot Projects for path finding • Tool Integration Benefits • Find pluginʼs plugins integrations! (Mylyn – Perforce – JIRA) • Identify your greatest pain points • What can my tools do to help? (Mylyn as a training tool). 37 37
  • 84. In Summary - Takeaways • Setup Perforce depot structure like JIRA Projects • JIRA/Perforce/FishEye integration tips • Convert to JIRA using Pilot Projects for path finding • Tool Integration Benefits • Find pluginʼs plugins integrations! (Mylyn – Perforce – JIRA) • Identify your greatest pain points • What can my tools do to help? (Mylyn as a training tool). •   37 37
  • 86. Questions? • Brian Tarbox!btarbox@motorola.com • Brian's Blog: http://briantarbox.blogspot.com/ • Heather Mardis heather.mardis@motorola.com • http://www.log4jfugue.org/press.html • http://www.pragprog.com/magazines 39 39
  • 87. Backup Material • Eclipse – Mylyn – JIRA setup instructions • Eclipse – Mylyn requirements for loading context from JIRA • JIRA plug-ins We Use • Demo Environment 40 40
  • 88. Eclipse – Mylyn - JIRA • Eclipse Galilleo comes pre-installed with Mylyn • To add the JIRA Mylyn connector • Ensure you have the most up to date Mylyn, check for updates • Select Task ʻadd repositoryʼ, choose ʻInstall More Connectorsʼ • Select JIRA from the Mylyn Connector Discovery screen • Follow the install instructions 41 41
  • 89. Eclipse – Mylyn - JIRA • Eclipse Galilleo comes pre-installed with Mylyn • To add the JIRA Mylyn connector • Ensure you have the most up to date Mylyn, check for updates • Select Task ʻadd repositoryʼ, choose ʻInstall More Connectorsʼ • Select JIRA from the Mylyn Connector Discovery screen • Follow the install instructions 41 41
  • 90. Load JIRA context instructions • Assumption: Eclipse-Mylyn-JIRA- perforce properly setup • Eclipse project name, must be the same • Establish a naming convention for potentially ʻsharedʼ Issues in JIRA and Eclipse to facilitate this • Use the ʻenvironmentʼ JIRA field to note the project name and source info • In our example • demo-sc is our Eclipse project • But it is defined to point to the demo-sc/vodman folder of the p4 client workspace • Source base for the set of files, must be the same • If both users have perforce workspaces, it must be for the same set of files and from the same starting directory • JIRA connection string, must use same http: string • Mylyn context zip files show the required name, for debug • stored in the eclipse workspace • .metadata/.mylyn/contexts/http<link name plus pid>.zip 42 42
  • 91. JIRA plug-ins We Use 43 43
  • 92. Demo Environment • Windows XP laptop (2G memory, Dell Precision M65) • 320G Iomega external Drive • VM Player on Windows, Ubuntu VM • Perforce • Perforce database restored from production checkpoint • Limited set of archived sources but entire set of db.* files (big!) • FishEye • Similar to production created against the smaller set of archived p4 data • JIRA • Installed on XP • Files live on the external drive • Eclipse • Connected to JIRA, p4 (beta p4wasd) 44 44