How to use GitHub to Predict the Success of your Application

Preview:

Citation preview

How to get more out of your code than technical metrics

GitHub Analytics to Predict the Success of your Application

Traditional Code Analysis (Tools)

Reviews – Internal / External– Pros – Great improvement, learning

opportunity– Cons – Time consuming

Static Analysis – Analyzing Source Code Without Executing

– Pros – Scans entire code base– Cons – Rule based, false positives

Focus on Technical Metrics

But what is the business impact?

What else can you get from your repos that helps you with business decisions?

Your repos contain a wealth of information and value, in addition to code storage!

• Product• People • Process

$ curl https://api.github.com/repos/coreos/fleet{ "id": 13512328, "name": "fleet", "full_name": "coreos/fleet", "owner": { "login": "coreos", "id": 3730757, ... "events_url": "https://api.github.com/users/coreos/events{/privacy}", "received_events_url": "https://api.github.com/users/coreos/received_events", "type": "Organization", "site_admin": false }, ... "collaborators_url": "https://api.github.com/repos/coreos/fleet/collaborators{/collaborator}", "teams_url": "https://api.github.com/repos/coreos/fleet/teams", "hooks_url": "https://api.github.com/repos/coreos/fleet/hooks", "issue_events_url": "https://api.github.com/repos/coreos/fleet/issues/events{/number}", "events_url": "https://api.github.com/repos/coreos/fleet/events", ... "updated_at": "2015-03-04T08:09:16Z", "pushed_at": "2015-02-27T22:09:53Z", ... "size": 11543, "stargazers_count": 1594, "language": "Go", "has_issues": true, ... }, "network_count": 166, "subscribers_count": 122}

Product

Focus of code reviews & static analysisBeyond Code, you can extract info from your repo:• Total # Lines of code• Change in the # of lines of code over

time• Size (roughly, server side disk usage)• Programming Languages Used

People

• Collaborators / Active collaborators / Contributions

• Stars• Followers

Process• All of the push/pull/clone/fork/branch

artifacts that we normally associate with Git repos

• Issues / Problems• Commits - seeing the history and correlating

to milestones• History of events that occurred on the repo

How will this help me?

- Rebuild or continue maintenance?- Outsource or in house?- Add team members or downsize?

- Specific skills- Personalities

- What technologies?- Will I make delivery date?- Will this satisfy my users?- Will I run over budget?

Success

• You can leverage data about code, people and process info to make better decisions

• Data driven decisions will help you to consistently meet your business objectives

Machine Learning, Analytics, Simulation

• Deep insight into success factors like resource allocation and sprint planning

• Predictions from our AI• Minimize uncertainty

Can’t I just do this myself?

Could track it all yourself, but w/ Grip you’ll get:• Visual presentation -> improved perception• History -> trends & inflection point• Benchmarks -> compare with other efforts

Q and A

info@grip.qa

Follow us on twitter: @gripqa

Recommended