Best practices for writing and managing performance requirements: a tutorial

Performance requirements are one of the main drivers of architectural decisions. Because many performance problems have their roots in architectural decisions, and since poor performance is a principal cause of software project risk, it is essential that performance requirements be developed early in the software lifecycle, and that they be clearly formulated. In this tutorial, we shall look at criteria for high-quality performance requirements, including algebraic consistency, measurability, testability, and linkage to business and engineering needs. While focus of this tutorial is on practice, we shall show how the drafting of performance requirements can be aided by performance modeling. We shall show methods for presenting and managing performance requirements that will improve their chances of being accepted by architects, developers, testers, contract negotiators, and purchasers; and of their being successfully implemented and tested.

[1]  H. König,et al.  Anforderungsdefinition und -spezifikation für PAC-Systeme (Picture Archiving and Communications System) Ein Leistungsverzeichnis in Anlehnung an den Standard„IEEE Recommended Practice for Software Requirements Specifications” , 1999, Der Radiologe.

[2]  S. Mohan,et al.  Performance Solutions: A Practical Guide to Creating Responsive, Scalable Software [Book Review] , 2003, IEEE Software.

[3]  R. F. Rey,et al.  Engineering and Operations in the Bell System , 1983 .

[4]  Leonard J. Bass,et al.  Risk Themes Discovered through Architecture Evaluations , 2007, 2007 Working IEEE/IFIP Conference on Software Architecture (WICSA'07).

[5]  Noah Webster,et al.  Webster's ninth new collegiate dictionary , 2012 .

[6]  Connie U. Smith,et al.  Performance solutions: a practical guide to creating responsive , 2001 .

[7]  Peter J. Denning,et al.  Operating Systems Theory , 1973 .

[8]  Robert B. Cooper,et al.  An Introduction To Queueing Theory , 2016 .

[9]  David J. Lilja,et al.  Measuring computer performance : A practitioner's guide , 2000 .

[10]  Brian A. Nixon,et al.  Managing performance requirements for information systems , 1998, WOSP '98.

[11]  Laurie A. Williams,et al.  On agile performance requirements specification and testing , 2006, AGILE 2006 (AGILE'06).

[12]  Andre B. Bondi,et al.  Characteristics of scalability and their impact on performance , 2000, WOSP '00.

[13]  R. R. P. Jackson Introduction to Queueing Theory , 1943 .