Selling Professional Development Techniques at a Resistant Shop

Comments

Wonderful presentation. I really enjoyed it.

Posted By: California lemon law lawyers On: 12/27/10 9:00 AM


Nice post. I didn,t see this kind of post ever before...keep it up.

Posted By: uk dissertation On: 12/23/11 1:30 AM

Add Comment

Comments have been closed.

Transcript

no image

Slide Text

Slide Notes


Slide 1


Selling Professional Development Techniques at a Resistant Shop
Terry Ryan

no notes exist for this slide

Slide 2

no text exists for this slide

no notes exist for this slide

Slide 3


About The Problem

no notes exist for this slide

Slide 4


About Me
Terry Ryan
Formerly Manager of Web Application Environment for the Wharton School
Responsible for hardware, server configuration, code review process, best practices, boilerplates… etc.
Currently a Platform Evangelist for Adobe

no notes exist for this slide

Slide 5


About My Former Employer
Wharton School of Business
#1 business school in the world
Use technology as our competitive advantage
Have won Adobe MAX awards
Still have these issues from time to time
Your organization isn’t lost just because you have these issues

no notes exist for this slide

Slide 6


Two Notes
Before we get started, there are two things to acknowledge

no notes exist for this slide

Slide 7


It isn’t Hostility

no notes exist for this slide

Slide 8


This IS

no notes exist for this slide

Slide 9


It is NOT a technical problem

no notes exist for this slide

Slide 10


The Techniques
Just what do you mean by Professional Development Techniques?

no notes exist for this slide

Slide 11


Short Definition
Anything you would find mentioned in “The Pragmatic Programmer”

no notes exist for this slide

Slide 12


Longer Definition
   Any technique that makes you:
More Productive
More Robust
More Understandable

no notes exist for this slide

Slide 13


How difficult are they to sell?
Easier
Source Control
Company Wide Standards
Middle of the Road
OO
Design Patterns
Code Generation
Automation
Frameworks
Code Reviews
Hardest
Unit Testing

no notes exist for this slide

Slide 14


The Process
How do you do this thing?

no notes exist for this slide

Slide 15


Overview of the Process
Identify the Cast of Personas
Match Personas to Tactics
Apply tactics in broader Strategy

no notes exist for this slide

Slide 16


The Personas
Who are the people in your neighborhood?

no notes exist for this slide

Slide 17


Personas
The Uniformed
The Herd
The Healthy Cynic
The Time Crunched
The Burned
The Boss
The Irrational

no notes exist for this slide

Slide 18


The Uninformed
Symptoms
Don’t know
Cause
Never came across it
Prognosis
Easy to change
Initial change likely to be other persona

no notes exist for this slide

Slide 19


The Herd
Symptoms
“No one told us to use the technique.”
“Are we allowed to do that?”
Cause
Look to a strong leader to tell them what to do
Prognosis
Easiest to change
You have to be willing to lead

no notes exist for this slide

Slide 20


The Healthy Cynic
Symptoms
Have not tried technique
Question effectiveness
Question degree of effectiveness
Cause
Do not believe
Doubt without proof.
Prognosis
They can be converted with miles and miles of proof

no notes exist for this slide

Slide 21


The Burned
Symptoms
Had past failures with technique.
Cause
Umm… Past failures
Prognosis
Hard to change
Can be done if you prove previous implementation was
misapplied
flawed
deficient

no notes exist for this slide

Slide 22


The Time-Crunched
Symptoms
“I don’t have time for it”
Cause
Do not believe they can afford the time to learn and implement
Prognosis
They can be converted if you prove that technique will save them time

no notes exist for this slide

Slide 23


The Boss (Management)
Symptoms
Don’t care about this level of detail
Cause
Not really their bailiwick
Prognosis
Hit or miss
Make your solution a fix to their problems

no notes exist for this slide

Slide 24


The Irrational
Symptoms
Aggressively fight any attempts to introduce method
Hides as another type
Brings up objections that don’t conform with previous behavior
Cause
internal politics
control issue
interpersonal problems.
Your best guess
Prognosis
Cannot be reasoned with, cannot be bargained with, and they absolutely will not stop until your excitement is dead.

no notes exist for this slide

Slide 25


The Converted
Symptoms
Nod vigorously when you suggest something
Cause
Intelligence
Wisdom
Charisma
Prognosis
Will definitely roll d20
Might evolve into glowing energy beings

no notes exist for this slide

Slide 26


The Tactics
What do we focus on?

no notes exist for this slide

Slide 27


Focus on Expertise
Use these techniques for yourself
Don’t wait for your organization
Gain an expertise not just a familiarity

no notes exist for this slide

Slide 28


Focus on Expertise- Example
Tim wanted his team to use source control. They refused, so he did it for himself and himself only. The shared development server suffered a disk failure and had to be restored from a backup. At the response meeting the next day everyone reported they were a day behind due to the failure - except Tim.
People started asking Tim about this source control thing….

no notes exist for this slide

Slide 29


Focus on Expertise - Personas
Effective on:
Uninformed
Herd
Healthy Cynic
Burned

no notes exist for this slide

Slide 30


Focus on Delivery
Be passionate
Don’t be zealous
“Have you tried…” vs “You should…”

no notes exist for this slide

Slide 31


Focus on Delivery - Example
Patrick uses CFUnit. Upon discovering Patrick used CFUnit, John launched into a diatribe about how CFCUnit is so much better, and he thinks CFUnit’s code base is inferior and etc…
Patrick resisted using CFCUnit for months. When forced to because of a client, it turned out he much preferred it.

no notes exist for this slide

Slide 32


Focus on Delivery - Personas
Effective on:
Uninformed
Healthy Cynic
Burned
Irrational
Management

no notes exist for this slide

Slide 33


Focus on the Problem
Abandon specific solutions
Examine problem in context of your environment

no notes exist for this slide

Slide 34


Focus on the Problem - Example
Group needed Source Control
Andy had his heart set on using Subversion
The rest of the group resisted
After some digging Andy discovered that most of his team had experience with Visual Studio
Andy tried recommending VSS
Group took to it
Group is now using Source Control

no notes exist for this slide

Slide 35


Focus on the Problem - Personas
Effective on:
Healthy Cynic
Burned

no notes exist for this slide

Slide 36


Focus on Demonstration
Show, don’t tell
Write an application in a weekend
Solve a group problem

no notes exist for this slide

Slide 37


Focus on Demonstration - Example
Ed had created a code generation scheme that allowed him to whip up applications lightning fast.
His boss never supported his efforts to develop it.
One Friday, Ed’s boss floated an idea about an internal application past him. Ed created it over the weekend with his code creation tool, while watching a Law & Order marathon.
On Monday, Ed showed his boss the new application. He was stunned.
Ed’s boss no longer questions Ed spending time on his code generator

no notes exist for this slide

Slide 38


Focus on Demonstration - Personas
Effective on:
Uninformed
Herd
Time Crunched
Healthy Cynic
Burned
Management

no notes exist for this slide

Slide 39


Focus on Compromise
Remove restrictions in return for using technique
Especially if technique obviates restriction

no notes exist for this slide

Slide 40


Focus on Compromise - Example
Joe discovered and fell in love with Reactor.
Joe’s company had that pesky “stored procedure rule.” It was due to issues with SQL injection they had a few years ago.
Joe suggested that they drop the stored procedure only rule for projects using Reactor, since under the covers it uses cfqueryparam which delivers the same benefits.
Joe’s happy using Reactor, as are developers who hated writing stored procedures

no notes exist for this slide

Slide 41


Focus on Compromise - Personas
Effective on:
Time Crunched

no notes exist for this slide

Slide 42


Focus on Synergy
Connect implementing your technique with a larger concern
Security
Regulations Compliance

no notes exist for this slide

Slide 43


Focus on Synergy - example
Bob was trying to encourage the use of Coldspring
A new edict came down that all database reads and writes in a particular application had to be logged.
Bob convinced people to accomplish this through the Aspect Oriented Programming side of ColdSpring instead of re-writing entire application

no notes exist for this slide

Slide 44


Focus on Synergy - Personas
Effective on:
Management

no notes exist for this slide

Slide 45


Focus on Pressure
Network Externalities
Electronic peer pressure
Create a solution that people really need that relies on your technique

no notes exist for this slide

Slide 46


Focus on Pressure - Example
Charles used SVN + ANT for his builds but no one else would.
He developed a killer set of components for laying out a site according to the company template
People wanted to use it.
Charles let them, as long as they pulled down the changes from SVN. Oh and by the way, this ANT script makes this really easy….

no notes exist for this slide

Slide 47


Focus on Pressure - Personas
Effective on:
Uninformed
Herd
Time Crunched
Healthy Cynic
Burned

no notes exist for this slide

Slide 48


Focus on Bridging
Create something enticing that is halfway between where you are and where you want to be
Bridging Framework

no notes exist for this slide

Slide 49


Focus on Bridging - Example
I wanted to use ModelGlue 2 for scaffolding.
I got a lot of resistance
I built Squidhead
Same
Scaffolding
DAO/Gateways
Different
Not MVC
Stored Procedures
Foreign Keys

no notes exist for this slide

Slide 50


Focus on Bridging - Personas
Effective on:
Time-Crunched
Herd

no notes exist for this slide

Slide 51


Focus on Publicity
Get your code reviewed
Open Source your solution
Apply for awards

no notes exist for this slide

Slide 52


Focus on Publicity - Example
Jim wasn’t getting any traction internally for his bug tracking system.
He open sourced it.
The small subset of users around the world that wanted to track bugs like Jim used it, loved it, and blogged about it
When word got back to management that Jim’s solution was being used world-wide the question was - why weren’t they using it.

no notes exist for this slide

Slide 53


Focus on Publicity - Personas
Effective on:
Uninformed
Healthy Cynic
Burned
Management

no notes exist for this slide

Slide 54


Focus on Trust

no notes exist for this slide

Slide 55

no text exists for this slide

no notes exist for this slide

Slide 56


Focus on Trust -
Personas
Effective on:
Healthy Cynic
Burned
Irrational

no notes exist for this slide

Slide 57


Strategy
What do we do big picture?

no notes exist for this slide

Slide 58


Simple, not Easy
Ignore the Irrational
Target the Willing
Harness the Converted
Sell to Management

no notes exist for this slide

Slide 59


Ignore the Irrational

no notes exist for this slide

Slide 60


Target the willing
Easiest to convert
Uninformed
Herd
Next group
Time Crunched
Cynical
Burned
Finally
Management

no notes exist for this slide

Slide 61


Harness the Converted
Steal attention from non converts
Repeat the story
Get converts to repeat the story
Tie their successes to your methods

no notes exist for this slide

Slide 62


Sell to Management
Focus on cost benefit
Focus on personnel benefits
Provide case studies
Get mandate

no notes exist for this slide

Slide 63


Final Thoughts
Where do you go from here

no notes exist for this slide

Slide 64


The Process in Review
Identify the Cast of Personas
Match Personas to Tactics
Apply tactics in broader Strategy

no notes exist for this slide

Slide 65


Lather, Rinse, Repeat
Progress is iterative…
… and slow

no notes exist for this slide

Slide 66


Be prepared to start again
Every advancement begins with all players at “uninformed.”

no notes exist for this slide

Slide 67


Last Words
You might not get the perfect shop where your fellow developers run a one click ANT script that pulls down your framework driven application for code review before pushing it out to a production server...
But between where you are and where you want to be there are many, many better places.

no notes exist for this slide

Slide 68


Questions
Terrence Ryan
terry@terrenceryan.com
http://www.terrenceryan.com/
http://twitter.com/tpryan

no notes exist for this slide