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
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
no notes exist for this slide
Slide 8
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
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
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
Wonderful presentation. I really enjoyed it.
Posted By: California lemon law lawyers On: 12/27/10 9:00 AM