feature injection chris matts agile 2008. knowledge transfer

40
Feature Injection Chris Matts Agile 2008

Upload: warren-payne

Post on 17-Jan-2016

217 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Feature Injection Chris Matts Agile 2008. Knowledge Transfer

Feature InjectionChris MattsAgile 2008

Page 2: Feature Injection Chris Matts Agile 2008. Knowledge Transfer

Know that youDon’t Know

Risk Management

Know thatyou Know

Planning

Don’t Know that youDon’t Know

UncertaintyManagement

Don’t Know thatyou Know

Gap Assessment

Awareness

Knowledge

Don’tKnow

Know

Don’tKnow

Know

Str

uct

ure

d L

ear

nin

g

Issue Resolution

Det

erm

ine

Rel

eva

nce

Know

ledg

e Tr

ansf

er

Page 3: Feature Injection Chris Matts Agile 2008. Knowledge Transfer

KnowledgeTransfer

Page 4: Feature Injection Chris Matts Agile 2008. Knowledge Transfer

Know that you KnowWhen you know that you know some information, you understand the information and realize its relevance and importance to the problem you are trying to solve. When you are in this state, you are able to plan your further actions for attacking the problem and transfer that knowledge to the rest of the team.

Let’s say you are working on an application to automate the decision making process for a mortgage. Anyone who has ever borrowed money to purchase a house knows that the borrowers are asked to provide information about their income so that the lender can determine their capacity to pay back the loan.

You understand the importance of information such as the borrower’s employment income, whether that income is from salary, hourly wage, or commission, the borrower’s employer, and the length of their employment.

Know That you Don’t KnowThere are several cases during the early stages of a project where you are aware of specific pieces of information about the problem space that are

extremely relevant and important to know, but that you have not had the opportunity to learn or experienced yet. The way you manage your knowledge, or lack thereof, in this state is through risk management. You can move to the Know that you Know state by finding the answer, or issue resolution.

Considering the mortgage lending example again, you know that there are rules surrounding how income is treated in the loan decision process, but you do not know what those rules are. In order to get to the point where you are able to transfer that knowledge to the other team members who have to translate

those rules, you have to find the answer to the question “what are the rules for dealing with income?”Don’t Know that you Don’t Know

All problems have a certain amount of information that the people trying to solve those problems do not know and do not know the information exists (ie realize that there is information that is relevant to their problem domain). The key here is for teams to realize there are things that they do not know that they

do not know and manage for that uncertainty. They can also attempt to move out of that space through a process we call structured learning. In this approach you aren’t answering questions, rather you are trying to ask the right questions before the project team stumbles on the question in a more costly

manner.Giving an example for this particular state is challenging, because the minute you acknowledge the existence and relevance of a certain piece of information, you are already in the Know that you Don’t Know state, but let’s suspend disbelief for a second. In a mortgage lending decision project, there can be credit

policy rules established by the credit risk department which are critical for a proper decision but are not widely communicated. Until you actually find out about the existence of these rules, let alone their relevance to the application, you will not be able to do anything about them, nor would you be inclined to.

You have to actively seek out this information before it becomes apparent in a bad decision after it is too late. You need to ask the right questions.Don’t Know that you Know

Initially this state sounds a little like amnesia (which would actually be don’t know that you knew something or somebody.) Remember that we defined Awareness as the realization that information exists and that it is relevant and important to the project at hand. The key in this situation is that the

information is relevant and important. This is the state that you find yourself in when you are an absolute storehouse of what initially seems like useless information, but never connect the importance of that information to the project on which you are working. The key here is for teams to determine if they

have gaps in their knowledge and then determine the relevance of information they do have in order to fill those gaps.Taking another look at our mortgage lending example, we know the general difference between a salary and a bonus is that the salary is a consistent

amount that you earn every two weeks or month, while a bonus is something that is not necessarily guaranteed and is received on a very irregular schedule. You probably didn’t however realize the relevance of that particular piece of information to mortgage lending until you connect the fact that you are using

past earning experience to determine future earning potential and the ability for a borrower to pay back their loan. Its common knowledge that you wouldn’t initially apply to your project until you determined its relevance.

Page 5: Feature Injection Chris Matts Agile 2008. Knowledge Transfer

An Average Project Member

Page 6: Feature Injection Chris Matts Agile 2008. Knowledge Transfer

The Dream

Page 7: Feature Injection Chris Matts Agile 2008. Knowledge Transfer

The Reality

Page 8: Feature Injection Chris Matts Agile 2008. Knowledge Transfer

The Fear

Page 9: Feature Injection Chris Matts Agile 2008. Knowledge Transfer

The Truth

Page 10: Feature Injection Chris Matts Agile 2008. Knowledge Transfer

Know that you KnowWhen you know that you know some information, you understand the information and realize its relevance and importance to the problem you are trying to solve. When you are in this state, you are able to plan your further actions for attacking the problem and transfer that knowledge to the rest of the team.

Let’s say you are working on an application to automate the decision making process for a mortgage. Anyone who has ever borrowed money to purchase a house knows that the borrowers are asked to provide information about their income so that the lender can determine their capacity to pay back the loan.

You understand the importance of information such as the borrower’s employment income, whether that income is from salary, hourly wage, or commission, the borrower’s employer, and the length of their employment.

Know That you Don’t KnowThere are several cases during the early stages of a project where you are aware of specific pieces of information about the problem space that are

extremely relevant and important to know, but that you have not had the opportunity to learn or experienced yet. The way you manage your knowledge, or lack thereof, in this state is through risk management. You can move to the Know that you Know state by finding the answer, or issue resolution.

Considering the mortgage lending example again, you know that there are rules surrounding how income is treated in the loan decision process, but you do not know what those rules are. In order to get to the point where you are able to transfer that knowledge to the other team members who have to translate

those rules, you have to find the answer to the question “what are the rules for dealing with income?”Don’t Know that you Don’t Know

All problems have a certain amount of information that the people trying to solve those problems do not know and do not know the information exists (ie realize that there is information that is relevant to their problem domain). The key here is for teams to realize there are things that they do not know that they

do not know and manage for that uncertainty. They can also attempt to move out of that space through a process we call structured learning. In this approach you aren’t answering questions, rather you are trying to ask the right questions before the project team stumbles on the question in a more costly

manner.Giving an example for this particular state is challenging, because the minute you acknowledge the existence and relevance of a certain piece of information, you are already in the Know that you Don’t Know state, but let’s suspend disbelief for a second. In a mortgage lending decision project, there can be credit

policy rules established by the credit risk department which are critical for a proper decision but are not widely communicated. Until you actually find out about the existence of these rules, let alone their relevance to the application, you will not be able to do anything about them, nor would you be inclined to.

You have to actively seek out this information before it becomes apparent in a bad decision after it is too late. You need to ask the right questions.Don’t Know that you Know

Initially this state sounds a little like amnesia (which would actually be don’t know that you knew something or somebody.) Remember that we defined Awareness as the realization that information exists and that it is relevant and important to the project at hand. The key in this situation is that the

information is relevant and important. This is the state that you find yourself in when you are an absolute storehouse of what initially seems like useless information, but never connect the importance of that information to the project on which you are working. The key here is for teams to determine if they

have gaps in their knowledge and then determine the relevance of information they do have in order to fill those gaps.Taking another look at our mortgage lending example, we know the general difference between a salary and a bonus is that the salary is a consistent

amount that you earn every two weeks or month, while a bonus is something that is not necessarily guaranteed and is received on a very irregular schedule. You probably didn’t however realize the relevance of that particular piece of information to mortgage lending until you connect the fact that you are using

past earning experience to determine future earning potential and the ability for a borrower to pay back their loan. Its common knowledge that you wouldn’t initially apply to your project until you determined its relevance.

STOP DOCUMENTINGREQUIREMENTS

Page 11: Feature Injection Chris Matts Agile 2008. Knowledge Transfer

Help Others Learn

Page 12: Feature Injection Chris Matts Agile 2008. Knowledge Transfer

IssueResolution

Page 13: Feature Injection Chris Matts Agile 2008. Knowledge Transfer

Traditional Issue Resolution

Page 14: Feature Injection Chris Matts Agile 2008. Knowledge Transfer

“Real Option”Issue Resolution

“So how do we stop this thing?”

Page 15: Feature Injection Chris Matts Agile 2008. Knowledge Transfer

StructuredLearning

Page 16: Feature Injection Chris Matts Agile 2008. Knowledge Transfer

The Questions are out there!

Page 17: Feature Injection Chris Matts Agile 2008. Knowledge Transfer

IfOnlywe hadthe tools to find them

Page 18: Feature Injection Chris Matts Agile 2008. Knowledge Transfer

A FamiliarProcess?

Analysis

Development

Test Plan

Test

Page 19: Feature Injection Chris Matts Agile 2008. Knowledge Transfer

Look at the Information flows

I(a)

I(tp)

I(d)

I(t)

Analysis

Development

Test Plan

Test

Page 20: Feature Injection Chris Matts Agile 2008. Knowledge Transfer

Oops

I(a)

I(tp)

I(d)

I(t)

Analysis

Development

Test Plan

Test

Page 21: Feature Injection Chris Matts Agile 2008. Knowledge Transfer

I(a)

I(tp)

I(d) I(t)

The Same Process…..But in a different order.

Analysis

Development

Test Plan

Test

Page 22: Feature Injection Chris Matts Agile 2008. Knowledge Transfer

FeatureInjection

Page 23: Feature Injection Chris Matts Agile 2008. Knowledge Transfer

As we pullvalue from a system,

we inject features.

Page 24: Feature Injection Chris Matts Agile 2008. Knowledge Transfer

WH

Y?

Page 25: Feature Injection Chris Matts Agile 2008. Knowledge Transfer

WHY?

Page 26: Feature Injection Chris Matts Agile 2008. Knowledge Transfer

WH

Y?

Page 27: Feature Injection Chris Matts Agile 2008. Knowledge Transfer

Business

Value

Page 28: Feature Injection Chris Matts Agile 2008. Knowledge Transfer

Where is the value?

Where is the value?

Page 29: Feature Injection Chris Matts Agile 2008. Knowledge Transfer

Input?

Output?

Page 30: Feature Injection Chris Matts Agile 2008. Knowledge Transfer

Input?

Output?

Page 31: Feature Injection Chris Matts Agile 2008. Knowledge Transfer

VALUE

INPUTS

INPUTS

PROCESS

DEVELOPMENT

OUTPUTS

Page 32: Feature Injection Chris Matts Agile 2008. Knowledge Transfer

VALUE

INPUTS

INPUTS

PROCESS

ANALYSIS

OUTPUTS

Page 33: Feature Injection Chris Matts Agile 2008. Knowledge Transfer

DEVELOPMENT

Spot Example

ModelReflect

Test

Page 34: Feature Injection Chris Matts Agile 2008. Knowledge Transfer

Model

DEVELOPMENTACTUALLY

Spot Example

Reflect

Test

Page 35: Feature Injection Chris Matts Agile 2008. Knowledge Transfer

Model

ANALYSIS

Spot Example

Reflect

Test

Page 36: Feature Injection Chris Matts Agile 2008. Knowledge Transfer

•Tim works for IT•Karen works for IT•Anne works for IT•Neil works for IT•Neil transferred from Operations in February•Stephane works for IT•Melanie was on maternity leave last year.•Billy Bob works part time for Middle Office and Operations•Tim is in Cost Centre 96457.•Lynn left in 2003 and came back last year.

Exercise – Payroll Costs per Department

Page 37: Feature Injection Chris Matts Agile 2008. Knowledge Transfer

I(a)

I(tp)

I(d) I(t)

Familiar?

Analysis

Development

Test Plan

Test

Page 38: Feature Injection Chris Matts Agile 2008. Knowledge Transfer

I(a)

I(tp)

I(d) I(t)

The Missing Link!

Development

TestModel

Spot Example

Reflect

Test

Page 39: Feature Injection Chris Matts Agile 2008. Knowledge Transfer

Feature Injection

Business Analysis feeding Examples into a

BDD/TDD Process

Page 40: Feature Injection Chris Matts Agile 2008. Knowledge Transfer

Thank you to all the Flickr contributors who made this slide show possible.Abacus : http://www.flickr.com/photos/amyadoyzie/491995798/ , Leaf  : http://www.flickr.com/photos/bassqee/1462406627/

 

Money 1  : http://www.flickr.com/photos/kussler/86541739/ , Money 2  : http://www.flickr.com/photos/23581598@N08/2244971220/

 

Money 3  : http://www.flickr.com/photos/raisinsawdust/2703698410/ , Money : http://www.flickr.com/photos/11032456@N08/2479674264/

 

Business Value  : http://www.flickr.com/photos/woolyman/2473999495/ , Oil Refinery  : http://www.flickr.com/photos/okenezak/317648353/

 

Oil Storage Tank  : http://www.flickr.com/photos/pablozom/452912744/ , Camera Man  : http://www.flickr.com/photos/ipjmike/133384453/

 

Eating Food  : http://www.flickr.com/photos/kim_fritts/2608334316/ , Harvesting Wheat  : http://www.flickr.com/photos/silverwood/1053050408/

 

Growing Wheat  : http://www.flickr.com/photos/visbeek/2421075393/ , Waterfall  : http://www.flickr.com/photos/dirgon/446839052/

 

Sunset  : http://www.flickr.com/photos/25081202@N03/2368655746/ , Odd one out  : http://www.flickr.com/photos/lisanorwood/1046416640/

 

Model  : http://www.flickr.com/photos/45685704@N00/322977386/ , Eye test  : http://www.flickr.com/photos/indigo2brown/1401441754/

Audience : http://www.flickr.com/photos/centerforasianamericanmedia/2451489234/ ,

Sowing Seeds  : http://www.flickr.com/photos/goddette/2403752038/