SlideShare a Scribd company logo
1 of 14
Download to read offline
The story of a basic Agile workflow
...or how I discovered SIL
London Atlassian User Group, 18 February 2014

Dan Petzen
dan@dionetechnology.com

The story of a basic Agile worflow
London Atlassian User Group, February 2014
Background
●

Dan Petzen, Dione Technology - founded 2013 with Ram Tandukar and
Sven Lecherbonnier

●

Current client:

●

Various interesting projects and tasks

●

One of the tasks:

–

Work with the DevOps team to help them make the most of their JIRA

The story of a basic Agile worflow
London Atlassian User Group, February 2014
High level overview

The story of a basic Agile worflow
London Atlassian User Group, February 2014
First workflow draft

The story of a basic Agile worflow
London Atlassian User Group, February 2014
Final (initial) workflow version

The story of a basic Agile worflow
London Atlassian User Group, February 2014
...a bit more complicated...

The story of a basic Agile worflow
London Atlassian User Group, February 2014
The story of a basic Agile worflow
London Atlassian User Group, February 2014
What's this? JJupin?

This is not an advert – really!
(They don't even know I'm doing this presentation)

The story of a basic Agile worflow
London Atlassian User Group, February 2014
SIL – Simple Issue Language

●

Called from post-functions, validators, listeners, services etc, etc

●

Runs in a JIRA or an issue context

●

Access to variables (R/W) and API function

●

...and loads more

The story of a basic Agile worflow
London Atlassian User Group, February 2014
User story post function 'B'

string st;
for (st in subtasks(key)) {
if (%st%.status == "Created")
autotransition("Queue", st);
}

The story of a basic Agile worflow
London Atlassian User Group, February 2014
User Story validation of tranisition 'E'

string sub_task;
for (sub_task in subtasks(key)) {
if (%sub_task%.status != "Done")
return false, "One or more sub-tasks are still
being worked on ('Doing' state).";
else
return true;
}

The story of a basic Agile worflow
London Atlassian User Group, February 2014
User Story post function for transistions 'F' and 'F n'

string st;
boolean sub_tasks = false;

// Parent (i.e. User Story):
if (isNull(parent)) {
resolution = "Cancelled";
for (st in subtasks(key)) {
if (%st%.status == "Ready") {
autotransition("Cancel", st);
%st%.resolution = "Cancelled";
logPrint("DEBUG", "Task " + %st%.key + " is moved to 'Ready' via the 'Cancel'
transition.");
sub_tasks = true;
}
}
return;
}
// Sub-task (Fn):
for (st in subtasks(parent.key)) {
if (%st%.status == "Ready" || %st%.status == "Doing")
sub_tasks = true;
}
if (!sub_tasks) {
if (parent.status == "Ready") {
logPrint("DEBUG", "This (" + key + ") was the last sub-task. The story is in 'Ready', so
I'm 'Cancelling' story " + parent.key);
autotransition("Cancel", parent);
parent.resolution = "Cancelled";
}
}
The story of a basic Agile worflow
London Atlassian User Group, February 2014
What's next?
●

One more demo session

●

Stomp out bugs, thorough testing etc

●

Implementation in production

The story of a basic Agile worflow
London Atlassian User Group, February 2014
Questions?

The story of a basic Agile worflow
London Atlassian User Group, February 2014

More Related Content

Similar to Advanced Agile Workflow - Dione Technology

#SPSEMEA SharePoint & jQuery - What I wish I would have known a year ago..
#SPSEMEA SharePoint & jQuery - What I wish I would have known a year ago..#SPSEMEA SharePoint & jQuery - What I wish I would have known a year ago..
#SPSEMEA SharePoint & jQuery - What I wish I would have known a year ago..
Mark Rackley
 
09 01 tasks
09 01 tasks09 01 tasks
09 01 tasks
tflung
 
JavaCro'14 - Scala and Java EE 7 Development Experiences – Peter Pilgrim
JavaCro'14 - Scala and Java EE 7 Development Experiences – Peter PilgrimJavaCro'14 - Scala and Java EE 7 Development Experiences – Peter Pilgrim
JavaCro'14 - Scala and Java EE 7 Development Experiences – Peter Pilgrim
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
JavaCro 2014 Scala and Java EE 7 Development Experiences
JavaCro 2014 Scala and Java EE 7 Development ExperiencesJavaCro 2014 Scala and Java EE 7 Development Experiences
JavaCro 2014 Scala and Java EE 7 Development Experiences
Peter Pilgrim
 
Mastering UI automation at Scale: Key Lessons and Best Practices (By Fernando...
Mastering UI automation at Scale: Key Lessons and Best Practices (By Fernando...Mastering UI automation at Scale: Key Lessons and Best Practices (By Fernando...
Mastering UI automation at Scale: Key Lessons and Best Practices (By Fernando...
Applitools
 

Similar to Advanced Agile Workflow - Dione Technology (20)

Adding a modern twist to legacy web applications
Adding a modern twist to legacy web applicationsAdding a modern twist to legacy web applications
Adding a modern twist to legacy web applications
 
Art & music vs Google App Engine
Art & music vs Google App EngineArt & music vs Google App Engine
Art & music vs Google App Engine
 
Evolve18 | Abhishek Dwevidi & Varun Mitra | Intro to Backend Development in AEM
Evolve18 | Abhishek Dwevidi & Varun Mitra | Intro to Backend Development in AEMEvolve18 | Abhishek Dwevidi & Varun Mitra | Intro to Backend Development in AEM
Evolve18 | Abhishek Dwevidi & Varun Mitra | Intro to Backend Development in AEM
 
Headless Drupal en pratique
Headless Drupal en pratiqueHeadless Drupal en pratique
Headless Drupal en pratique
 
Workflow Yapceu2010
Workflow Yapceu2010Workflow Yapceu2010
Workflow Yapceu2010
 
#SPSEMEA SharePoint & jQuery - What I wish I would have known a year ago..
#SPSEMEA SharePoint & jQuery - What I wish I would have known a year ago..#SPSEMEA SharePoint & jQuery - What I wish I would have known a year ago..
#SPSEMEA SharePoint & jQuery - What I wish I would have known a year ago..
 
Aug delhi ncr-april2017
Aug delhi ncr-april2017Aug delhi ncr-april2017
Aug delhi ncr-april2017
 
Javascript and jQuery PennApps Tech Talk, Fall 2014
Javascript and jQuery PennApps Tech Talk, Fall 2014Javascript and jQuery PennApps Tech Talk, Fall 2014
Javascript and jQuery PennApps Tech Talk, Fall 2014
 
Behaviour Driven Development V 0.1
Behaviour Driven Development V 0.1Behaviour Driven Development V 0.1
Behaviour Driven Development V 0.1
 
Intro To Spring Python
Intro To Spring PythonIntro To Spring Python
Intro To Spring Python
 
Scalamen and OT
Scalamen and OTScalamen and OT
Scalamen and OT
 
Kicking Up the Dust with Node JS
Kicking Up the Dust with Node JSKicking Up the Dust with Node JS
Kicking Up the Dust with Node JS
 
I Know It Was MEAN, But I Cut the Cord to LAMP Anyway
I Know It Was MEAN, But I Cut the Cord to LAMP AnywayI Know It Was MEAN, But I Cut the Cord to LAMP Anyway
I Know It Was MEAN, But I Cut the Cord to LAMP Anyway
 
Example Of Import Java
Example Of Import JavaExample Of Import Java
Example Of Import Java
 
09 01 tasks
09 01 tasks09 01 tasks
09 01 tasks
 
BI : SharePoint 2016 BI or PowerBI v2 ? (O365 Saturday Copenhagen, 2016)
BI : SharePoint 2016 BI or PowerBI v2 ? (O365 Saturday Copenhagen, 2016)BI : SharePoint 2016 BI or PowerBI v2 ? (O365 Saturday Copenhagen, 2016)
BI : SharePoint 2016 BI or PowerBI v2 ? (O365 Saturday Copenhagen, 2016)
 
Living in the Matrix with Bytecode Manipulation
Living in the Matrix with Bytecode ManipulationLiving in the Matrix with Bytecode Manipulation
Living in the Matrix with Bytecode Manipulation
 
JavaCro'14 - Scala and Java EE 7 Development Experiences – Peter Pilgrim
JavaCro'14 - Scala and Java EE 7 Development Experiences – Peter PilgrimJavaCro'14 - Scala and Java EE 7 Development Experiences – Peter Pilgrim
JavaCro'14 - Scala and Java EE 7 Development Experiences – Peter Pilgrim
 
JavaCro 2014 Scala and Java EE 7 Development Experiences
JavaCro 2014 Scala and Java EE 7 Development ExperiencesJavaCro 2014 Scala and Java EE 7 Development Experiences
JavaCro 2014 Scala and Java EE 7 Development Experiences
 
Mastering UI automation at Scale: Key Lessons and Best Practices (By Fernando...
Mastering UI automation at Scale: Key Lessons and Best Practices (By Fernando...Mastering UI automation at Scale: Key Lessons and Best Practices (By Fernando...
Mastering UI automation at Scale: Key Lessons and Best Practices (By Fernando...
 

More from Matthew Cobby

Project oz - using Jira to manage a move from the UK to Australia
Project oz - using Jira to manage a move from the UK to AustraliaProject oz - using Jira to manage a move from the UK to Australia
Project oz - using Jira to manage a move from the UK to Australia
Matthew Cobby
 
Practical Continuous Deployment - Atlassian - London AUG 18 Feb 2014
Practical Continuous Deployment - Atlassian - London AUG 18 Feb 2014Practical Continuous Deployment - Atlassian - London AUG 18 Feb 2014
Practical Continuous Deployment - Atlassian - London AUG 18 Feb 2014
Matthew Cobby
 
Atlassian Tools in Selfridges
Atlassian Tools in SelfridgesAtlassian Tools in Selfridges
Atlassian Tools in Selfridges
Matthew Cobby
 
Deploying atlassian tools in the enterprise - Dione Technology
Deploying atlassian tools in the enterprise - Dione TechnologyDeploying atlassian tools in the enterprise - Dione Technology
Deploying atlassian tools in the enterprise - Dione Technology
Matthew Cobby
 

More from Matthew Cobby (14)

Project oz - using Jira to manage a move from the UK to Australia
Project oz - using Jira to manage a move from the UK to AustraliaProject oz - using Jira to manage a move from the UK to Australia
Project oz - using Jira to manage a move from the UK to Australia
 
London Atlassian User Group Keynote - June/July 2014
London Atlassian User Group Keynote - June/July 2014London Atlassian User Group Keynote - June/July 2014
London Atlassian User Group Keynote - June/July 2014
 
Agile in distributed teams - London Atlassian User Group
Agile in distributed teams - London Atlassian User GroupAgile in distributed teams - London Atlassian User Group
Agile in distributed teams - London Atlassian User Group
 
Micro Talk - 60s timer
Micro Talk - 60s timerMicro Talk - 60s timer
Micro Talk - 60s timer
 
AUG Micro talks- London Atlassian User Group
AUG Micro talks- London Atlassian User GroupAUG Micro talks- London Atlassian User Group
AUG Micro talks- London Atlassian User Group
 
Practical Continuous Deployment - Atlassian - London AUG 18 Feb 2014
Practical Continuous Deployment - Atlassian - London AUG 18 Feb 2014Practical Continuous Deployment - Atlassian - London AUG 18 Feb 2014
Practical Continuous Deployment - Atlassian - London AUG 18 Feb 2014
 
Atlassian Tools in Selfridges
Atlassian Tools in SelfridgesAtlassian Tools in Selfridges
Atlassian Tools in Selfridges
 
Deploying atlassian tools in the enterprise - Dione Technology
Deploying atlassian tools in the enterprise - Dione TechnologyDeploying atlassian tools in the enterprise - Dione Technology
Deploying atlassian tools in the enterprise - Dione Technology
 
6 Updates in Collaboration @ Atlassian
6 Updates in Collaboration @ Atlassian6 Updates in Collaboration @ Atlassian
6 Updates in Collaboration @ Atlassian
 
Atlassian Update - London AUG Oct 2013
Atlassian Update - London AUG Oct 2013Atlassian Update - London AUG Oct 2013
Atlassian Update - London AUG Oct 2013
 
Introduction to Confluence Blueprints
Introduction to Confluence BlueprintsIntroduction to Confluence Blueprints
Introduction to Confluence Blueprints
 
London AUG - Intro 9 July 2013
London AUG - Intro 9 July 2013London AUG - Intro 9 July 2013
London AUG - Intro 9 July 2013
 
Git: enterprise adoption challenges
Git: enterprise adoption challengesGit: enterprise adoption challenges
Git: enterprise adoption challenges
 
From 25 - 2500 users: Experiences from an Atlassian rollout
From 25 - 2500 users: Experiences from an Atlassian rolloutFrom 25 - 2500 users: Experiences from an Atlassian rollout
From 25 - 2500 users: Experiences from an Atlassian rollout
 

Recently uploaded

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Recently uploaded (20)

TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 

Advanced Agile Workflow - Dione Technology

  • 1. The story of a basic Agile workflow ...or how I discovered SIL London Atlassian User Group, 18 February 2014 Dan Petzen dan@dionetechnology.com The story of a basic Agile worflow London Atlassian User Group, February 2014
  • 2. Background ● Dan Petzen, Dione Technology - founded 2013 with Ram Tandukar and Sven Lecherbonnier ● Current client: ● Various interesting projects and tasks ● One of the tasks: – Work with the DevOps team to help them make the most of their JIRA The story of a basic Agile worflow London Atlassian User Group, February 2014
  • 3. High level overview The story of a basic Agile worflow London Atlassian User Group, February 2014
  • 4. First workflow draft The story of a basic Agile worflow London Atlassian User Group, February 2014
  • 5. Final (initial) workflow version The story of a basic Agile worflow London Atlassian User Group, February 2014
  • 6. ...a bit more complicated... The story of a basic Agile worflow London Atlassian User Group, February 2014
  • 7. The story of a basic Agile worflow London Atlassian User Group, February 2014
  • 8. What's this? JJupin? This is not an advert – really! (They don't even know I'm doing this presentation) The story of a basic Agile worflow London Atlassian User Group, February 2014
  • 9. SIL – Simple Issue Language ● Called from post-functions, validators, listeners, services etc, etc ● Runs in a JIRA or an issue context ● Access to variables (R/W) and API function ● ...and loads more The story of a basic Agile worflow London Atlassian User Group, February 2014
  • 10. User story post function 'B' string st; for (st in subtasks(key)) { if (%st%.status == "Created") autotransition("Queue", st); } The story of a basic Agile worflow London Atlassian User Group, February 2014
  • 11. User Story validation of tranisition 'E' string sub_task; for (sub_task in subtasks(key)) { if (%sub_task%.status != "Done") return false, "One or more sub-tasks are still being worked on ('Doing' state)."; else return true; } The story of a basic Agile worflow London Atlassian User Group, February 2014
  • 12. User Story post function for transistions 'F' and 'F n' string st; boolean sub_tasks = false; // Parent (i.e. User Story): if (isNull(parent)) { resolution = "Cancelled"; for (st in subtasks(key)) { if (%st%.status == "Ready") { autotransition("Cancel", st); %st%.resolution = "Cancelled"; logPrint("DEBUG", "Task " + %st%.key + " is moved to 'Ready' via the 'Cancel' transition."); sub_tasks = true; } } return; } // Sub-task (Fn): for (st in subtasks(parent.key)) { if (%st%.status == "Ready" || %st%.status == "Doing") sub_tasks = true; } if (!sub_tasks) { if (parent.status == "Ready") { logPrint("DEBUG", "This (" + key + ") was the last sub-task. The story is in 'Ready', so I'm 'Cancelling' story " + parent.key); autotransition("Cancel", parent); parent.resolution = "Cancelled"; } } The story of a basic Agile worflow London Atlassian User Group, February 2014
  • 13. What's next? ● One more demo session ● Stomp out bugs, thorough testing etc ● Implementation in production The story of a basic Agile worflow London Atlassian User Group, February 2014
  • 14. Questions? The story of a basic Agile worflow London Atlassian User Group, February 2014