1 of 29

Productivity: Personal and Social Software Process

Christopher Parnin

Some material based on Watts Humphrey’s notes

2 of 29

Activity

What makes you most unproductive?

3 of 29

Productivity Drains

Interruptions

Task Fragmentation

Task Fatigue; Motivation

Delayed Feedback

4 of 29

Productivity Strategies

Pomodoro; Timeboxing

Headphones

Task Paths;

Stress

Self-sourcing

Personal trackers, metrics

… anything on lifehacker…

5 of 29

Why is productivity important for programming?

A programmer takes between 10-15 minutes to resume work.

Only 10% of times did a programmer resume work in less than a minute.

A programmer is likely to get just one uninterrupted 2-hour session in a day

6 of 29

7 of 29

Personal Software Process (PSP)

Watts Humphrey

Plan, measure, track program quality throughout the lifecycle of a project.

Analyze metrics and use the results to improve process.

8 of 29

PSP SEI Training Course

  • Engineers write 10 programs.
  • They start with current skills.
  • They gather data on every program.
  • They use PSP to reflect on previous program.

After course, they understand how reflection => better work.

9 of 29

Metric Forms

BUGS

Plans

Time Tracking

10 of 29

Accuracy of Estimation (minutes)

11 of 29

Productivity (LOC)

12 of 29

PSP + Team Software Process (TSP)

Personal measures

Process discipline

Estimating & planning

Quality management

Project goals

Team roles

Team process

Project plan

Balanced plan

Risk analysis

Team communication

Team coordination

Status tracking

Project reporting

13 of 29

Other research

Frequently Monitoring Progress Toward Goals Increases Chance of Success

Publicly reporting or recording progress has an even greater effect, study says

http://www.apa.org/news/press/releases/2015/10/progress-goals.aspx

14 of 29

Activity

What might be some good things related to tracking progress.

What issues might you have with using PSP in your own work?

15 of 29

Modern Versions

Social Software Processes

Automatic Metric collection

16 of 29

Github

17 of 29

Resume?

18 of 29

Open Source Report Card

19 of 29

Masterbranch Coderbits

20 of 29

Coderwall

21 of 29

Geekli.st

22 of 29

Activity

What are some neat things about social software processes?

What issues may arise?

23 of 29

Codealike

24 of 29

Codeivate (for Sublime Text 2+3)

http://www.codeivate.com/

25 of 29

autogit + automark

Bugs, churn, etc.

26 of 29

27 of 29

28 of 29

29 of 29

Activity