My company has makes a product (a software platform) to which we add custom and or off-the-shelf "connectors" that allow it to integrate with existing systems on the customer premises. Setting up the software also includes some mildly to moderately complex configuration tasks.<p>When we win a deal, we schedule development of these connectors, and our field team makes plans to go on site to install the software and connectors, perform the necessary customization, and perform acceptance testing.<p>We're stumbling badly here. We're finding bugs in new connectors, which isn't surprising. But worse, we're fairly consistently finding disconnects between the connectors we build and what the customers really want. There's also a great deal of confusion about who's installing the software and when, and which connectors are needed by which date. Issues aren't always tracked to completion.<p>A big part of the problem is that we're doing everything by email. Someone will send an email with the latest schedule, but they won't include everyone who needs to know. Someone will send out issues lists, but each time they use different terms to describe the same problems and there's no place to track resolution. New requirements are send piecemeal by email. e.g. We'll get an email that says the customer wants us to add X. Shortly afterwards we'll get an email that says they want Y. Later they'll ask use the status of feature Z, which we never heard of.<p>We have a bug tracking system, but it's dreadful. We <i>don't</i> have a project management system where we can see deployment project schedules, action items, and issues.<p>I'm looking at replacing our bug tracking system <i>and</i> coming up with a better way to track our customer deployment projects. For the former, I want something that ties with out Source Code management system (currently svn ... I'm going to look at changing that later) and allows all checkins (bugs, connectors, and features) to be tied to tickets. I'd like it to be easy for our field guys to enter trouble tickets and connector requests and tie them to specific customer projects. I'm looking at Jira and FogBugz right now.<p>I also want a system that makes it easy for non-technical people on the project, who are not interested in spending much time to learn a new tool, to post and update project schedules for customer deployments, and to share requirement documents, the status of action items, and the date(s) of forthcoming customer visits. Basecamp looks pretty awesome for this. I'd also like to make it possible for them to see the status of blocking bugs from our bug tracking system. This is where I'm having some trouble. What system have people used for handling these two problems and two types of users?<p>We're a fairly small company (~50-60 people), and I don't have resources for building a complex system. I just want something to get us out of the email h*ll and that can be extended as we (hopefully) grow.<p>TL;DR: How can I set up a system for a ~50 person company where non-technical account people are able to create and manage customer deployment project schedules, requirements, and actions; and technical people can manage their bug and feature tickets; and where both groups can share the high level information each other needs to be effective.