Making Software Management tools work for you - 2011 PHPBenelux Conference

Post on 12-Dec-2014

2.164 views 2 download

Tags:

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.

Transcript of Making Software Management tools work for you - 2011 PHPBenelux Conference

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 - jmertic@php.net 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! jmertic@sugarcrm.com