- This event has passed.
Integrating Software and Systems Performance Engineering Processes into Software Development Processes
August 4, 2015 @ 12:00 am - 1:00 pm EDT
What You’ll Learn:
Performance is a significant factor in the success of any software product or system. Therefore, it also poses a significant risk to the product’s success and its ability to meet functional needs. A great deal of the effort in performance evaluation and capacity planning occurs after a system has been placed in production. By that time, it is often too late to remedy disabling performance problems. Early attention to performance concerns and early planning of performance requirements and performance testing are needed to prevent debacles like the early rollout of healthcare.gov. In this talk, we shall discuss how performance engineering may be integrated into all phases of the software lifecycle, from the conception of a system to requirements specification, architecture, testing, and finally to deployment. By specifying performance requirements and linking them to functional requirements before the architecture of a system is planned, we establish a performance baseline that an architecture should meet that is justified by the nature of the services the system is supposed to provide and the capacity it is supposed to serve. By reviewing the architecture of a system before design and implementation take place, we reduce the risk of designing and developing a system that contains inherent performance vice. At this stage performance modeling can be used to justify architectural and scheduling decisions such as the use of scheduling rules. The outputs of performance tests planned with reference to performance models enable us able to identify concurrent programming issues and other issues that would not be apparent in unit testing. The use of performance models also enables us to plan performance tests with reference to the performance requirements.
These performance engineering methods have been used in waterfall and agile processes. In the case of a service-oriented architecture, timely performance tests prevented the delivery of a service with poor performance characteristics and ensured its replacement was healthy from a performance standpoint. They have also been used to ensure that efforts to improve system performance were carefully targeted and based on informed analysis of measurement data and a clear, unambiguous specification of the performance requirements.
About the Author:
André B. Bondi,
Siemens Corp., Corporate Technology US
André Bondi is a Senior Staff Engineer working in software and systems performance engineering at Siemens Corp., Corporate Technologies in Princeton. His book on performance engineering, Foundations of Software and Systems Performance Engineering: Process, Performance Modeling, Requirements, Testing, Scalability, and Practice was published by Addison-Wesley in August 2014.
Dr. Bondi has worked on performance issues in many domains of application, including telecommunications, conveyor systems, financial systems, medical systems, railway control, building surveillance and management, and network management. He has developed and taught corporate training courses on performance requirements and performance engineering. Immediately to prior to joining Siemens, he held senior performance positions at two startup companies. Before that, he spent more than ten years working on a variety of performance, standards, and operational issues at AT&T Labs and its predecessor, Bell Labs. He taught courses in performance, simulation, operating systems principles, and computer architecture at the University of California, Santa Barbara for three years. Dr. Bondi holds a Ph.D. and an M.S. in computer science from Purdue University, an M.Sc. in statistics from University College London, and a B.Sc. in mathematics from the University of Exeter. He holds nine US patents.