Many software development groups, begin with just a few developers. Usually, neither the development process nor tool set is (or should be) formalized. Eventually, as the development teams grows, a degree of formalization becomes necessary. Source code version control is a good place to start. A basic toolkit will also help. In most cases (except for Winmerge really) there are numerous good alternatives. My experience suggests that a myriad of choices may benefit the experienced but can paralyze teams that are just beginning to mature. In that spirt, here is what I would make sure was in place as step one. I find this a workable set but nothing here should be construed as “the only way.”
This is geared towards a windows shop not a linux shop although the basic tool needs still apply.
Here’s my list.
- Subversion (or Git) for source code management
- Winmerge for comparing files and merging changes. Winmerge is open source but only available on windows.
- A full IDE: Eclipse (Java & Perl) or VisualStudio (.Net) – depending on the programming language.
- Notepad++ – you don’t always need an IDE sometimes you just need a great editor
- Agent Ransack for searching for and through files
- A debugger for your programming language
- A profiler for your programming language