Productivity: Personal and Social Software Process
Christopher Parnin
Some material based on Watts Humphrey’s notes
Activity
What makes you most unproductive?
Productivity Drains
Interruptions
Task Fragmentation
Task Fatigue; Motivation
Delayed Feedback
Productivity Strategies
Pomodoro; Timeboxing
Headphones
Task Paths;
Stress
Self-sourcing
Personal trackers, metrics
… anything on lifehacker…
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
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.
PSP SEI Training Course
After course, they understand how reflection => better work.
Metric Forms
BUGS
Plans
Time Tracking
Accuracy of Estimation (minutes)
Productivity (LOC)
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
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
Activity
What might be some good things related to tracking progress.
What issues might you have with using PSP in your own work?
Modern Versions
Social Software Processes
Automatic Metric collection
Github
Resume?
Open Source Report Card
Masterbranch Coderbits
Coderwall
Geekli.st
Activity
What are some neat things about social software processes?
What issues may arise?
Codealike
Codeivate (for Sublime Text 2+3)
See also: https://wakatime.com/
autogit + automark
Bugs, churn, etc.
Activity
Fill out exercise form:
https://docs.google.com/a/ncsu.edu/forms/d/1YTOiHHwS3M97nM4OTv2kKdGR0mfMOGcPnQdYTGnkxvg/viewform