|
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.
|