building better software by building better developers

32
Building Better Software by Building Better Developers Iris Classon – software develoepr Evry

Upload: iris-classon

Post on 02-Jul-2015

379 views

Category:

Technology


0 download

DESCRIPTION

Developers and testers are, by their very nature, curious creatures. But when facing deadlines, they often become fixated on solving today's problem and miss the bigger picture. Over time and under pressure, they lose their motivation to learn new information and acquire new skills. Without a plan encouraging learning can be costly—and can backfire. A professional development plan should incorporate practical strategies and techniques for the entire team and managers. Fortunately many proven techniques exist for professional development: code katas, code dojos, workplace user groups, agile learning, and evaluation, as well as time management methodologies such as the prioritization matrix and Getting Things Done (GTD). Kick-start professional development by learning some of these opportunities and techniques, and see which can have the best return and long-term maintainability for your team’s developers, testers, and managers.

TRANSCRIPT

Page 1: Building Better Software by Building Better Developers

Building Better Software by Building Better Developers

Iris Classon – software develoepr Evry

Page 2: Building Better Software by Building Better Developers

Microsoft MVP, MCSD, MCPD, MCTS

Microsoft Extended Experts Team

Software Developer, Evry

Pluralsight author

Iris Classon

Twitter: @irisclasson

Blog: http://irisclasson.com

Page 3: Building Better Software by Building Better Developers

Out of the frying pan, into the fire

Page 4: Building Better Software by Building Better Developers

100

1 000

100 000

0

1

10

100

1 000

10 000

100 000

Lines Of Code

LOC IN A TYPICAL GM CAR

1970 2000 2010

Lines of code

Page 5: Building Better Software by Building Better Developers

The Winter War

Page 6: Building Better Software by Building Better Developers

Comparing tools

Finland vs.Soviet

0 200000 400000 600000 800000 1000000 1200000

Soldiers

Soldiers

Soviet Finland

32 114

6000

4000

0

1000

2000

3000

4000

5000

6000

7000

Tanks Planes

TANKS & PLANES

Finland Soviet

Page 7: Building Better Software by Building Better Developers

Refusing to surrender

land

Page 8: Building Better Software by Building Better Developers

Sometimes tools do not

matter –when used

wrong

Page 9: Building Better Software by Building Better Developers

Autonomyand

Control

1.Self-government; freedom to act or function

independently.

2.(philosophy) The capacity to make an informed, uncoerced decision.

3.(mechanics) The capacity of a system to make a

decision about its actions without the involvement of another system or operator

Page 10: Building Better Software by Building Better Developers

Competent

Related to others

Autonomous

To feel:

Motivation three

psychological needs

To feel:

Page 11: Building Better Software by Building Better Developers

Let’s cover three

important aspects.

Workplace learning opportunities and costs

Agile learning

Time management

Page 12: Building Better Software by Building Better Developers

Workplace learning

opportunities and costs

Online training

Classroom training

Conferences

On-job

Technical Content

Organized events, workshops, user groups

Page 13: Building Better Software by Building Better Developers

Easy to calculateSubscription price

* # developers

Additional cost (time)

Try to get 2-5 hours a week

Cost

Online training

Page 14: Building Better Software by Building Better Developers

Classroom

Expensive / opportunity loss

# developers * # days

Trainer, travel, venue, equipment

Between 10000-30000 USD depending

on the expert

Cost

Page 15: Building Better Software by Building Better Developers

Conference

Cost of conferenceTravel,

accommodation and food

Opportunity lost, risk

Opportunity gained (exposure)

Cost

Page 16: Building Better Software by Building Better Developers

On-job

Minimal costRequired to

some degree

Cost

Workplace training - the new guy/girlPair programmingCode reviewsBrown bagsWorkplace usergroupsMob programming

Page 17: Building Better Software by Building Better Developers

Tech. content

Minimal cost 2 hours a week

With informal lunches - the cost

of food

Cost

Page 18: Building Better Software by Building Better Developers

No guarantees

Page 19: Building Better Software by Building Better Developers

Agile learning

Page 20: Building Better Software by Building Better Developers

Vasa

Page 21: Building Better Software by Building Better Developers

Self-regulated learning

Plan

Practice / Monitor

Evaluate

MetacognitionStrategic

actionMotivation

Page 22: Building Better Software by Building Better Developers

Software and self-

regulated learning

Self-regulated learning strategies and software training

Jane Gravill *, Deborah Compeau 1The University of Western Ontario, London, ON, Canada

Self-Directed Learning: stories from industry

Anna Eckerdal et. Al.

There's ROI in workplace training investmentsBrownlee, Jeff. Plant,

suppl. PLANT WEST 4.3 (May/Jun 2009): 14.

Page 23: Building Better Software by Building Better Developers

Timeless skills

Software design (SOLID)

Knowing tools (source control, build, editors,

servers)

Databases

Refactoring Debugging Testing

Networking Security

Page 24: Building Better Software by Building Better Developers

Iterations and evaluations

1.Break down into smaller

modules

2.Divide into small clearly scoped and

actionable tasks

3.Do them in iterations

Analyzing

Planning

Acting

Integrating

Page 25: Building Better Software by Building Better Developers

Evaluating learning

Page 26: Building Better Software by Building Better Developers

Time management

Page 27: Building Better Software by Building Better Developers

Time

Evaluate Act Invest

“We must use time as a tool,

not as a crutch” John F. Kennedy“

Page 28: Building Better Software by Building Better Developers

Where does my time go?

Rescue time – tracking tools

• Little effort

• Stats

Log

• Accurate

• Detailed

Reflection

• Fast

• Little effort

Page 29: Building Better Software by Building Better Developers

Efficiency - planning

Getting it out of your

head

Record tasks

Small actionable items

Day and weekly habits

Reviews

Action

Do

Defer

Delegate

Getting Things Done

GTD

Page 30: Building Better Software by Building Better Developers

Efficiency - planning

Prioritizing

Page 31: Building Better Software by Building Better Developers

Efficiency - planning

Goal setting

Page 32: Building Better Software by Building Better Developers