visualisations
DESCRIPTION
Different visualisations from our projectTRANSCRIPT
Visualizing what’s happening on our project
Mark Needham
Why?
Curious to see the trend with lines of
code
Do the same people pair with
each other?
How big are our commits?
How many people work on an average
story?
Do people work in the same area of
the code?
Breakable Toys
“Budget for failure by designing and building toy systems that are similar to the systems you build at work in toolset but not in scope.”
Demo of the graphs
The evolution of the code
Humble Shell Scripts
Hacked together web app
The humble shell script
Jetty Web Server
Text files
JSON
node.js server
JSON
step
mongodb
expressexpresso
jade
underscore
npm
nodemon
Getting git commits
Parsing git commits
Alex/Charles #0 Added functional ML test
Mark/Pat: some other shizzleLiz/Marc: important stuff
Mark/Liz: a very long, and weird message
[“Alex”, “Charles”]
[ “Mark”, “Liz”]
[ “Mark”, “Pat”]
[ “Liz”, “Marc”]
Parsing git commits
Unit Testing!
Parsing git commits
Parsing git commits
#fail
Parsing git commits
Alex/Charles #0 Added functional ML test
Mark/Pat: some other shizzleLiz/Marc: important stuff
Mark/Liz: a very long, and weird message
{ “Alex” : 1, “Charles” : 1, “Mark” : 2, “Added” : 1, “some” : 1, “important” : 1 }
Parsing git commits
Parsing git commits
Parsing git commits
Uday/Liz: Did some stuff with mark logic
?
Parsing git commits
Uday/Liz: Did some stuff with mark logic
{ “Mark” : 1, “Uday” : 1, “Liz” : 1, “did” : 1 }
Parsing git commits
Uday/Liz: Did some stuff with mark logic
{ “Mark” : 1, “Uday” : 1, “Liz” : 1, “did” : 1 }#fail
Calculating lines of code
Abusing node
Abusing node
$ curl http://localhost:3000/git/updatecurl: (52) Empty reply from server
Faking HTTP responses
git log -l30000 --no-merges --ignore-all-space --shortstat --ignore-all-space --pretty="format:%cd%n%s" --find-copies
Parsing git extended history
git log -l30000 --no-merges --ignore-all-space --shortstat --ignore-all-space --pretty="format:%cd%n%s" --find-copies
Parsing git extended history
Parsing git extended history
Parsing git extended history
Protovis
RGraph
Graphing libraries
Protovis
RGraph
Graphing libraries
High Charts
High Charts
Protovis
Protovis
The Pair Stair
What did we learn from these graphs?
Who rotates pairs
regularly
Whether people are avoiding
working on XQuery
Who started off working on a
particular feature
When the build
breaks most
frequently
When/What the big code changes were
Gaming the system
The End
Mark Needham@markhneedham