20
Making software management tools work for you John Mertic SugarCRM Confoo.ca 2010

Confoo.ca 2010 Making software management tools work for you

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? In this talk we'll look at how these tools can fit into any software project, helping you make your team more efficient than before.

Citation preview

Page 1: Confoo.ca 2010  Making software management tools work for you

Making software

management tools work

for youJohn MerticSugarCRMConfoo.ca 2010

Page 2: Confoo.ca 2010  Making software management tools work for you

Disclaimer: There are no silver

bullets

“For every complex

problem, there is a solution

that is simple, neat, and

wrong.”

– H. L. Mencken

Page 3: Confoo.ca 2010  Making software management tools work for you
Page 4: Confoo.ca 2010  Making software management tools work for you
Page 5: Confoo.ca 2010  Making software management tools work for you

Lots of Choices

Page 6: Confoo.ca 2010  Making software management tools work for you

Building A Process

Having a process makes choosing tools much more effective

Page 7: Confoo.ca 2010  Making software management tools work for you

How to build a process

Evaluate where you are now Address the good and bad of the current way of

doing things

Make a plan of where you think you should be

Starting making strides towards going there

Look for tools to support the process

Implement the tools

Evaluate to see what's working, what's not.

Page 8: Confoo.ca 2010  Making software management tools work for you

Release Management

Development Management

Product Management

Pieces of Software Project Management

Page 9: Confoo.ca 2010  Making software management tools work for you

Product Management

These are the stakeholders ( or their surrogates )for your project

Needs: Need to be able to build out requirements for

features ( use cases, screen mockups, etc ) Must have a collaborative environment so that

these requirements are easy to keep updated Must be kept in the loop on the progress of the

project

Page 10: Confoo.ca 2010  Making software management tools work for you

Development Management

Manages the developers working on the project

Needs Need to allow multiple developers to work easily

together ( version control ) Need to keep the codebase under control ( code

review ) Need to deal with bugs in the project ( issue

tracking ) Need to be able to track progress of features being

developed ( feature tracking ) Need to be able to collaborate with Product

Management on requirements

Page 11: Confoo.ca 2010  Making software management tools work for you

Release Management

Balances the needs of the stakeholders and the abilities of the developers to make the release successful.

Needs Setting timelines for a release.

Scheduling feature development iterations Measuring development team velocity

Evaluating product needs and decide on what’s in and what’s out

Need to provide proper QA for the project ( unit testing, functional testing, manual testing )

Page 12: Confoo.ca 2010  Making software management tools work for you

Tools should help keep it all open

Page 13: Confoo.ca 2010  Making software management tools work for you

Picking the tools to use

Do pick tools that … … you can get up and running with quickly ( for

those new to all of this ). … compliments your process. … are easy for your team to adjust to.

Don’t pick tools that ... … attempt to fix a problem that isn’t broken. … that are distracting or too cumbersome for

your process. … you and/or your team are not ready for.

Page 14: Confoo.ca 2010  Making software management tools work for you

For teams new to all of this…

Version Control: Subversion, maybe Git/Mercurial/Bazaar/Monotone

Issue/Feature Tracking: Spreadsheet ( Excel, Google Docs )

Collaboration: Google Docs

Communication: IM, IRC, Email, Meetings

Page 15: Confoo.ca 2010  Making software management tools work for you

After your team is comfortable with using tools…

Version Control: Subversion, also consider Git/Mercurial/Bazaar/Monotone.

Issue/Feature Tracking: Trac, Mantis, JIRA

Collaboration: Google Docs, Wiki

Code Review: No formal tools; utilize Peer Review and/or Pair Programming

Communication: IM, IRC, Email, Meetings Less big, formal meetings; more smaller “water cooler”

meetings

Resource Management: Spreadsheet ( Excel, Google Docs )

Page 16: Confoo.ca 2010  Making software management tools work for you

Tools well refined teams will use…

Version Control: Subversion, Git, Mercurial, Bazaar, Monotone Preference towards DVCS

Integrated Software Project Management: Trac, Mantis, JIRA, Teamwork, eGroupWare, RedMine Contains functionality for Bug Tracking, Collaboration, and

Resource Management Another solution is to build links between the Intermediate

level tools to help the workflow

Communication: IM, IRC, Email, Meetings Less big, formal meetings; more smaller “water cooler”

meetings Sandbox environment for previewing new features.

Code Review: Review Board, Crucible, Code Collaborator, etc

Page 17: Confoo.ca 2010  Making software management tools work for you

Tools well refined teams will use…(cont)

QA Automation Functional Testing ( Watir, Selenium ) Unit Testing ( jUnit, phpUnit, etc )

Continuous Integration: Hudson, CruiseControl

Documentation Code Level ( Doxygen ) End-user ( Wiki, Word, Google Docs, etc )

Page 18: Confoo.ca 2010  Making software management tools work for you

Summary

Importance of developing a process that works for you, rather make your team work in the process of a tool.

One shoe doesn't fit all - what works in one team may not in another.

Make small strides in making your team more efficient, not large leaps.

Re-evaluate your processes regularly to see if the current tools are meeting your needs.

Page 19: Confoo.ca 2010  Making software management tools work for you

Questions/Comments?

Page 20: Confoo.ca 2010  Making software management tools work for you

Thanks for coming!

Tell me how you liked this talk… Submit feedback on this talk to http://joind.in/

1302

Who I am: John Mertic Email: [email protected] Blog: http://jmertic.wordpress.com Twitter: jmertic

Who I work for: SugarCRM – http://www.sugarcrm.com