Our software development department currently consists of a project manager/chief architect, a few developers, and a DBA (as well as some support/helpdesk staff.) We're looking to expand and formalize the roles/positions of the team members as well as bring on addition members.
What roles do people feel are essential, ie: absolutely necessary, to an successful software development team? Also, which roles aren't necessary but have useful benefits?
We're trying to work out an agile methodology so which roles best fit that process?