Teamwork is always challenging. Adding the complication of problem solving and software design only amplifies this challenge. The challenges of developing software as a team can be reduced by using groupware to coordinate and communicate the intricate details involved in the process. The study sets out to determine if in fact there are tools available to assist in the collaborative problem solving and software development process. It must be understood at the outset that problem solving is at the heart of software development. Without amplifying the collaborative problem solving steps required for developing an effective and efficient solution, a much less then accurate solution will result. The paper provides a review of collaborative problem solving techniques and groupware in the software development domain, covering both methodology and technology. There are three areas of focus in the paper: collaborative problem solving and decision making; groupware theory and tools; and group cognition and psychology. The review is followed by analysis of the collaboration models and tools as well as their potential impact on software development. The paper ends with a discussion of future work that will include developing a tool which incorporates a problem solving model and collaborative structures for the software development domain.