Productive Work Practices

beckonhissingInternet et le développement Web

10 nov. 2013 (il y a 7 années et 10 mois)

294 vue(s)

Productive Work
Practices
WebDU
Sydney, May 6-7 2010
Peter Bell
Railo
Thursday, May 6, 2010
About Me

Programmer:
50-80 projects/yr

Entrepreneur:
profitable/practical

Writer:
Fusion Authority, Flex Authority,
JSMag, GroovyMag, InfoQ, IEEE
Software . . .

Presenter:
WebDU, CF United,
cf.Objective(), SoTR, ooPSLA, Code
Generation, BCS SPA . . .

Railo Technologies:
CFML consulting

Railo.org:
Fast, free, OSS CFML engine
Peter Bell
Thursday, May 6, 2010
Why this talk?
Thursday, May 6, 2010
Why this talk?
Thursday, May 6, 2010
Why this talk?
Thursday, May 6, 2010
Why this talk?
Thursday, May 6, 2010
Agenda
Thursday, May 6, 2010
Agenda

Do Stuff Right

Efficiency

Flow
Thursday, May 6, 2010
Agenda

Do Stuff Right

Efficiency

Flow

Don’t Do Anything

Eliminate waste

Automation

Reuse
Thursday, May 6, 2010
Agenda

Do Stuff Right

Efficiency

Flow

Don’t Do Anything

Eliminate waste

Automation

Reuse

Do the Right Stuff

Setting Goals

Time Tracking

Retrospectives
Thursday, May 6, 2010
Mark Drew - Railo
Division of Labor
Thursday, May 6, 2010
Mark Drew - Railo
Division of Labor

My
Job:

Present tools and techniques
Thursday, May 6, 2010
Mark Drew - Railo
Division of Labor

My
Job:

Present tools and techniques

Your
Job:

Discriminate, select, adapt, experiment
Thursday, May 6, 2010
Efficiency
The Productive Programmer
- Neal Ford
Thursday, May 6, 2010
Efficiency
Thursday, May 6, 2010
Efficiency
"Are you running your computer . . .
. . . or walking it?"
Thursday, May 6, 2010
Efficiency
"Are you running your computer . . .
. . . or walking it?"
"Typing is faster than navigation"
Thursday, May 6, 2010
Efficiency

Launchers

win: Launchy - mac: Quicksilver
"Are you running your computer . . .
. . . or walking it?"
"Typing is faster than navigation"
Thursday, May 6, 2010
Efficiency

Launchers

win: Launchy - mac: Quicksilver

Multiple Clipboard

win: CLCL - mac: JumpCut (free) or jClip
"Are you running your computer . . .
. . . or walking it?"
"Typing is faster than navigation"
Thursday, May 6, 2010
Efficiency

Launchers

win: Launchy - mac: Quicksilver

Multiple Clipboard

win: CLCL - mac: JumpCut (free) or jClip

Key macro tools

win: Autohotkey - mac: Textexploder or
Typinator
"Are you running your computer . . .
. . . or walking it?"
"Typing is faster than navigation"
Thursday, May 6, 2010
Flow
Flow
The Pomodoro Technique
Thursday, May 6, 2010
Flow

Clear, attainable goals

A sense of personal control

Direct and immediate feedback

Balance between ability level and challenge

The activity is intrinsically rewarding

Distorted sense of time

People become absorbed in their activity
Thursday, May 6, 2010
Pomodoro: basics

25 minutes

5 minute break

4 Pom’s

Longer break

Repeat
Thursday, May 6, 2010
Pomodoro: requirements

Timer

To do (task) list

Activity sheet
Thursday, May 6, 2010
Pomodoro: key notes

Pom indivisible

5-7 poms? Break it down

1 pom? Bundle up
Thursday, May 6, 2010
Pomodoro: Avoid interruptions

Internal

Write it down

External

Switch off twitter/IM/email/phone

Headphones

“Do not disturb”

Quiet hours (e.g. 9-11 and 3-5)

Inform, negotiate, return
Thursday, May 6, 2010
Pomodoro: benefits

Pom Benefits

Easier to start

Improves estimating

Lots of little successes

No hard/big projects

Group by activity (GTD)

Track time (billing/planning)
Thursday, May 6, 2010
Pomodoro
http://www.pomodorotechnique.com/
http://pomodoro.ugolandini.com/
Thursday, May 6, 2010
Don’t Do Anything!

Eliminate waste

Regression testing

Automation

Reuse
Thursday, May 6, 2010
Mark Drew - Railo
Eliminate Waste

Always ask “why?”

Adding business value?

Value stream mapping

Identify target

Draw current state map

Assess map, identify waste

Draw future state

Move towards future state
Thursday, May 6, 2010
Mark Drew - Railo
Value Stream Mapping
Thursday, May 6, 2010
Mark Drew - Railo
Value Stream Mapping
Thursday, May 6, 2010
Mark Drew - Railo
Value Stream Mapping

Does each step add value?

Look for long waiting periods

Minimize callbacks
Thursday, May 6, 2010
Mark Drew - Railo
Regression Testing

Safety/security

Required for refactoring

For CRUD test first is hard

Test first for "real" code

Deliver acceptance tests with all stories

Selenium or similar

MXUnit/FlexUnit for unit/integration

Hudson/CC  ant/maven for CI
Thursday, May 6, 2010
Automation

Script repetitive tasks

Ant

Headless CFML

Selenium
Thursday, May 6, 2010
Reuse

Software Product Lines

Quotes/specs

Code

Documentation

Tooling

. . .
Thursday, May 6, 2010
Do the Right Stuff

Setting Goals

Time Tracking

Retrospectives
Effectiveness vs. efficiency
Thursday, May 6, 2010
Setting Goals

Work priorities

Learning goals

Where do you want to be?
Thursday, May 6, 2010
Time Tracking

Pom based

Simple text editor

Reporting options (e.g. Harvest)
Thursday, May 6, 2010
Time Tracking
Thursday, May 6, 2010
Time Tracking
Thursday, May 6, 2010
Time Tracking
Thursday, May 6, 2010
Time Tracking
Thursday, May 6, 2010
Time Tracking
Thursday, May 6, 2010
Time Tracking
Thursday, May 6, 2010
Time Tracking
Thursday, May 6, 2010
Retrospectives

Regular feedback

Look at the numbers

Refine goals

What is/isn’t working

Root cause analysis
Thursday, May 6, 2010
Mark Drew - Railo
Division of Labor

My
Job:

Present tools and techniques

Your
Job:

Discriminate, select, adapt, experiment
Thursday, May 6, 2010
Review

Command line over GUI

Tomato  Productivity

Value stream mapping

Automated tests

Automate with ant, scripting
and selenium

Reuse resources (SPLs)

Where do you want to be?

Tracking time

How’s it going (retrospectives)
Twitter: peterbell
Blog: appgen.pbell.com
Email:
peterpbell.com
http://getrailo.com
Thursday, May 6, 2010