Thermometer For Software Project - Presentation Transcript
Thermometer for
Software Project
www.devclub.eu
October 2009
share your feedback: twitter with #programeter 1/42
… or
Story of Trying to Cheat the
Professor, but Getting Caught
share your feedback: twitter with #programeter 2/42
Anton Litvinenko
● 8 years of professional software development at
Mobi, MicroLink and Programeter
● MSc in computer science at Tartu University
● Key competence: software measurement and
metrics
● Regular lecturer at Tartu University
share your feedback: twitter with #programeter 3/42
Together with Mark Kofman growing
a “carrot”
Analytics tool for
managers of software
development projects
share your feedback: twitter with #programeter 4/42
Software Project Course at TU
● Real customers
● Real software
● Skype events mashup
● Delfi “WhatsOn” – events database
● Analysis of very large graphs
● Location-based social networking
● Students' marketplace
● Totally ~50 projects over 4 years
share your feedback: twitter with #programeter 5/42
Software Project Course
● Led and managed by
● Ivo Mägi
● Marlon Dumas
● Students expected to experience the full
application development life-cycle
● Totally ~44 teams with 3-5 members
share your feedback: twitter with #programeter 6/42
Course Manager's Problem
● Identify early
● Dysfunctional teams
● Under-performing team members
● Monitoring
● Fair grading
share your feedback: twitter with #programeter 7/42
Programeter to the rescue!
share your feedback: twitter with #programeter 8/42
What is a Software Metric?
share your feedback: twitter with #programeter 9/42
A measure of any property related to
software or its production
share your feedback: twitter with #programeter 10/42
“Way of associating a number with some attribute
of a physical object”
share your feedback: twitter with #programeter 11/42
Example of a Measure: Height
● Subjective Observation:
● Anton is tall
● Another Observation:
● Anton is taller than Bill Gates
share your feedback: twitter with #programeter 12/42
Example of a Measure: Height
● Subjective Observation:
● Anton is tall
● Another Observation:
● Anton is taller than Bill Gates
● Measurement
● Anton is 192cm
● Relation is preserved
● Bill Gates is 178cm
share your feedback: twitter with #programeter 13/42
Intelligence Barrier
share your feedback: twitter with #programeter 14/42
Programeter Findings
● “One man project” syndrome
share your feedback: twitter with #programeter 15/42
One Man Project?
● Each year there are ~2 teams that complete
project successfully, but only 1-2 team
members participate
● Team intro → “all members are developers”
● From report of one of the developers:
share your feedback: twitter with #programeter 16/42
Another Team :)
A B C D E
share your feedback: twitter with #programeter 17/42
Social Graph for Developers
share your feedback: twitter with #programeter 18/42
Social Graph for Developers
share your feedback: twitter with #programeter 19/42
Social Graph for Developers
share your feedback: twitter with #programeter 20/42
Social Graph for Developers
share your feedback: twitter with #programeter 21/42
Social Graph Measures
● Know-how measures for developers
● Better planning
● Code sharing measures
● Risky and core components
share your feedback: twitter with #programeter 22/42
Programeter Findings
● “One man project” syndrome
● Developer's effort alone is not a good
estimation of “utility”
share your feedback: twitter with #programeter 23/42
Contribution Size Matters?
VS
share your feedback: twitter with #programeter 24/42
Contribution Size Matters?
VS
share your feedback: twitter with #programeter 25/42
share your feedback: twitter with #programeter 26/42
share your feedback: twitter with #programeter 27/42
share your feedback: twitter with #programeter 28/42
share your feedback: twitter with #programeter 29/42
share your feedback: twitter with #programeter 30/42
share your feedback: twitter with #programeter 31/42
Programeter Findings
● “One man project” syndrome
● Developer's effort alone is not a good
estimation of “utility”
● Students “do things” just before deadlines
share your feedback: twitter with #programeter 32/42
01/Mar 01/Apr 01/May
share your feedback: twitter with #programeter 33/42
Programeter Findings
● “One man project” syndrome
● Developer's effort alone is not a good
estimation of “utility”
● Students “do things” just before deadlines
● Programeter can predict fate
share your feedback: twitter with #programeter 34/42
Based only on metrics (source code team-work
and contribution) we have named 6 best teams –
they all end up in top 8 by grading
share your feedback: twitter with #programeter 35/42
share your feedback: twitter with #programeter 36/42
DEMO
share your feedback: twitter with #programeter 37/42
Architecture
share your feedback: twitter with #programeter 38/42
How We Measured Revision #30848
● Scanner at one of our customers reported SVN
connection error for several days
● 55298 files and ~9M LOC
● Access to scanner only on-site with thorough
security procedures
● After a day of brainstorming we had 4
alternative solutions ready
● Alternative SVN library, connection reset tolerance,
persistent partial scanning, check SLA
● In the end everything worked well... but our
back-end server crashed
share your feedback: twitter with #programeter 39/42
Who Benefits
Interest
Customer: Project Pulse, Quality
Organization Pulse, Benchmark,
Executive:
Team Expertise
Project Pulse, Benchmark, Team
Project Manager:
Expertise, Productivity
Quality, Benchmark, Team
Technical Lead:
Expertise
Team Member: Benchmark, Productivity
share your feedback: twitter with #programeter 40/42
Wanted: Super Hero!
● Search filter
● Intelligent, 10 years of
experience, java, enterprise
integrations, data warehousing
and mining, initiative, fast,
crazy
● Our offer
● Low salary, shares in
Programeter, start-up
experience, ambitious team
● Your chance for $1,000,000
share your feedback: twitter with #programeter 41/42
Thanks for your attention!
share your feedback: twitter with #programeter 42/42
0 comments
Post a comment