I am:
Andrew Skalet (snip)
I may be working on this project or a similar one with:
Randell Rivadeneira (Randell.Rivadeneira@Colorado.EDU)
Rizwan Ansary (ansary@Colorado.EDU)
Software development teams face difficult tasks today. Various market and technology factors continue to drive an increase in software system complexity. While object-oriented programming style assists in building complex software systems, it is by no means a panacea.
In reality, each member of a development team on a complex software system only knows about a fraction of the system. In fact, the total coverage of knowledge from all team members may not include all elements of the system. The ignorance of each member places great requirements on collaboration within the team.
Team members must be able to learn on demand, whether from each other or from some knowledge base. In addition, a high premium is placed on communication between team members. These and other related considerations go beyond software engineering. Some recent literature has tried to attack some of these problem, for instance Extreme Programming, which falls somewhere between collaboration and software engineering, and is much more based on empirical observation than scientific analysis.
Goal:
To examine the under-efficient software devleopment process on complex projects and improve team performance through improved collaboration.
Objective:
To understand better how teams working on complex projects, where each team member is ignorant of a majority of the system, can improve their collaboration to better approach new work, bring on new team members, retain knowledge from departed team members, and otherwise maintain the integrity and efficiency of the team.
Means:
Study the effects of specific improvements in the literature, such as wikis, documentation standards, coding standards, structured communication methods, etc.
Specific Challenges:
I have worked in this type of enviroment before, but I do not now, so we will have to make some contacts if we would like to talk to people in industry or examine collaboration in their enviroments.
Relationship to Course:
This project examines an environment in which I believe Collaboration is very highly required, and stressed. Examining Collaboration in a complex engineering enviroment should yield useful techniques for less challenging environments as well as other complex engineering environments.
|