The departments of Computer Science and Electrical and Computer Engineering at North Carolina State University will benefit from a $25,000 research grant from IBM. The grant is in support of IBM's new collaboration platform called "Jazz," which the company hopes will allow multiple programmers to work closely with one another on projects without being in the same location.
NC State is one of five universities from the United States, Canada and Germany selected to receive grants for the Jazz project. At NC State, the grant will support research to enhance the Jazz platform to include distributed pair programming between members of a team. As a part of the project, NC State will also develop an educational environment that is more representative of the collaborative environment found in many sectors of the IT industry today.
Currently the majority of pair programming is done by programmers working physically next to each other. The Jazz platform will allow programmers to collaborate virtually over long distances. The platform takes its name from the idea that multiple programmers working together on a project are like a group of musicians playing together in a band.
The decision to invest in more collaborative education for software programmers comes at a time when it has become popular for programmers to work together on projects. This trend is a dramatic shift away from the early days of the software industry when software development tools were designed to help make individual programmers more productive. In the industry today, collaboration produces higher quality software and reduces the risk associated with a single programmer taking all the information about a project if that person leaves the company. In addition, many programmers simply prefer to work alongside others rather than working alone.
Dr. Laurie Williams, associate professor of computer science, and Dr. Michael Devetsikiotis, professor of electrical and computer engineering, are collaborating on the project.
"Most programmers enjoy pair programming over working alone," Williams said. "What we are doing with the IBM grant is providing support for two programmers to do pair programming even if they are not physically next to each other but collaborating over the Internet. The two can speak to each other using a Voice-over-IP tool, and they can both see the same thing on the screen and actually work together on one copy of the code. So, the two can collaborate on code development even though they are not near each other."
Williams said collaborative software development is a great way to keep many young people interested in computer science. She said that people born after 1982 are more likely to prefer working with a group over working alone, and that many students appreciate the ability to work virtually.
"Students want to leave their dorms or apartments less and less to come to our labs to work. The distributed pair programming support we will develop will allow two students to collaborate on a programming project in the comfort of their own homes," Williams said.