Working Environment
Often I am asked, which is a good software development environment, so I’ll sum up my preferences including some links where things can be found.
If you develop in PHP or Java, I recommend Netbeans from http://www.netbeans.org . It is free, fast, has lots of plugins and everything you need. If you develop Software for Windows, consider buying Visual Studio from Microsoft.
If you work in a team, use Subversion (which is typically part of every Linux distribution – or download it from http://www.collab.net ). Netbeans comes bundled with a subversion client, so you won’t have to deal with this. But for Visual Studio, you need to install the Ankh plugin from http://ankhsvn.open.collab.net/downloads.
If you need Software for Bugtracking and project management, I recommend JIRA and the Greenhopper plugin from http://www.atlassian.com. You then need the Netbeans JIRA plugin or the Atlassian Connector for Visual Studio. I’d further recommend to install the JIRA client (windows software) to integrate it into your development suite.
For developing Java Software that consists of many packages, uses lots of libraries or work in a distributed team, don’t use an ant based project – make it maven based. Then, install your own repository manager on one server (I recommend artifactory) and install hudson for continous build integration. If you include a distributionManagement – part in your maven build file (pom.xml), you can make hudson publish the created artifacts automatically to your repository. There of course exist plugins for integration hudson into Netbeans (to watch and start the builds) and JIRA (which will then show the build status, possible errors and links issues).
Then you of course need documentation for the code. If you are writing Java software, write your javaDoc-code (netbeans will assist you) and if you need really pretty documentation and possible even UML diagrams – use the doxygen plugin and put it in your maven build file.
If you are using Visual Studio, use the XML documentation http://msdn.microsoft.com/en-us/library/b2s063f7.aspx and build it with http://sandcastle.codeplex.com/ – don’t forget to install the ghostdoc plugin which aids you in creating the required sourcecode documentation.