2008 Technical Reports

SU-CSSE-2008-1

Use of Service-Learning Projects in Graduate Software Engineering Curricula (pdf)
Jeff Gilles, Roshanak Roshandel


 

 

2007 Technical Reports

SU-CSSE-2007-1

Designing for Non-Functional Requirements (pdf)
Ward Vuillemot, Wai Wong, David Yager


Abstract: Improving software quality involves reducing the quantity of defects within the final product and identifying the remaining defects as early as possible. In fact, defects found earlier in the development lifecycle cost dramatically less to repair than those found later. However, engineers cannot address non-functional quality requirements such as reliability, security, performance and usability early in the lifecycle using the same tools and processes that they use after coding and at later phases. Approaches such as stress testing for reliability, measuring performance and gauging user response to determine usability are inherently post-integration techniques. Accordingly, defects found with these tools are more disruptive and costly to fix. The goal of this paper is to gain an understanding of where in the development lifecycle companies address non-functional requirements and what methods, if any, they are taking to address these requirements earlier. This research highlights the sporadic industry acceptance of some popular methods for designing for non-functional requirements and suggests some practical approaches that are applicable for companies that also must consider the demands of schedule and cost.

SU-CSSE-2007-2

An Innovative Approach to Managing Distributed Teams (pdf)
Anil Hashia, John Whelan, Ruchi Shewaramani


Abstract: The purpose of this paper is to identify key practices used by open source1 and commercial software2 developers to improve the performance of distributed teams. To meet this objective, we identified major issues affecting distributed teams. After face-to-face and structured telephone interviews with team managers of commercial software companies we established a list of common problems and concerns. We also received input from open source experts regarding the distributed nature of their development. Using surveys, interviews and questionnaires, we compiled a collection of best practices. These best practices should correct common mistakes and typical problems that hinder productivity of distributed teams.