search menu icon-carat-right cmu-wordmark

Is Your Project in Trouble on System Performance?

May 2017 Presentation
Charles Chow (Deloitte Consulting)

Why do so many projects have system performance issues at a later stage of implementation? Are projects with severe performance issues salvageable?


Software Engineering Institute




Performance is a critical architecture quality attribute, and it is a nonfunctional requirement that is used as an acceptance criterion for almost every project and system. Performance impacts usability and the user adoption rate after the system goes live. But performance issues usually arise during the later phases of a project or during system implementation. The probable cause is a lack of nonfunctional requirements on performance at an early stage of the architectural design. This presentation will show how to salvage a troubled project with performance issues by focusing on performance and storage tradeoffs and using the Architecture Analysis Tradeoff Method (ATAM). I will share a specific tailored solution to move data aggregation and sorting from a backend database to Solr or Elasticsearch as an indexing service so that data aggregation and sorting can be indexed ahead of time and accessed over http through query parameters. I will also discuss performance concerns from end to end in systems that deal with heavy data aggregation and sorting using real-world implementation examples. By the end of this session, you will have some strategies to address performance concerns and turn around a troubled project in a short period of time.