Visualizing what’s happening on           our project          Mark Needham
Curious to see the                trend with lines of                      code                                           ...
“Budget for failure by designing and buildingtoy systems that are similar to the systemsyou build at work in toolset but n...
Demo of the graphs
Humble Shell                      Hacked together  Scripts                            web app          The evolution of th...
The humble shell script
JSONJetty Web  Server   Text files
JSONnode.js server
Getting git commits
[ “Mark”, “Pat”]   [“Alex”, “Charles”]Parsing git commits
Parsing git commits
Unit Testing!
Parsing git commits
Parsing git commits
{ “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 }      Parsing git commits
Calculating lines of code
Abusing node
$ curl http://localhost:3000/git/updatecurl: (52) Empty reply from serverAbusing node
Faking HTTP responses
git log -l30000--no-merges --ignore-all-space--shortstat --ignore-all-space--pretty="format:%cd%n%s" --find-copies     Par...
git log -l30000--no-merges --ignore-all-space--shortstat --ignore-all-space--pretty="format:%cd%n%s" --find-copies     Par...
Parsing git extended history
Parsing git extended history
ProtovisRGraph         Graphing libraries
ProtovisRGraph         Graphing libraries
High Charts
High Charts
Protovis
Protovis
The Pair Stair
Who started off                                      working on a                                    particular feature   ...
Gaming the system
Mark Needham@markhneedham     The End
Visualisations
Upcoming SlideShare
Loading in …5
×

Visualisations

2,452 views

Published on

Different visualisations from our project

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,452
On SlideShare
0
From Embeds
0
Number of Embeds
1,670
Actions
Shares
0
Downloads
11
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • We’re using a library called Step here to pass on the commits to the next function where it gets sent to the callback after being parsed
  • Finally got to the point where it made sense to write unit tests around part of the code. Before that it was much quicker to just refresh and have a look what was going on
  • Build a word cloud instead
  • Build a word cloud instead
  • Build a word cloud instead
  • Build a word cloud instead
  • Build a word cloud instead
  • Build a word cloud instead
  • Did it all on the fly to start with but Then realised it was way too slowSo pushed it into mongo
  • If it’s actually synchronous – indicated by Nesting loads of functions then maybe It’s not a job for node
  • If it’s actually synchronous – indicated by Nesting loads of functions then maybe It’s not a job for node
  • If it’s actually synchronous – indicated by Nesting loads of functions then maybe It’s not a job for node
  • If it’s actually synchronous – indicated by Nesting loads of functions then maybe It’s not a job for node
  • If it’s actually synchronous – indicated by Nesting loads of functions then maybe It’s not a job for node
  • If it’s actually synchronous – indicated by Nesting loads of functions then maybe It’s not a job for node
  • If it’s actually synchronous – indicated by Nesting loads of functions then maybe It’s not a job for node
  • High charts seems to be the best general purpose library but protovis is better if you want to make custom charts. Protovis is now d3.js
  • You could go on holiday and then use these graphs to help you work out what had happened in your absence
  • It was suggested that by making these graphs available that we’d encourage people to game the system to try and get to the top of the charts. In this case we weren’t sure if that’s necessarily bad because the Behaviour we wanted to encourage was people checking in in smaller increments than they had been previously.
  • It was suggested that by making these graphs available that we’d encourage people to game the system to try and get to the top of the charts. In this case we weren’t sure if that’s necessarily bad because the Behaviour we wanted to encourage was people checking in in smaller increments than they had been previously.
  • Visualisations

    1. 1. Visualizing what’s happening on our project Mark Needham
    2. 2. Curious to see the trend with lines of code How big are our commits?Do people work inthe same area of the code? Do the same people pair with each other? How many people work on an average story? Why?
    3. 3. “Budget for failure by designing and buildingtoy systems that are similar to the systemsyou build at work in toolset but not in scope.” Breakable Toys
    4. 4. Demo of the graphs
    5. 5. Humble Shell Hacked together Scripts web app The evolution of the code
    6. 6. The humble shell script
    7. 7. JSONJetty Web Server Text files
    8. 8. JSONnode.js server
    9. 9. Getting git commits
    10. 10. [ “Mark”, “Pat”] [“Alex”, “Charles”]Parsing git commits
    11. 11. Parsing git commits
    12. 12. Unit Testing!
    13. 13. Parsing git commits
    14. 14. Parsing git commits
    15. 15. { “Alex” : 1, “Charles” : 1, “Mark” : 2,“Added” : 1, “some” : 1, “important” : 1 } Parsing git commits
    16. 16. Parsing git commits
    17. 17. Parsing git commits
    18. 18. Uday/Liz: Did some stuff with mark logic ? Parsing git commits
    19. 19. Uday/Liz: Did some stuff with mark logic{ “Mark” : 1, “Uday” : 1, “Liz” : 1, “did” : 1 } Parsing git commits
    20. 20. Uday/Liz: Did some stuff with mark logic{ “Mark” : 1, “Uday” : 1, “Liz” : 1, “did” : 1 } Parsing git commits
    21. 21. Calculating lines of code
    22. 22. Abusing node
    23. 23. $ curl http://localhost:3000/git/updatecurl: (52) Empty reply from serverAbusing node
    24. 24. Faking HTTP responses
    25. 25. git log -l30000--no-merges --ignore-all-space--shortstat --ignore-all-space--pretty="format:%cd%n%s" --find-copies Parsing git extended history
    26. 26. git log -l30000--no-merges --ignore-all-space--shortstat --ignore-all-space--pretty="format:%cd%n%s" --find-copies Parsing git extended history
    27. 27. Parsing git extended history
    28. 28. Parsing git extended history
    29. 29. ProtovisRGraph Graphing libraries
    30. 30. ProtovisRGraph Graphing libraries
    31. 31. High Charts
    32. 32. High Charts
    33. 33. Protovis
    34. 34. Protovis
    35. 35. The Pair Stair
    36. 36. Who started off working on a particular feature Whether people are avoiding working on XQueryWhat did we learn from these graphs?
    37. 37. Gaming the system
    38. 38. Mark Needham@markhneedham The End

    ×