<<< Previous speaker Next speaker >>>

Andre Bondi, Siemens Corporate Research, Inc.

 Andre  Bondi André Bondi is a performance engineer in the Software Engineering Department at Siemens Corporate Research, Inc. in Princeton, New Jersey. He recently spent a year on assignment in Munich as the lead performance engineer of team that is using an agile process to develop a system based on a service-oriented architecture. He has worked on performance issues in several domains, including telecommunications, conveyor systems, finance systems, building surveillance, and network management systems. Just 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 and operational issues at AT&T Labs and its predecessor, Bell Labs, in New Jersey. He taught courses in performance, simulation, and operating systems principles at the University of California, Santa Barbara for three years. Dr. Bondi holds a Ph.D. in computer science from Purdue University and an M.Sc. in statistics from University College London.

Presentation: "Experience with Performance Engineering in an Agile Development Process"

Track:   Performance in Modern Enterprise Systems

Time: Tuesday 16:00 - 16:45

Location: SAS Nortvegia

Abstract:

In a classical waterfall development environment, performance problems are often only encountered once functional testing is in progress or close to completion. Many of them have their origins in design and architectural decisions and cannot be resolved by performance tuning alone.

An agile process for developing a system based on a service-oriented architecture provides early opportunities for performance testing of system building blocks and the applications on which they are based with simple and complex use cases. This facilitates the early detection, diagnosis, and correction of performance issues. We describe our experience with such a process. We illustrate how carefully structured performance tests and system measurements can yield plots whose analysis can aid developers in identifying the causes of some performance issues, including issues arising from software bottlenecks and/or faulty concurrent programming. These tests must be structured in the context of performance and scalability requirements specified in terms of sound metrics related to the application domain and in terms of anticipated deployment scenarios. The results of some of these tests have led us to identify thread and process scheduling limitations and pitfalls that can occur in Java and other environments, as well as techniques to overcome them.

Password protected Download slides