Education & Training
The intended audience of our course on the foundations of performance engineering includes requirements engineers, architects, developers, testers, capacity planners, and their management. Topics include:
Other topics can be included on request.
This course can be taught at various stages of the software lifecycle. It can be taught at the beginning of a software project as a means of ensuring that all stakeholders are on the same page regarding performance concerns. If it is taught later in the project, material from the project itself can be used to illustrate course concepts, thus making them concepts immediately relevant and applicable to stakeholder concerns.
Course duration: three days.
This course covers material on performance metrics and performance requirements drawn from the Foundations course. Its purpose is to give product managers the confidence to devise performance requirements that are quantifiable, verifiable, testable, and consistent, even when the performance needs of target market for a product are not clearly understood at the outset. Product managers who take this course will be able to communicate performance requirements to other stake holders in a form that can be supported by the implementation team and tested. This course will include exercises in performance requirement formulation.
Course Duration: one day
We work with our clients to establish or improve performance processes. These can be part of a standard waterfall or V model software lifecycle, part of an agile process, or a combination of these. We work to ensure that performance requirements are carefully elicited and collected, and that these requirements are reflected in the architecture, design, implementation, and performance test planning.
• Diagnosis and Resolution of
We have considerable experience with diagnosing the causes of performance issues through architecture reviews, understanding information flows, measurement, and the planning and review of performance tests. As a result, we have recommended remedial measures that our clients have successfully implemented.
We work with our clients to ensure maximum leverage of the software and hardware capabilities available to them and to prevent performance issues before a system is built. We evaluate existing and planned information flows and system structure to identify potential bottlenecks and performance anti-patterns. Identifying anti-patterns and concurrent programming issues is crucial, because they can lead to crashes whose cause may be extremely difficult to diagnose in the field or in the test lab.
We have considerable experience of using analytical modeling methods and discrete event simulation to answer performance questions and conduct what-if analyses. We have applied these methods to computer systems, telecommunications systems, call centers, and network management systems, network modeling, and many other areas.
Performance improvements can result from architectural choices that improve reliability. Degradations in performance can indicate the presence of reliability problems.
On request, we can research and provide instruction on special topics in performance engineering according to the client’s needs. These can be related to technologies of interest and to specific domains of application.
We provide performance assessments of systems as part of due diligence exercises. These exercises might take place as part of the process for procuring a software product, or as part of a merger, acquisition, or other form of investment. For example, a venture capital investor may wish to assess the performance of a company’s product or of the company’s performance engineering capabilities, because poor performance is usually a leading risk to the success of the product. Depending on client needs, we assess the ability of a system to meet the client’s performance requirements and the quality of performance engineering activities related to the system, such as workload characterization, performance requirements engineering, architecture, performance testing, and monitoring.
• SUPPORT OF INNOVATION
Some of the solutions we have developed to address our clients’ performance issues have been patentable or publishable. On at least one occasion, our clients have successfully applied for patents on intellectual property after we identified it as being patentable.
• EXPERT WITNESS SERVICES TO EVALUATE PATENTS
AND OTHER INTELLECTUAL PROPERTY
Our founder has been awarded nine U.S. patents, either as the sole inventor or as a co-inventor. This and his research and consulting experience equip him to provide expert services for the evaluation of patents and other intellectual property and to help determine whether infringements have occurred.