The Final 20%: Improving Craftsmanship in Web Development - WordCamp DFW 2015

Preview:

Citation preview

JEREMY GREEN @GREENHORNET79

THE FINAL 20%Improving Craftsmanship in Web Development

WordCamp DFW 2015

JEREMY GREEN @GREENHORNET79

VILFREDO PARETO20% of people had 80% of the wealth

JEREMY GREEN @GREENHORNET79

PRINCIPLE OF LEAST EFFORT20% of the work completes 80% of the project

JEREMY GREEN @GREENHORNET79

PROJECT WORK

Repetitive

Creative

Creative

JEREMY GREEN @GREENHORNET79

REPETITIVE WORK

Energy GainEnergy Drain Energy Gain

JEREMY GREEN @GREENHORNET79

WHAT CAN BE IMPROVED OR AUTOMATED SO THAT I DON’T HAVE TO

THINK ABOUT IT NEXT PROJECT?

JEREMY GREEN @GREENHORNET79

CREATE A PROCESS

JEREMY GREEN @GREENHORNET79

HIRED FIRST EMPLOYEEGetting everything out of my head

JEREMY GREEN @GREENHORNET79

PROCEDURES DOCUMENTA fancy word for “checklist”

JEREMY GREEN @GREENHORNET79

GET IT ON PAPER• Eliminates guessing • Sets guidelines for what is expected • Greatly improves consistency between projects • More “brain space”

JEREMY GREEN @GREENHORNET79

HOW TO WRITE A PROCEDURE1. Do the task as you normally would 2. For each step you complete, describe it in detail in a

1-2-3 step checklist. 3. Evaluate each step to see if it can be simplified or

improved. 4. Experiment with different techniques 5. If you find an improvement, update the original working

procedure.

JEREMY GREEN @GREENHORNET79

1. DO THE TASK AS YOU NORMALLY WOULD

JEREMY GREEN @GREENHORNET79

2. FOR EACH STEP YOU COMPLETE, DESCRIBE IT IN DETAIL IN A 1-2-3 STEP CHECKLIST.

JEREMY GREEN @GREENHORNET79

3. EVALUATE EACH STEP TO SEE IF IT CAN BE SIMPLIFIED OR IMPROVED.

JEREMY GREEN @GREENHORNET79

TOYOTA

JEREMY GREEN @GREENHORNET79

WHEN SOMETHING GOES WRONG, ASK WHY FIVE TIMES.

JEREMY GREEN @GREENHORNET79

JEREMY GREEN @GREENHORNET79

1. WHY DID THE ROBOT STOP?

The circuit has overloaded, causing a fuse to blow.

JEREMY GREEN @GREENHORNET79

2. WHY IS THE CIRCUIT OVERLOADED?

There was insufficient lubrication on the bearings, so they locked up.

JEREMY GREEN @GREENHORNET79

3. WHY WAS THERE INSUFFICIENT LUBRICATION ON THE BEARINGS?

The oil pump on the robot is not circulating sufficient oil.

JEREMY GREEN @GREENHORNET79

4. WHY IS THE PUMP NOT CIRCULATING SUFFICIENT OIL?

The pump intake is clogged with metal shavings.

JEREMY GREEN @GREENHORNET79

5. WHY IS THE INTAKE CLOGGED WITH METAL SHAVINGS?

Because there is no filter on the pump.

JEREMY GREEN @GREENHORNET79

4. EXPERIMENT WITH DIFFERENT TECHNIQUES

JEREMY GREEN @GREENHORNET79

PROJECT MANAGEMENTFolders

Trello

Basecamp

JEREMY GREEN @GREENHORNET79

SITE DEVELOPMENTLocal environment

Version Control

Deployment

JEREMY GREEN @GREENHORNET79

5. IF YOU FIND AN IMPROVEMENT, UPDATE THE ORIGINAL WORKING PROCEDURE.

JEREMY GREEN @GREENHORNET79

START SIMPLE1. Create text file in a shared Dropbox folder 2. Add my workflows in a checklist format 3. Saved text file 4. For every repeating task in project, repeat steps 1-3.

JEREMY GREEN @GREENHORNET79

REPETITIVE WORK

Energy GainEnergy Drain Energy Gain

JEREMY GREEN @GREENHORNET79

DEEP PRACTICETurning mistakes into skills

JEREMY GREEN @GREENHORNET79

CREATING MYELIN

JEREMY GREEN @GREENHORNET79

FIRE CIRCUIT OVER AND OVER

JEREMY GREEN @GREENHORNET79

2 X 3 = 6

JEREMY GREEN @GREENHORNET79

JEREMY GREEN @GREENHORNET79

ENGAGE IN DEEP PRACTICE1. Try something that is slightly beyond your comfort zone 2. Slowly struggle through learning the new technique 3. Repeat until you can do it correctly over and over

JEREMY GREEN @GREENHORNET79

WHAT SKILL DO YOU WANT TO IMPROVE?

JEREMY GREEN @GREENHORNET79

STRUGGLE IS THE KEY TO PRODUCING MYELIN

JEREMY GREEN @GREENHORNET79

CHOOSE A PARTICULAR STRUGGLE1. Pick a target 2. Reach for it 3. Evaluate the gap between between the target and the reach 4. Return to step one

JEREMY GREEN @GREENHORNET79

REPETITIVE WORK

Energy GainEnergy Drain Energy Gain

JEREMY GREEN @GREENHORNET79

AUTOMATION & SYSTEMSAutomation of menial tasks lets you focus on building,

creating, and improving your skills.

JEREMY GREEN @GREENHORNET79

WHAT TASKS OR SERIES OF TASKS DO YOU EXECUTE MULTIPLE TIMES THROUGHOUT A

PROJECT?

JEREMY GREEN @GREENHORNET79

SNIPPETS IN ALFRED

JEREMY GREEN @GREENHORNET79

USING THE KEYBOARD

JEREMY GREEN @GREENHORNET79

CREATE AN ALIAS

JEREMY GREEN @GREENHORNET79

ZAPIER CONNECTIONS

JEREMY GREEN @GREENHORNET79

SLACK CONNECTIONS

JEREMY GREEN @GREENHORNET79

GET OUT OF EMAIL

JEREMY GREEN @GREENHORNET79

QUALITY IMPROVES WITH EFFICIENCY

• More time and energy to focus on code quality • More time and energy to problem solve • More time and energy to learn new techniques

JEREMY GREEN @GREENHORNET79

REPETITIVE WORK

Energy GainEnergy Drain Energy Gain

JEREMY GREEN @GREENHORNET79

LOW HANGING FRUITWhere in your workflow would an efficiency improvement

make the most impact?

JEREMY GREEN @GREENHORNET79

IDEAS TO GET STARTED

JEREMY GREEN @GREENHORNET79

• Keep all notes and todos for a project in one place • Use code snippets • Develop locally • Use a starter theme or framework • Speed up your computer • Learn how to use your tools better • Create project templates with checklists • Learn keyboard shortcuts • Create canned email responses • Use build tools like Grunt or Gulp

JEREMY GREEN @GREENHORNET79

RESOURCES

JEREMY GREEN @GREENHORNET79

GREAT COFFEE

JEREMY GREEN @GREENHORNET79

CRAFTSMANSHIP

JEREMY GREEN @GREENHORNET79

THANKS!Jeremy Green

@greenhornet79 www.endocreative.com