Upload
john-mertic
View
2.164
Download
2
Tags:
Embed Size (px)
DESCRIPTION
With the advent of such rich open source tools such as Subversion, Git, Trac, CruiseControl, and Review Board, managing software projects of any size has become much easier than ever. But how do you best use these tools in your organization? Picking the tool for you team is not a trivial task, and it requires insight into your team’s size, dynamic, and experience level; these tools are far from one-size-fits-all solutions. In this talk we’ll look at how these tools can fit into any software project and how to pick the right tool for your project, helping you make your team more efficient than before.
Citation preview
Making software
management tools work
for youJohn Mertic ( @jmertic )Partner and Community Developer Liaison at SugarCRM
Provide feedback at http://joind.in/2417
Disclaimer: There are no silver
bullets
“For every complex
problem, there is a solution
that is simple, neat, and
wrong.”
– H. L. Mencken
Source: http://www.flickr.com/photos/eschipul/4160817135
Lots of Choices
Where do you begin?
“A determined soul will do
more with a rusty monkey
wrench than a loafer will
accomplish with all the
tools in a machine shop.”
- Robert Hughes
Source: http://www.flickr.com/photos/ibnuabi/4534690993
Don’t proceed without a process
Source: http://www.flickr.com/photos/lorensztajer/4316396658
Toolbox of Software Project Management
Source: http://www.flickr.com/photos/skistz/398429879
What kinds of tools should be in the toolbox
Version Control
Task Management
Documentation
Testing
Version Control
Keeps track of your codebase
Enables parallel development
What’s you choices Backup files manually ( not a real choice ) CVS Subversion (SVN) Git
Evolution of Version Control
Task Management
Biggest problem for teams in keeping organized
Good task management enables developers and managers to plan
Should support the development methodology you are using
Task Management Tool MatrixBug Trackers
Project Management
web2Project
Redmine
JIRA ( proprietary )
FogBugz ( proprietary )
Bugzilla
Mantis
Github Bug Tracker
Trac
Launchpad
Google Docs / Excel
Source: http://ju-n.net/6-scrum-project-management-tools
Documentation
User facing documentation AND developer documentation
Documentation by nature is painful to write, so make it as much as a part of the development process as possible
Documentation MatrixUsers
Wiki
Inline Help
Docbook
Sphinx
Developers
Wiki
PHPDoc
Doxygen
Testing
Automated Unit Functional or Acceptance Performance
Manual Usability Consistency
The Do’s of Testing Management
DO make automated tests automated with continuous integration
Hudson / Jenkins phpUnderControl / CruiseControl
DO develop a testing strategy that is integrated with build strategy
DO analyze testing coverage But don’t believe automated code coverage
metrics
Testing Tools MatrixUnit Testing
PHPUnit
Whatever JavaScript unit testing framework you like - http://en.wikipedia.org/wiki/List_of_unit_testing_frameworks#Javascript
Functional Testing
Selenium
Watir
SODA - https://github.com/sugarcrm/SODA
Testing Tools Matrix (cont)Performance
Testing
ApacheBench
Jmeter MeterMaid -
https://github.com/sugarcrm/MeterMaid
How to find the tools that can work for you
Evaluate where you are now
Find the problems you have in your current tools
Try out different tools that address the problems you are having
Pick a tool and implement it
Repeat
Thanks for coming!
Tell me how you liked this talk… Submit feedback on this talk to http://joind.in/2417
Contact Info: Email - [email protected] Blog - http://jmertic.wordpress.com Twitter - @jmertic
Who I work for: Partner and Community Developer Liaison at
SugarCRM – http://www.sugarcrm.com We’re hiring! [email protected]