30
How to Increase Software Developer Productivity Kim Carter

Kim Carter - How to Increase Software Developer Productivity

Embed Size (px)

DESCRIPTION

If you’re looking to get more out of your organisation’s software developers, increase your ROI, spend less money on fixing bugs or increase your development team’s business value release rate, this session is for you. Or you might be a software developer looking to lift your game to the next level. There are many ways to lift software developers’ productivity and, as a result, the development team’s total output. This session addresses some quick wins, as well as some that take longer to implement.

Citation preview

Page 1: Kim Carter - How to Increase Software Developer Productivity

How to IncreaseSoftware Developer Productivity Kim Carter

Page 2: Kim Carter - How to Increase Software Developer Productivity

I think there is a world market for maybe 5 computers

Thomas J Whatson. 1943. Chairman of IBM

Page 3: Kim Carter - How to Increase Software Developer Productivity

Maximising Quality with Least Spent

Improving quality is the best way to increase productivity

Bring the quality focus up front

Page 4: Kim Carter - How to Increase Software Developer Productivity

Maximising Quality with Least Spent

Page 5: Kim Carter - How to Increase Software Developer Productivity

Maximising Quality with Least Spent

Page 6: Kim Carter - How to Increase Software Developer Productivity

Maximising Quality with Least Spent

Page 7: Kim Carter - How to Increase Software Developer Productivity

Maximising Quality with Least Spent

Pair Programming

Page 8: Kim Carter - How to Increase Software Developer Productivity

Maximising Quality with Least Spent

TDD

Page 9: Kim Carter - How to Increase Software Developer Productivity

Maximising Quality with Least Spent

Heartbleed, goto fail

Page 10: Kim Carter - How to Increase Software Developer Productivity

Maximising Quality with Least Spent

Test Condition Workshop

Page 11: Kim Carter - How to Increase Software Developer Productivity

Maximising Quality with Least Spent

Optimising your test effort

Page 12: Kim Carter - How to Increase Software Developer Productivity

Maximising Quality with Least Spent

Code Review

Page 13: Kim Carter - How to Increase Software Developer Productivity

Maximising Quality with Least Spent

Coding Standards, Conventions & Guidelines

Page 14: Kim Carter - How to Increase Software Developer Productivity

Maximising Quality with Least Spent

Design is emergent

Page 15: Kim Carter - How to Increase Software Developer Productivity

Maximising Quality with Least Spent

Page 16: Kim Carter - How to Increase Software Developer Productivity

People

Top Talent

10 - 1 Productivity

Going Rogue

What do the Most Productive Programmers Look like?

Page 17: Kim Carter - How to Increase Software Developer Productivity

Soft Tooling, Processes & Practices, Why it Matters

Distributed Communication

Version Control

Work Item Tracking

Wiki

Build System

Page 18: Kim Carter - How to Increase Software Developer Productivity

Hard Tooling, Why it Matters

Screen Real Estate

Page 19: Kim Carter - How to Increase Software Developer Productivity

Hard Tooling, Why it Matters

Machine Speed

Page 20: Kim Carter - How to Increase Software Developer Productivity

Hard Tooling, Why it Matters

Desk Seating Arrangement

Page 21: Kim Carter - How to Increase Software Developer Productivity

Continuity of Delivery CI

Continuous Deployment

Agile processes promote sustainable development

Measure and reward fast running tests

Measure Cyclomatic Complexity

Static Code Analysis

Executable Specifications

Page 22: Kim Carter - How to Increase Software Developer Productivity

Overcoming Red Tape

Establish the needs

Seek first to understand, then to be understood

Page 23: Kim Carter - How to Increase Software Developer Productivity

Overcoming Red Tape

Relationships

Establishing yourself as an expert

Build Trust with the Influencers

Talk with managers in private

Page 24: Kim Carter - How to Increase Software Developer Productivity

Overcoming Red Tape

Agendas

Credit

Vocal influential Sceptics

People's decisions are based on emotions

Dealing with resistance

Page 25: Kim Carter - How to Increase Software Developer Productivity

Biggest Morale & Productivity killers

Undermined Motivation

Adding people to Late Project

Noisy, Crowded Offices

Email

Meetings

Page 26: Kim Carter - How to Increase Software Developer Productivity

Biggest Morale & Productivity killers

Context Switching

Gerald Weinberg's rule

Page 27: Kim Carter - How to Increase Software Developer Productivity

Top Developer Motivators In Order

Developers love to develop software

The Work it selfVariety of Skills (T)Responsibility, SignificanceTask IdentityConsumer and Pair AssociationAutonomy

Page 28: Kim Carter - How to Increase Software Developer Productivity

Top Developer Motivators In Order

Ownership / Buy-in

Goal Setting

Opportunities for Growth

Personal Life

Technical Leadership

Page 29: Kim Carter - How to Increase Software Developer Productivity

Recommended Reading

Fearless Change by Mary Lynn Manns & Linda Rising

Living Nonviolent Communication by Marshall Rosenberg

Culture In The Workplace

BinaryMist blog

Rapid Development by Steve McConnell

Page 30: Kim Carter - How to Increase Software Developer Productivity

Questions?Kim Carter

Follow me @binarymist