Field guide to agile taskflow design

90
Don't have your business processes written down? 7 simple steps to help you discover its role players, tasks, conditions and flow of tasks

Transcript of Field guide to agile taskflow design

Don't have your business processes written down?

7 simple steps to help you

discover its role players,

tasks, conditions and flow of tasks

1. A Task is a specific action or business operation.

Two key concepts before we start…

1. A Task is a specific action or business operation.

Examples: - Gather information with an online form - Sending an email - Making an entry into a Google spreadsheet - Generating a PDF

Two key concepts before we start…

2. A Taskflow consists of tasks strung together with the aim to achieve a desired goal.

Examples: 1. Receiving conference paper proposals, then accepting or rejecting proposals, and notifying the applicants of the decision.

Two key concepts before we start…

2. A Taskflow consists of tasks strung together with the aim to achieve a desired goal.

Examples: 2. A bicycle workshop receives orders to repair bikes, checks its stock, orders parts needed, and lastly bills the customer.

Two key concepts before we start…

7 steps to design your process

Write the goal that needs to be achieved by the taskflow

on a sticky (Post-it®) note.

Begin with the end in mind

Step #1

Secondly, write down how you would know when the

goal has been achieved?

Begin with the end in mind

Step #1

Begin with the end in mind

Step #1

Step #2

Write down each individual task needed to achieve the goal.

One task per sticky note.

Identify tasks needed

Step #2

Example: Key tasks necessary to achieve the goal are (not in sequence):

Identify tasks needed

Step #2

Tip: Start with the verb (the action) that the task performs…

Identify tasks needed

Step #2

Indicate whether the task relies on human interaction.

Typically a form to be filled-in.

Identify tasks needed

Step #2

Or is it an automated task?

Examples: - sending an email, - generating a PDF, - updating a CRM contact or - adding a row to a Google spreadsheet

Identify tasks needed

On a large surface, place the first task that needs to be performed

at the top.

Step #3

Arrange the sticky notes

On a large surface, place the first task that needs to be performed

at the top.

Take the next task and put it underneath the first task,

and so on…

Step #3

Arrange the sticky notes

Play with the order of the tasks until you find the logical and simplest

flow of tasks to achieve the goal.

Step #3

Arrange the sticky notes

Play with the order of the tasks until you find the logical and simplest

flow of tasks to achieve the goal.

There are different patterns for the flow between tasks…

Step #3

Arrange the sticky notes

Different patterns for the flow between tasks:

- Linear: one follows the other.

Step #3

Arrange the sticky notes

Different patterns for the flow between tasks:

- Linear: one follows the other. - Alternative: either one or the other task is performed.

Step #3

Arrange the sticky notes

Different patterns for the flow between tasks:

- Linear: one follows the other. - Alternative: either one or the other task is performed. - Simultaneous: tasks performed at the same time.

Step #3

Arrange the sticky notes

Different patterns for the flow between tasks:

- Linear: one follows the other. - Alternative: either one or the other task is performed. - Simultaneous: tasks performed at the same time. - Non-linear: previously completed tasks are

reactivated by a task later-on.

You can make use of more than one of these patterns of flow in any taskflow.

Step #3

Arrange the sticky notes

Note: The first task in a taskflow can be kicked-off by: - a person, - an event in an external web-service or - a change of content (data-fields).

Step #3

Arrange the sticky notes

For each task, write down the role players

that would be involved with the task.

Step #4

Add role players

For each task, write down the role players

that would be involved with the task.

Not all automated tasks will necessarily have a role player.

Step #4

Add role players

For human-facing tasks (such as forms), write down the actual roles of the person

within the organization such as…

Step #4

Add role players

For human-facing tasks (such as forms), write down the actual roles of the person

within the organization such as…

employee, manager, purchasing officer, executive management, HR, sales, finances, etc.

Step #4

Add role players

For human-facing tasks (such as forms), write down the actual roles of the person

within the organization such as…

employee, manager, purchasing officer, executive management, HR, sales, finances, etc.

rather than the persons name, e.g. John

Step #4

Add role players

Step #4

Add role players

Are there any tasks you can reposition that will benefit the flow?

Step #4 - review

Are there any tasks you can reposition that will benefit the flow?

Are there consecutive tasks that

the same role players will be working on?

Step #4 - review

Are there any tasks you can reposition that will benefit the flow?

Are there consecutive tasks that

the same role players will be working on?

Can these tasks merge?

Step #4 - review

Are there any tasks you can reposition that will benefit the flow?

Are there consecutive tasks that

the same role players will be working on?

Can these tasks merge?

Do you need to add any new tasks?

Step #4 - review

continue

Where consecutive tasks have different role players:

Add connecting tasks to inform role player(s) that they need to perform the task.

Step #5

Add connecting tasks

Where consecutive tasks have different role players:

Add connecting tasks to inform role player(s) that they need to perform the task.

Examples: Email, SMS, Slack

Step #5

Add connecting tasks

Where consecutive tasks have different role players:

Add connecting tasks to inform role player(s) that they need to perform the task.

Examples: Email, SMS, Slack

Indicate on the sticky notes which connecting task will be used where.

Step #5

Add connecting tasks

Step #6

List the data-fields

A task uses data to perform an action.

Step #6

List the data-fields

A task uses data to perform an action.

Example: A form captures data in data-fields: - firstname - lastname - email address - quantity of items to order

Step #6

List the data-fields

A task uses data to perform an action.

Data-fields for automated tasks…

Example: Data-fields for sending an email: - To email address - subject - message

Step #6

List the data-fields

A task uses data to perform an action.

Data-fields for automated tasks…

Example: Data-fields for sending a SMS: - To mobile number - message

Step #6

List the data-fields

A task uses data to perform an action.

Data-fields for automated tasks…

Example: Data-fields when adding a row to a Google Spreadsheet: - Spreadsheet Id - Worksheet Id - Payload

Step #6

List the data-fields

A task uses data to perform an action.

Data-fields for automated tasks…

Don't worry if this is foreign to you.

Kotive will help you when and where you need to use data-fields.

Step #6

List the data-fields

Build-out each individual task by listing the data-fields needed at each task.

Step #6

List the data-fields

Build-out each individual task by listing the data-fields needed at each task.

The following sentence could be used to help you identify each task’s data-fields:

“In order to {task to be performed} as a {role player}

I need {list of data-fields}.”

Step #6

List the data-fields

“In order to {task to be performed} as a {role player}

I need {list of data-fields}.”

Step #6

List the data-fields

“In order to {task to be performed} as a {role player}

I need {list of data-fields}.”

In order to “Request purchase of items”

Step #6

List the data-fields

“In order to {task to be performed} as a {role player}

I need {list of data-fields}.”

In order to “Request purchase of items” as an employee

Step #6

List the data-fields

“In order to {task to be performed} as a {role player}

I need {list of data-fields}.”

In order to “Request purchase of items” as an employee

I need the name of the person who asked for the purchase, a description of each item and

the quantity needed of each item.

1. Is all the data available to relevant tasks?

Now that you’ve built out the tasks, review the flow of tasks…

1. Is all the data available to relevant tasks?

2. ls there a data-field that needs to be included prior to the task being performed?

Example: If you’re sending an email to confirm receipt of ordered items, then include a data-field in the “request purchase ” form to capture the email address.

Now that you’ve built out the tasks, review the flow of tasks…

1. Is all the data available to relevant tasks?

2. ls there a data-field that needs to be included prior to the task being performed?

Example: If you’re sending an email to confirm receipt of ordered items, then include a data-field in the “request purchase ” form to capture the email address. 3. Is any data missing?

Now that you’ve built out the tasks, review the flow of tasks…

1. Is all the data available to relevant tasks?

2. ls there a data-field that needs to be included prior to the task being performed?

Example: If you’re sending an email to confirm receipt of ordered items, then include a data-field in the “request purchase ” form to capture the email address. 3. Is any data missing?

4. Should a new task be included in order to get data that is missing from the taskflow?

Now that you’ve built out the tasks, review the flow of tasks…

1. Is all the data available to relevant tasks?

2. ls there a data-field that needs to be included prior to the task being performed?

Example: If you’re sending an email to confirm receipt of ordered items, then include a data-field in the “request purchase ” form to capture the email address. 3. Is any data missing?

4. Should a new task be included in order to get data that is missing from the taskflow?

5. Can or should any tasks be repositioned?

Now that you’ve built out the tasks, review the flow of tasks…

Step #7

Add conditions to tasks

If a condition of a task is met (true) then the task is initiated.

Step #7

Add conditions to tasks

If a condition of a task is met (true) then the task is initiated.

The role player(s) that you have previously added to each task determine the 1st condition of the task.

Step #7

Add conditions to tasks

If a condition of a task is met (true) then the task is initiated.

The role player(s) that you have previously added to each task determine the 1st condition of the task.

A task can have more than one condition.

Step #7

Add conditions to tasks

The template sentence we will use for conditions regarding role players is:

Step #7

Add conditions to tasks

The template sentence we will use for conditions regarding role players is:

“The conditions for this task are satisfied when {role} {comparison*} {value}”

Step #7

Add conditions to tasks

The template sentence we will use for conditions regarding role players is:

“The conditions for this task are satisfied when {role} {comparison*} {value}”

* The comparison can be: is, is not, greater than, less than and contains.

Step #7

Add conditions to tasks

“The conditions for this task are satisfied when {role} {comparison*} {value}”

Step #7

Add conditions to tasks

“The conditions for this task are satisfied when {role} {comparison*} {value}”

Example: If only a manager can to approve a purchase

then the conditions for the approved purchase task will be:

Step #7

Add conditions to tasks

“The conditions for this task are satisfied when {role} {comparison*} {value}”

Example: If only a manager can to approve a purchase

then the conditions for the approved purchase task will be:

When the role IS manager

Step #7

Add conditions to tasks

Go to each task and write down its condition(s) for all its role player(s).

Step #7

Add conditions to tasks

Go to each task and write down its condition(s) for all its role player(s).

Some human-facing tasks may not have any role players.

Step #7

Add conditions to tasks

Go to each task and write down its condition(s) for all its role player(s).

Some human-facing tasks may not have any role players.

This is usually the case for publicly available online forms where people are not required to log in.

Step #7

Add conditions to tasks

Go to each task and write down its condition(s) for all its role player(s).

Some human-facing tasks may not have any role players.

This is usually the case for publicly available online forms where people are not required to log in.

None of the automated tasks have role players.

Step #7

Add conditions to tasks

Do you need to specify any additional conditions that are related to data-fields from other tasks?

Step #7

Add conditions to tasks

Do you need to specify any additional conditions that are related to data-fields from other tasks?

Example: The manager approved the purchase, now the employee needs to be informed.

Step #7

Add conditions to tasks

Do you need to specify any additional conditions that are related to data-fields from other tasks?

Example: The manager approved the purchase, now the employee needs to be informed.

The condition for this task is “Do you approve the purchase?*” IS “Yes”

*“Do you approve the purchase” is a data-field from the previous task, with an input value of either Yes or No.

Step #7

Add conditions to tasks

The template sentence we will use for conditions can now be extended to:

“{role/data-field} {comparison} {value}”

Step #7

Add conditions to tasks

“{role/data-field} {comparison} {value}”

Step #7

Add conditions to tasks

“{role/data-field} {comparison} {value}”

Go to each task and write down its condition(s) for its data-field(s).

Step #7

Add conditions to tasks

“{role/data-field} {comparison} {value}”

Go to each task and write down its condition(s) for its data-field(s).

Ask yourself “What conditions related to a data-field need to be satisfied before the task may be activated?”

Step #7

Add conditions to tasks

“{role/data-field} {comparison} {value}”

Go to each task and write down its condition(s) for its data-field(s).

Ask yourself “What conditions related to a data-field need to be satisfied before the task may be activated?”

There may be more than one or there might be none.

You might now have tasks that have more than one condition.

More on conditions…

You might now have tasks that have more than one condition.

Do all these conditions need to be satisfied?

More on conditions…

You might now have tasks that have more than one condition.

Do all these conditions need to be satisfied? or

Does only one of these conditions need to be satisfied?

More on conditions…

You might now have tasks that have more than one condition.

Do all these conditions need to be satisfied? or

Does only one of these conditions need to be satisfied? or

Are there combinations of these conditions that need to be satisfied?

More on conditions…

Make use of AND and OR to group conditions.

(x AND y) OR (x AND z AND a)

More on conditions…

( “Role” IS “Manager” AND

“Do you approve the order?” IS “Yes” )

More on conditions…

( “Role” IS “Manager” AND

“Do you approve the order?” IS “Yes” )

OR

( “Role” IS “Employee” AND

“Order value” LESS THAN “$10” AND

“Do you approve the order?” IS “Yes” )

More on conditions…

TIP: When grouping multidimensional conditions use AND only inside the brackets () and OR outside brackets.

(x AND y) OR (x AND z AND a)

More on conditions…

1. Does the taskflow’s flow of tasks achieve the original goal?

Review your original goal

1. Does the taskflow’s flow of tasks achieve the original goal?

2. Are there any tasks which are not essential in achieving this goal?

Review your original goal

1. Does the taskflow’s flow of tasks achieve the original goal?

2. Are there any tasks which are not essential in achieving this goal?

3. Is it possible to exclude some (non-essential) tasks from the taskflow in order to keep it simple?

Review your original goal

1. Does the taskflow’s flow of tasks achieve the original goal?

2. Are there any tasks which are not essential in achieving this goal?

3. Is it possible to exclude some (non-essential) tasks from the taskflow in order to keep it simple?

4. Should the taskflow be split into smaller taskflows?

Review your original goal

You now have a simple and logical taskflow on paper,

that achieves its specific goal.

The next step is to convert it to a

functional online taskflow.

See the complete Field Guide to Agile Taskflow Design

for more details, including an instructional video.

continue

Signup at kotive.com and make your

business processes live

Design, share & run taskflows

for your and your customers’ business