Field guide to agile taskflow design
-
Upload
kotive -
Category
Small Business & Entrepreneurship
-
view
491 -
download
0
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.
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…
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
Would you rather watch the video?
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
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
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.
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.
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}”
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.
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…
( “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?
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