Skip to Main Content
System performance and scalability issues often have their roots in architectural and design choices that are made early in the software life cycle. Because he must communicate with developers, designers, product managers, business stake holders, application domain experts, testers, and requirements engineers, the software architect is uniquely placed to play a leadership role in linking performance requirements to business and engineering needs. Ideally, the architectural, technology, and design choices that are made should take performance requirements and artifacts into account. This means that the architect should be equipped with at least a rudimentary understanding of performance engineering concepts. Ideally, an architect should be directly involved in performance concerns. Failing that, he should overtly give a mandate to and remain in close contact with a performance engineer to do this instead, because close architectural involvement with performance concerns is key to the success of the project.