DeCare Systems Ireland
HOME | ABOUT US | OUR SERVICES | AMAZON INTEGRATION | CLIENTS | NEWS | DSI BLOG | CONTACT US
 
Consultancy
Software Development












 

DSI's Development Process Differentiators


Continuous Performance Management

Poorly performing software applications are an all too common occurrence. The reasons for badly performing code can by many and varied, but they nearly all have their root cause in insufficient attention being paid to performance management, not just during the production phase of an application’s lifecycle, but also during development. DSI as an innovative and dedicated software development partner, has long recognized the scant attention paid to this most necessary of tasks. We have dedicated a significant amount of resources to the area of Continuous Performance Management and have developed a specialized competency in this area. We have built up an array of the most appropriate tooling and processes to achieve the maximum benefit for our clients. This focus is in keeping with DSI’s priority of ensuring all the software we develop is done so to the highest quality.

Not alone have DSI implemented a strict program following best practice in the area, but we have been to the forefront in working with the industry’s leading practitioners in developing the tooling and techniques to ensure all our software performs to the optimal level. DSI has lead the way in identifying the disparity between existing development practices and the need to have thorough analysis of application performance throughout development. We have invested in the research and developments required, and as a result have developed the Continuous Performance Management (CPM) Toolkit, a tool used by the entire development team to analyse and monitor the performance profile of Java applications under development, and supporting intervention at the earliest possible stage to correct any measurable performance defects detected.


The CPM Toolkit

The CPM Toolkit is an innovative implementation of the ideas put forward in a variety of discussion papers, most noticeably as laid out in Quest Software’s series of white-papers on continuous performance management. The implementation of this practice by developing and using the CPM Toolkit is a clear indication of the manner in which DSI has prioritised this aspect of software development. It clearly emphasizes DSI’s dedication to delivering the highest quality solutions possible. The CPM Toolkit automates the collection of code performance, code coverage and heap usage data, enabling users to focus effort in tracing measurable code defects and reduce time spent preventing premature optimisation. It provides project management level visibility across a spectrum of development projects, ensuring that those in senior positions are constantly being informed of changes in the performance profile of their applications.

The Basic Concept

The basic concept behind the CPM Toolkit, and its implementation within DSI, is to minimize the Mean Time To Resolution (MTTR) of performance problems brought about during the development phase. Through DSI’s research of development practices we have identified the MTTR as the average time it takes to identify, replicate, isolate and fix an issue and then release into test the appropriate resolution. Reducing the frequency and time spent on the above steps has the effect of reducing costs, both in terms of user perception and monetary value. The directly incurred costs of performance improvements can be relatively minor when compared to the loss in reputation and customer loyalty. DSI’s focus on continuous performance management is dedicated to reducing both the direct and indirect costs of such performance problems.

The CPM Toolkit management tool is integrated into our standard build process. At build time, using the unit tests the Toolkit generates a series of tasks and executes each unit test through its code performance, code coverage and heap usage analysis engines. The data is collected, merged and analysed for performance deviations. Notifications are sent out to team members for further action if a deviation is observed by the system. The CPM Toolkit’s management dashboard can also be shared with our customers. This is symptomatic of our approach – by building a close relationship and sharing information with our clients we provide them with a constant insight into their solutions, and involve them from the earliest stages. This key differential provides them with the level of knowledge and comfort that will facilitate straightforward management of their applications, as the seamless process of development through to post production support is created.

The CPM Toolkit enables users to generate an execution profile of a Java application under development. This profile is derived from the performance related data collected through the execution of unit tests at routine points during the development lifecycle. By applying statistical analysis to this execution profile, performance trending can be observed, allowing for easy identification of the origin points of significant deviations in code performance or heap usage. These performance profiles can then be translated into the production environments, ensuring the applications are at minimum reaching all expectations. In the event of any performance issues being detected, a full trace back to the development environment is available.

Built into DSI's Continuous Integration environment

The CPM Toolkit is an invaluable component of our Continuous Integration (CI) environment, and incorporates cost effective performance management early in the development lifecycle. The management level visibility it provides enables our project managers to closely monitor all the development projects under development. This is an effective implementation of a “find early, fix early” practice for cost effective performance problem resolution.

 
   

 

 

 

 
Privacy Policy | Site Map