Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime. 2010 Making software management tools work for you


Published on

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.

Published in: Technology
  • Be the first to comment

  • Be the first to like this 2010 Making software management tools work for you

  1. 1. Making software management tools work for you<br />John Mertic<br />SugarCRM<br /> 2010<br />
  2. 2. Disclaimer: There are no silver bullets<br />“For every complex problem, there is a solution that is simple, neat, and wrong.”<br />– H. L. Mencken<br />
  3. 3.
  4. 4.
  5. 5. Lots of Choices<br />
  6. 6. Building A Process<br />Having a process makes choosing tools much more effective<br />
  7. 7. How to build a process<br />Evaluate where you are now<br />Address the good and bad of the current way of doing things<br />Make a plan of where you think you should be<br />Starting making strides towards going there<br />Look for tools to support the process<br />Implement the tools<br />Evaluate to see what's working, what's not.<br />
  8. 8. Pieces of Software Project Management<br />
  9. 9. Product Management<br />These are the stakeholders ( or their surrogates )for your project<br />Needs:<br />Need to be able to build out requirements for features ( use cases, screen mockups, etc )<br />Must have a collaborative environment so that these requirements are easy to keep updated<br />Must be kept in the loop on the progress of the project<br />
  10. 10. Development Management<br />Manages the developers working on the project<br />Needs<br />Need to allow multiple developers to work easily together ( version control )<br />Need to keep the codebase under control ( code review )<br />Need to deal with bugs in the project ( issue tracking )<br />Need to be able to track progress of features being developed ( feature tracking )<br />Need to be able to collaborate with Product Management on requirements<br />
  11. 11. Release Management<br />Balances the needs of the stakeholders and the abilities of the developers to make the release successful.<br />Needs<br />Setting timelines for a release.<br />Scheduling feature development iterations<br />Measuring development team velocity<br />Evaluating product needs and decide on what’s in and what’s out<br />Need to provide proper QA for the project ( unit testing, functional testing, manual testing )<br />
  12. 12. Tools should help keep it all open<br />
  13. 13. Picking the tools to use<br />Do pick tools that …<br />… you can get up and running with quickly ( for those new to all of this ).<br />… compliments your process.<br />… are easy for your team to adjust to.<br />Don’t pick tools that ...<br />… attempt to fix a problem that isn’t broken.<br />… that are distracting or too cumbersome for your process.<br />… you and/or your team are not ready for.<br />
  14. 14. For teams new to all of this…<br />Version Control: Subversion, maybe Git/Mercurial/Bazaar/Monotone<br />Issue/Feature Tracking: Spreadsheet ( Excel,Google Docs )<br />Collaboration: Google Docs<br />Communication: IM, IRC, Email, Meetings<br />
  15. 15. After your team is comfortable with using tools…<br />Version Control: Subversion, also consider Git/Mercurial/Bazaar/Monotone.<br />Issue/Feature Tracking: Trac, Mantis, JIRA<br />Collaboration: Google Docs, Wiki <br />Code Review: No formal tools; utilize Peer Review and/or Pair Programming<br />Communication: IM, IRC, Email, Meetings<br />Less big, formal meetings; more smaller “water cooler” meetings<br />Resource Management: Spreadsheet ( Excel, Google Docs )<br />
  16. 16. Tools well refined teams will use…<br />Version Control: Subversion, Git, Mercurial, Bazaar, Monotone<br />Preference towards DVCS<br />Integrated Software Project Management:Trac, Mantis, JIRA, Teamwork, eGroupWare, RedMine<br />Contains functionality for Bug Tracking, Collaboration, and Resource Management<br />Another solution is to build links between the Intermediate level tools to help the workflow<br />Communication: IM, IRC, Email, Meetings<br />Less big, formal meetings; more smaller “water cooler” meetings<br />Sandbox environment for previewing new features.<br />Code Review: Review Board, Crucible, Code Collaborator, etc<br />
  17. 17. Tools well refined teams will use…(cont)<br />QA Automation<br />Functional Testing ( Watir, Selenium )<br />Unit Testing ( jUnit, phpUnit, etc )<br />Continuous Integration: Hudson, CruiseControl<br />Documentation<br />Code Level ( Doxygen )<br />End-user ( Wiki, Word, Google Docs, etc )<br />
  18. 18. Summary<br />Importance of developing a process that works for you, rather make your team work in the process of a tool.<br />One shoe doesn't fit all - what works in one team may not in another.<br />Make small strides in making your team more efficient, not large leaps.<br />Re-evaluate your processes regularly to see if the current tools are meeting your needs.<br />
  19. 19. Questions/Comments?<br />
  20. 20. Thanks for coming!<br />Tell me how you liked this talk…<br />Submit feedback on this talk to<br />Who I am:<br />John Mertic<br />Email:<br />Blog:<br />Twitter: jmertic<br />Who I work for:<br />SugarCRM –<br />