ycoady / UVic-Software-Evolution

Welcome to our extravaganza in software (r)evolution!!!
Creative Commons Zero v1.0 Universal
6 stars 0 forks source link

Lab 9: Tools for software project management and collaboration #16

Open davidsjohnson opened 9 years ago

davidsjohnson commented 9 years ago

In most of our labs we have focused on GitHub as our main tool for collaboration, management and hosting. There are many other tools used by companies for project management. One such open source tool is www.launchpad.net, used by many open source projects such as Ubuntu.

For this lab we want you to compare and contrast GitHub, LaunchPad and a third tool of your choice as tools for software project management.

Brayden-Arthur commented 9 years ago
Github LaunchPad Google code
Bug/Issue tracking * issue tracking on a project basis * Sitewide bug tracker * project basis
Project time management * Milestones for project planning * No scheduling system * Issue system usable
Version control system * Git * Bazaar *SVN/Mercurial/Git

There seems to be a lot of fierce discussion over Git vs Bazaar There's a few articles here and here talking about why Git is better or why Bazaar is better. It seems like the Version control system is the more important choice because using one over another forces to use that version control systems major Host. The wikipedia page for software hosting facilities has a nice comparison of features certain tools have that others don't.

Brayden Arthur Jeremy Kroeker

eburdon commented 9 years ago

GitHub features

LaunchPad features

Springloops features

BrodyHolden commented 9 years ago
Github Launchpad Bitbucket
Source Control Software Git, SVN[1] GNU Bazaar, and the following are import only: Git, Mecurial, CVS, SVN Git, Mercurial
Runs on all Free Software No Yes, under GNU Affero General Public License No
Is Ad-Free? Yes Yes Yes
Bug Tracking Yes Yes Yes, even anonymously
Code Review Yes Yes Yes
Wiki Yes Yes Yes
Web Hosting Yes No Yes
Mailing List No Yes No
Translation system No Yes No
Private branch Yes, for paid only Yes, for security updates Yes, 5 private branches on free plan
Self-hosting Paid Yes No

If your main requirement is storing an open source project in the cloud so that others may contribute then the decision comes down to what source control software you want to use. Different source control software have different workflow (though some are similar) and may attract different collaborators. Other than that, they are all rather similar.

[1] https://github.com/blog/1178-collaborating-on-github-with-subversion

By @BrodyHolden

PolloDiablo commented 9 years ago
GitHub LaunchPad Skype
Code Repository Indeed Definitely :(
Issue Tracking Quite For sure :(
Code Review Undeniably Indubitably :(
Quick File Sharing :( :( Certainly
Access/Roles User Accounts: repository owner and collaborators.
Organization accounts: Owners, admin access teams, write access teams, and read access teams.
Users, teams (may be associated with 0...* projects) Users, groups, Business (coming soon)
Specifications :( Most Assuredly :(
Chat :( :( Without a doubt
Mobile App Surely :( Without fail
Translation :( Aye :(
API Support Affirmative Naturally Unquestionably
Traceability By all means Of course Yep

Jeremy Kroeker

chrisjcook commented 9 years ago

Comparison of Software Project Management Tools

Based on our initial research of three options for software project management, we have compiled a list of the metrics we thought were most important for comparison.

Comparison Property GitHub LaunchPad BitBucket/JIRA
Issue Tracking Git Issues Bug tracking JIRA
Version Control Git Bazaar Git & Mercurial
Code Reviews Pull Requests Code Reviews Pull Requests
Private Repos Yes (paid by # repos) Yes (paid) Yes (paid for 5+ users)
Authentication GitHub LaunchPad GitHub + social media
Project Management Milestones "Blueprints" JIRA

In terms of a complete software project management tool, we would have to go with BitBucket+JIRA out of our available choices. However, based on familiarity, another likely path would be to use GitHub with JIRA. As a standalone tool, GitHub doesn't really have a lot of support for project management/lifecycle & planning. In fact, the comparison itself is unfair.

It's worth noting, however, that JIRA does have a monthly fee - so even the fact that BitBucket has free repos for <5 users is moot.

paulmoon commented 9 years ago

@guand, @lamj1234, @paulmoon

GitHub LaunchPad BitBucket
Issue Tracking Issues are created within repositories. Simple to use. Issues are created within projects. One searchbox to search all issues. UI is less intuitive than competitors. Created per repository. Can mark priorities, types, statuses, assignees, votes, and watchers. Simple interface.
Workflow Create a branch, add commits, submit a pull request, and merge into master branch. Supports many different kinds of workflows. Same as GitHub.
Code Reviews Done via pull requests. Propose a merge to the review team. Done via pull requests.
Project Management Issues, milestones, and releases. Many plugins exist for other project management software like Asana. Bug tracking with LaunchPad. Works with JIRA
Version Control System Git & Subversion Bazaar Git & Mercurial
Enterprise Price $5,000 per 20-user seat pack per year $250 per year $25 / 25 users / month, or $200 / unlimited users / month
Self-hosting Paid Possible but not trivial to set up No
RyanMcDonald commented 9 years ago

GitHub, Launchpad, and Sourceforge

Ryan McDonald and Colin Knowles

fraserd commented 9 years ago

A comparison of Github, Launchpad, and Sourceforge.

Github Launchpad Sourceforge
Cost $ Free for public repositories Free for open source projects Free
Private repositories cost extra $250/year for commercial projects
Supported VCS Git Bazaar CVS, SVN, Bazaar, Git or Mercurial
Code review Per-repository pull requests Public review of pull requests Basic "View color-coded commit diffs" only
Other features Issue tracking, wiki Ubuntu package building, crowd-sourced translations Issue tracking, wiki, discussion forum, Downloads of releases, stats

Fraser DeLisle

RobertLeahy commented 9 years ago
Github Launchpad Gitlab
Price Free for public repos Free for open source Free for community edition
Hosting Provided Provided DIY
Registration/Account Open to public Open to public Private/controlled
VCS Git Bazaar Git
JorinDW commented 9 years ago

GitHub -Integrated issue tracking -Collaborative code review -Easily manage teams within organizations -Text entry -Syntax highlighted code & rendered data. -Mobile and desktop usage -Project Security -tool integration

LaunchPad -Bug tracking -Code hosting using Bazaar -Code reviews -Ubuntu package building and hosting -Translations -Mailing lists -Answer tracking and FAQs -Specification tracking

GoogleCode

Compare and Contrast: GitHub offers the most industry standard set of tools for open source projects. This set of tools definitely has the most robust integration into the users operating system and IDE tools. LaunchPad offers a similar set of tools but they do not offer their own hosting of files. This means that there is a bit of a project security risk because Bazaar and LaunchPad are separate entities. LaunchPad also offers specification tracking which is a useful tool when used on large or complex projects. Google Code is a free and very interactive coding space for anyone's projects. Featuring live group coding, this enables excellent collaboration between developers who want to work as a tightly knit team. There are less features natively with google code, so they provide the ability to add 3rd party plugins.

Jorin Weatherston, and Brandon Leech

mitchellri commented 9 years ago
Github Launchpad Jira
Code Repository Provided Provided Not provided
Issue Tracking Provided Provided Provided
Mobile Application Provided Not provided Provided
Information Visualization Provided Not provided Provided

Code Repository: Github is the only repository in the tools listed, and is known mainly for their repository functionalities.

Issue Tracking: Github provides what seems like 'basic' issue tracking. For out project it does not provide sufficient information, so we switched to projects using Jira. Jira's mainly used for project management and issue tracking so it provides more in depth issue tracking. Launchpad seems to act similarly to Jira, except it provides a chat function for each issue. This may prove more useful in global team projects.

Mobile Application: Both Jira and Github seem to provide well developed mobile applications.

Information Visualization: Along with the repository functionality Github is known for comes with the information visualization. This makes Github much user friendlier and useful. Jira provides visualization too, however not nearly as extensive as Github.

Mitchell Rivett, Tyler Potter

gregnr commented 9 years ago

Parker Atkins, Rabjot Aujla, Greg Richardson, Jordan Heemskerk

Project Management Tools

GitHub

Launchpad

Team Foundation Server (TFS)

Conclusion

GitHub is good for small to medium sized projects. It has become the de facto service used to host open source projects. Its issue tracking is basic, but allows projects to get up and running quickly. Caters more to developers than end users - most projects hosted are libraries or frameworks that can be used by other developers.

Launchpad is best for large open source projects that are catered for end users. Their advanced issue tracking combined with advanced features, like their community translation service, makes Launchpad good for larger projects that need to be scaled up. In addition, if you are interested in targeting the Ubuntu operating system, Launchpad provides easy integration with the Ubuntu package management system.

TFS is used mostly in industry projects. It is a paid solution by Microsoft and integrates nicely with other Microsoft products (ie. Visual Studio). If you are a business looking for a project management system that requires more than just source control (automated builds, testing, reporting) TFS would be a good solution.

KRollans commented 9 years ago

Evan Hildebrandt, Keith Rollans, Jason Syrotuck

Github Launchpad Asana
Bug / Issue Tracking Yes Yes Yes
Code Review Yes Yes No
Code Hosting Yes Yes No
Software Translation No Yes No
Team Management Yes Yes Yes
Recognizes Multiple Programming Languages Yes No No
Mobile Friendly Yes No Yes
Cost Free (with no privacy), up to $200/month Free (non-commercial), $250/year (commercial use) Free (Limited), up to $750/month

Github and Launchpad are both much more code-oriented than Asana. Asana is a more general use tool that focuses more on higher-level organizational aspects of collaboration.

DigitalCoffee commented 9 years ago

Overview

GitHub Launchpad Cloud 9
Code-Review yes yes yes
Open-Source Projects yes yes yes
Private Projects yes no yes
Tool is Open Source? no yes no
Version Control git bazaar Whatever you want!
Issue Tracking yes yes no

GitHub vs. Launchpad

GitHub itself is not open-source, so it is not customizable, unlike Launchpad. Launchpad also has a global bug tracker, whereas GitHub is per fork. Launchpad can also track ideas as "blueprints", which are essentially specs that anyone can create, which an approver can later officially add to the project. GitHub follows more of a simplistic style while Launchpad has more features.

Cloud9

Cloud9 is similar to Google Docs, but for coding. It has its own IDE for coding and a terminal for running commands such as compiling or execution. It is a full Ubuntu workspace in the cloud. It can be used alongside GitHub or Launchpad, or a more free-style, open collaborative effort.

Andrew Hansen and Devin Corrigall

Hoverbear commented 9 years ago

Taiga.io is a project management software that lets us integrate with things like Github, Gitlab, and Bitbucket. It'd be silly to contrast them as they are symbiotic programs. One enhances the other. Github's issues, while sufficient for most purpose, sometimes require some augmentation. This is where the open-source Taiga comes in. It can be used in conjuction with Gitlab to provide a full, on-premise, open source alternative to Jira/TFS etc.