Advanced Agile Workflow - Dione Technology

Post on 22-Oct-2014

384 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

Example of an Agile workflow for Catapult Satellite Applications

Transcript

London Atlassian User Group, February 2014

The story of a basic Agile worflow

The story of a basic Agile workflow...or how I discovered SIL

Dan Petzen

dan@dionetechnology.com

London Atlassian User Group, 18 February 2014

London Atlassian User Group, February 2014

The story of a basic Agile worflow

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

London Atlassian User Group, February 2014

The story of a basic Agile worflow

High level overview

London Atlassian User Group, February 2014

The story of a basic Agile worflow

First workflow draft

London Atlassian User Group, February 2014

The story of a basic Agile worflow

Final (initial) workflow version

London Atlassian User Group, February 2014

The story of a basic Agile worflow

...a bit more complicated...

London Atlassian User Group, February 2014

The story of a basic Agile worflow

London Atlassian User Group, February 2014

The story of a basic Agile worflow

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

What's this? JJupin?

London Atlassian User Group, February 2014

The story of a basic Agile worflow

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

London Atlassian User Group, February 2014

The story of a basic Agile worflow

User story post function 'B'

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

London Atlassian User Group, February 2014

The story of a basic Agile worflow

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;}

London Atlassian User Group, February 2014

The story of a basic Agile worflow

User Story post function for transistions 'F' and 'Fn'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"; }}

London Atlassian User Group, February 2014

The story of a basic Agile worflow

What's next?

● One more demo session

● Stomp out bugs, thorough testing etc

● Implementation in production

London Atlassian User Group, February 2014

The story of a basic Agile worflow

Questions?

top related