Agile NZ 2014 How to Increase Software Developer Productivity

Preview:

DESCRIPTION

Selection of activities, processes, tooling (both soft and hard) to increase software developer productivity of both individuals and teams. Based predominantly on this blog post: http://blog.binarymist.net/2013/03/02/how-to-increase-software-developer-productivity/ Along with several others: http://blog.binarymist.net/2014/01/25/essentials-for-creating-and-maintaining-a-high-performance-development-team/ http://blog.binarymist.net/2012/03/24/how-to-optimise-your-testing-effort/ http://martinfowler.com/articles/testing-culture.html http://blog.binarymist.net/2014/04/26/culture-in-the-work-place/

Citation preview

How to IncreaseSoftware Developer Productivity Kim Carter

I think there is a world market for maybe 5 computers

Thomas J Whatson. 1943. Chairman of IBM

Maximising Quality with Least Spent

Improving quality is the best way to increase productivity

Bring the quality focus up front

Maximising Quality with Least Spent

Maximising Quality with Least Spent

Maximising Quality with Least Spent

Maximising Quality with Least Spent

Pair Programming

Maximising Quality with Least Spent

TDD

Maximising Quality with Least Spent

Heartbleed, goto fail

Maximising Quality with Least Spent

Test Condition Workshop

Maximising Quality with Least Spent

Optimising your test effort

Maximising Quality with Least Spent

Code Review

Maximising Quality with Least Spent

Coding Standards, Conventions & Guidelines

Maximising Quality with Least Spent

Design is emergent

Maximising Quality with Least Spent

People

Top Talent

10 - 1 Productivity

Going Rogue

What do the Most Productive Programmers Look like?

Soft Tooling, Processes & Practices, Why it Matters

Distributed Communication

Version Control

Work Item Tracking

Wiki

Build System

Hard Tooling, Why it Matters

Screen Real Estate

Hard Tooling, Why it Matters

Machine Speed

Hard Tooling, Why it Matters

Desk Seating Arrangement

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

Overcoming Red Tape

Establish the needs

Seek first to understand, then to be understood

Overcoming Red Tape

Relationships

Establishing yourself as an expert

Build Trust with the Influencers

Talk with managers in private

Overcoming Red Tape

Vocal influential Sceptics

People's decisions are based on emotions

Biggest Morale & Productivity killers

Undermined Motivation

Adding people to Late Project

Noisy, Crowded Offices

Email

Meetings

Biggest Morale & Productivity killers

Context Switching

Gerald Weinberg's rule

Top Developer Motivators In Order

Developers love to develop software

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

Top Developer Motivators In Order

Ownership / Buy-in

Goal Setting

Opportunities for Growth

Personal Life

Technical Leadership

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

Questions?Kim Carter

Follow me @binarymist

Recommended