Weitere ähnliche Inhalte Ähnlich wie Using JIRA to build a culture of innovation - Atlassian Summit 2012 (20) Kürzlich hochgeladen (20) Using JIRA to build a culture of innovation - Atlassian Summit 201210. Using JIRA as an Ideation Hub
• Create Challenges
• Solicit Submissions
• Inspirations
• Concepts
• Evaluate
• Select Winning Concepts
11. How we get there from here
• See it in action
• Configuring JIRA
• Issues, Screens, and Fields
• Installing Plugins
• Components
• Workflows and Notifications
17. Configuring Fields
Challenge Fields Submission Fields
• Assignee • Assignee
• Attachment • Attachment
• Components* • Components (auto assigned to challenges)
• Description* • Description*
• Due Date • Labels
• Labels • Reporter*
• Reporter* • Summary*
• Summary*
* Denotes required field
18. Required Plugins
EFI Misc Workflow Plugin JIRA Component Watcher Plugin
Developer: Innovalog Developer: Ray Barham
Stats: 2,445 downloads Stats: 1,149 downloads
5 stars, 13 ratings 5 stars, 1 rating (mine)
Plugin System: 2 (easy install) Plugin System: 2 (easy install)
We use the “Set field value from We use this to send out notifications to
parent” to automatically set the groups when new Challenges or
Components value of Inspirations and Submissions are created, then they can
Concepts to the Component value in watch the ones they want.
the Challenge.
25. Configuring Workflows - XML
Required Statuses Challenge Workflow XML
<?xml version="1.0" encoding="UTF-8"?>
Submission Workflow XML
<?xml version="1.0" encoding="UTF-8"?>
•
<!DOCTYPE workflow PUBLIC "-//OpenSymphony Group//DTD OSWorkflow 2.8//EN" "http://www.opensymphony.com/osworkflow/workflow_2_8.dtd"> <!DOCTYPE workflow PUBLIC "-//OpenSymphony Group//DTD OSWorkflow 2.8//EN" "http://www.opensymphony.com/osworkflow/workflow_2_8.dtd">
<workflow> <workflow>
<meta name="jira.update.author.name">davidmay</meta> <meta name="jira.update.author.name">davidmay</meta>
<meta name="jira.description"></meta> <meta name="jira.description"></meta>
Open
<meta name="jira.updated.date">1337953807771</meta> <meta name="jira.updated.date">1337952902108</meta>
<initial-actions> <initial-actions>
<action id="1" name="Create"> <action id="1" name="Create">
<validators> <validators>
<validator name="" type="class"> <validator name="" type="class">
<arg name="class.name">com.atlassian.jira.workflow.validator.PermissionValidator</arg> <arg name="class.name">com.atlassian.jira.workflow.validator.PermissionValidator</arg>
<arg name="permission">Create Issue</arg> <arg name="permission">Create Issue</arg>
</validator> </validator>
</validators> </validators>
<results> <results>
<unconditional-result old-status="null" status="open" step="1"> <unconditional-result old-status="null" status="open" step="1">
<post-functions> <post-functions>
<function type="class"> <function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.issue.IssueCreateFunction</arg> <arg name="field">components</arg>
•
</function> <arg name="class.name">com.innovalog.jmwe.plugins.functions.CopyFieldValueFromParentFunction</arg>
<function type="class"> </function>
<arg name="class.name">com.atlassian.jira.workflow.function.issue.AssignToReporterFunction</arg> <function type="class">
Closed
</function> <arg name="class.name">com.atlassian.jira.workflow.function.issue.IssueCreateFunction</arg>
<function type="class"> </function>
<arg name="class.name">com.atlassian.jira.workflow.function.issue.IssueReindexFunction</arg> <function type="class">
</function> <arg name="class.name">com.atlassian.jira.workflow.function.issue.AssignToReporterFunction</arg>
<function type="class"> </function>
<arg name="class.name">com.atlassian.jira.workflow.function.event.FireIssueEventFunction</arg> <function type="class">
<arg name="eventTypeId">1</arg> <arg name="class.name">com.atlassian.jira.workflow.function.issue.IssueReindexFunction</arg>
</function> </function>
</post-functions> <function type="class">
</unconditional-result> <arg name="class.name">com.atlassian.jira.workflow.function.event.FireIssueEventFunction</arg>
</results> <arg name="eventTypeId">1</arg>
</action> </function>
</initial-actions> </post-functions>
<common-actions> </unconditional-result>
•
<action id="51" name="Close Challenge"> </results>
<meta name="jira.description"></meta> </action>
<results> </initial-actions>
<unconditional-result old-status="Not Done" status="Done" step="3"> <common-actions>
Submitted
<post-functions> <action id="21" name="Resubmit" view="fieldscreen">
<function type="class"> <meta name="jira.description"></meta>
<arg name="class.name">com.atlassian.jira.workflow.function.issue.UpdateIssueStatusFunction</arg> <meta name="jira.fieldscreen.id">10105</meta>
</function> <results>
<function type="class"> <unconditional-result old-status="Not Done" status="Done" step="1">
<arg name="class.name">com.atlassian.jira.workflow.function.misc.CreateCommentFunction</arg> <post-functions>
</function> <function type="class">
<function type="class"> <arg name="class.name">com.atlassian.jira.workflow.function.issue.UpdateIssueStatusFunction</arg>
<arg name="class.name">com.atlassian.jira.workflow.function.issue.GenerateChangeHistoryFunction</arg> </function>
</function> <function type="class">
<function type="class"> <arg name="class.name">com.atlassian.jira.workflow.function.misc.CreateCommentFunction</arg>
<arg name="class.name">com.atlassian.jira.workflow.function.issue.IssueReindexFunction</arg> </function>
</function> <function type="class">
•
<function type="class"> <arg name="class.name">com.atlassian.jira.workflow.function.issue.GenerateChangeHistoryFunction</arg>
<arg name="class.name">com.atlassian.jira.workflow.function.event.FireIssueEventFunction</arg> </function>
<arg name="eventTypeId">13</arg> <function type="class">
</function> <arg name="class.name">com.atlassian.jira.workflow.function.issue.IssueReindexFunction</arg>
Evaluating
</post-functions> </function>
</unconditional-result> <function type="class">
</results> <arg name="class.name">com.atlassian.jira.workflow.function.event.FireIssueEventFunction</arg>
</action> <arg name="eventTypeId">13</arg>
<action id="41" name="Reopen Challenge"> </function>
<meta name="jira.description"></meta> </post-functions>
<results> </unconditional-result>
<unconditional-result old-status="Not Done" status="Done" step="1"> </results>
<post-functions> </action>
<function type="class"> <action id="41" name="Evaluate" view="fieldscreen">
<arg name="class.name">com.atlassian.jira.workflow.function.issue.UpdateIssueStatusFunction</arg> <meta name="jira.description"></meta>
</function> <meta name="jira.fieldscreen.id">10105</meta>
<function type="class"> <results>
<arg name="class.name">com.atlassian.jira.workflow.function.misc.CreateCommentFunction</arg> <unconditional-result old-status="Not Done" status="Done" step="3">
•
</function> <post-functions>
<function type="class"> <function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.issue.GenerateChangeHistoryFunction</arg> <arg name="class.name">com.atlassian.jira.workflow.function.issue.UpdateIssueStatusFunction</arg>
Adopted
</function> </function>
<function type="class"> <function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.issue.IssueReindexFunction</arg> <arg name="class.name">com.atlassian.jira.workflow.function.misc.CreateCommentFunction</arg>
</function> </function>
<function type="class"> <function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.event.FireIssueEventFunction</arg> <arg name="class.name">com.atlassian.jira.workflow.function.issue.GenerateChangeHistoryFunction</arg>
<arg name="eventTypeId">13</arg> </function>
</function> <function type="class">
</post-functions> <arg name="class.name">com.atlassian.jira.workflow.function.issue.IssueReindexFunction</arg>
</unconditional-result> </function>
</results> <function type="class">
</action> <arg name="class.name">com.atlassian.jira.workflow.function.event.FireIssueEventFunction</arg>
<action id="61" name="Evaluate Challenge"> <arg name="eventTypeId">13</arg>
<meta name="jira.description"></meta> </function>
<results> </post-functions>
<unconditional-result old-status="Not Done" status="Done" step="4"> </unconditional-result>
<post-functions> </results>
<function type="class"> </action>
<arg name="class.name">com.atlassian.jira.workflow.function.issue.UpdateIssueStatusFunction</arg> <action id="31" name="Adopt Idea" view="fieldscreen">
</function> <meta name="jira.description"></meta>
<function type="class"> <meta name="jira.fieldscreen.id">10105</meta>
<arg name="class.name">com.atlassian.jira.workflow.function.misc.CreateCommentFunction</arg> <results>
</function> <unconditional-result old-status="Not Done" status="Done" step="4">
<function type="class"> <post-functions>
<arg name="class.name">com.atlassian.jira.workflow.function.issue.GenerateChangeHistoryFunction</arg> <function type="class">
</function> <arg name="class.name">com.atlassian.jira.workflow.function.issue.UpdateIssueStatusFunction</arg>
<function type="class"> </function>
<arg name="class.name">com.atlassian.jira.workflow.function.issue.IssueReindexFunction</arg> <function type="class">
Required Screens
</function> <arg name="class.name">com.atlassian.jira.workflow.function.issue.AssignToReporterFunction</arg>
<function type="class"> </function>
<arg name="class.name">com.atlassian.jira.workflow.function.event.FireIssueEventFunction</arg> <function type="class">
<arg name="eventTypeId">13</arg> <arg name="class.name">com.atlassian.jira.workflow.function.misc.CreateCommentFunction</arg>
</function> </function>
</post-functions> <function type="class">
</unconditional-result> <arg name="class.name">com.atlassian.jira.workflow.function.issue.GenerateChangeHistoryFunction</arg>
</results> </function>
</action> <function type="class">
</common-actions> <arg name="class.name">com.atlassian.jira.workflow.function.issue.IssueReindexFunction</arg>
<steps> </function>
<step id="1" name="Open"> <function type="class">
<meta name="jira.status.id">1</meta> <arg name="class.name">com.atlassian.jira.workflow.function.event.FireIssueEventFunction</arg>
<actions> <arg name="eventTypeId">13</arg>
<common-action id="51" /> </function>
<common-action id="61" /> </post-functions>
</actions> </unconditional-result>
</step> </results>
<step id="3" name="Closed"> </action>
<meta name="jira.status.id">6</meta> </common-actions>
<actions> <steps>
• Comments
<common-action id="41" /> <step id="1" name="Submitted">
<action id="71" name="Reevaluate Challenge" view="fieldscreen"> <meta name="jira.status.id">10018</meta>
<meta name="jira.description"></meta> <actions>
<meta name="jira.fieldscreen.id">10105</meta> <common-action id="41" />
<results> <common-action id="31" />
<unconditional-result old-status="Not Done" status="Done" step="4"> </actions>
<post-functions> </step>
<function type="class"> <step id="3" name="Evaluating">
<arg name="class.name">com.atlassian.jira.workflow.function.issue.UpdateIssueStatusFunction</arg> <meta name="jira.status.id">10019</meta>
</function> <actions>
<function type="class"> <common-action id="21" />
<arg name="class.name">com.atlassian.jira.workflow.function.misc.CreateCommentFunction</arg> <common-action id="31" />
</function> </actions>
<function type="class"> </step>
<arg name="class.name">com.atlassian.jira.workflow.function.issue.GenerateChangeHistoryFunction</arg> <step id="4" name="Adopted">
</function> <meta name="jira.status.id">10020</meta>
<function type="class"> <actions>
<arg name="class.name">com.atlassian.jira.workflow.function.issue.IssueReindexFunction</arg> <common-action id="21" />
</function> <action id="51" name="Reevalidate" view="fieldscreen">
<function type="class"> <meta name="jira.description"></meta>
<arg name="class.name">com.atlassian.jira.workflow.function.event.FireIssueEventFunction</arg> <meta name="jira.fieldscreen.id">10105</meta>
<arg name="eventTypeId">13</arg> <results>
</function> <unconditional-result old-status="Not Done" status="Done" step="3">
</post-functions> <post-functions>
</unconditional-result> <function type="class">
</results> <arg name="class.name">com.atlassian.jira.workflow.function.issue.UpdateIssueStatusFunction</arg>
</action> </function>
</actions> <function type="class">
</step> <arg name="class.name">com.atlassian.jira.workflow.function.misc.CreateCommentFunction</arg>
<step id="4" name="Evaluating"> </function>
<meta name="jira.status.id">10019</meta> <function type="class">
<actions> <arg name="class.name">com.atlassian.jira.workflow.function.issue.GenerateChangeHistoryFunction</arg>
<common-action id="51" /> </function>
<common-action id="41" /> <function type="class">
</actions> <arg name="class.name">com.atlassian.jira.workflow.function.issue.IssueReindexFunction</arg>
</step> </function>
</steps> <function type="class">
</workflow> <arg name="class.name">com.atlassian.jira.workflow.function.event.FireIssueEventFunction</arg>
<arg name="eventTypeId">13</arg>
</function>
</post-functions>
</unconditional-result>
</results>
</action>
</actions>
</step>
</steps>
</workflow>
Don’t forget to change all instances of the fieldscreen IDs
27. Tobias Mayer Innovation Games
•My first Agile mentor and coach •Fun, wacky, unexpected and effective
•http://agilethinking.net/ •http://innovationgames.com/
Nick Muldoon OpenIDEO
•Fearlessly inquisitive and helpful •Brilliant site, informational and inspirational
•Agile Evangelist, Atlassian •http://www.openideo.com/
Shout Outs
My Inspiration and References
Hinweis der Redaktion My name is David May. I work on enterprise and mobile stuff at a hardware and software shop down the peninsula in Foster City. • So the big question is, What inspires you? Is it the great inventions of the past whose legacies live on that spark a fire in you? Like first flight at Kitty Hawk, or the Model T Ford? • Or maybe newer ones whose power and complexity boggle the mind … • Like the amazing innovations at CERN • or maybe the smaller wonders that are around us all day? • Are there innovation leaders in your industry that inspire you? • These guys are from my industry, • Who are yours? • Or maybe your inspiration comes from those that have made big differences in other ways. • Whether globally or … • in our own backyard, • Whether in the schools, helping in our community or close by at home, • there are people and things all around to inspire us. • My Grandfather inspires me. Who or what does it for you? • I think Time magazine got it right when they named … • You the Person of the Year. • You have ideas that need to see the light of day, that could change someone’s world. • So does the person sitting next to you. Take a look at them now. I imagine there mind is buzzing with ideas for things that matter to them. • So may Time didn’t get it all the way right. It’s not just you, it’s US. • Together we can make a difference. • HERE’S THE RUB – Working together, sharing and acting on ideas it takes us all working and sharing together. • It doesn’t happen by accident. • So what’s the big idea • How do we get this done? • I’m here to tell you that wherever your inspiration leads you … JIRA can help you get there. • High Level overview * Agenda for the rest Open Challenge Easy to see Submissions (sub-tasks) • Non stop, always up to date information on the challenge. • Non stop, always up to date information on the challenge. • 3 issues types • Challenge – what you want people to get their heads and hearts around • Inspiration – have you seen others try to solve your problem, let us know with this • Concept – got an idea on how to solve the challenge, or maybe just a part of it? • I’m a screen minimalist • Just a comments screen for me • Again with the fields, minimal • Just what is necessary, you can add more • Hats off to our plugin developers. • They make JIRA great • Misc plugin for Set field value from Parent • Component wather for well, watching Components • This is pretty straight forward. • Use components for which groups you want to get emails when new issues are created. • Component Watcher is great. this can be used for key ideas that you want people to tweet fin