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.
Making Software Management tools work for you - 2011 PHPBenelux Conference
1. Making software management tools work for you John Mertic ( @jmertic ) Partner and Community Developer Liaison at SugarCRM Provide feedback at http://joind.in/2417
2. 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
4. 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
5. Don’t proceed without a process Source: http://www.flickr.com/photos/lorensztajer/4316396658
6. Toolbox of Software Project Management Source: http://www.flickr.com/photos/skistz/398429879
7. What kinds of tools should be in the toolbox Version Control Task Management Documentation Testing
8. 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
10. 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
13. 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
15. Testing Automated Unit Functional or Acceptance Performance Manual Usability Consistency
16. 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
17. Testing Tools Matrix Unit 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
19. 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
20. 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
Hinweis der Redaktion
Survey the audience, explain you will hit all demographics in one way or another
Software projects are complex beasts, not as straightforward as building a building. Use example of father-in-law’s shed, how they could scope out everything ahead of time.Building a building is more or less a perfected art, while software is still evolving. For example, compare building a building and software 40 years ago versus now.
Lots of choices is because developers first project is to build tools to support their own needs. However, each developer takes a different approach to the problem because their situation is different
Say how the quote almost invalidates the talk. The most mediocre teams will never be great with the best tools money can buy.However, a deeper look at the quote says that having the right tool is better than having the most expensive/most trendy/most used one.
Not having a process will make any implementation of tools unsuccessful. Correlate to how we see this in CRM implementations.
Differentiate between development and management tools. For example Eclipse is a development tool, but Bugzilla is a management tool ( and Git is both ).
Point out where version control fits into management ( tracking development and parallelizing teams ). Talk about how Sugar does it.
Describe the picture.Cool the fires about Git > SVN
Biggest problem for teams is keeping organized. Have lots of requests coming in, need to triage and prioritize them. Need to figure out how much can successfully be accomplished with a given amount of resources. Always make sure your tool agrees with your dev methodology
Differentiate Bug Tracker versus Project ManagementIntroduce the sticky note board
People love good documentation, but teams hate to write it. Lots of focus on tools that make it simple
Testing Is both automated and manual. Both are needed, since manual testing can uncover usability or consistency issues that automated will miss.
Reiterate the importance of your team working being able to accept the tools into their workflow.