Competing design attributes: performance vs maintainability
Q. When in the development process should you consider performance issues?
Set performance requirements in the specifications like 4-5 seconds response time etc, include a performance focus in the analysis and design (e.g. minmise network trips, cache, payload sizes, network bandwidth etc) and also create a performance test environment (e.g. stress volume testing etc).
Q. Is performance more important than other attributes like ease of use, maintainability etc? When designing your new code, what level of importance would you give to the following attributes?
-- Ease of use
You should not compromise on architectural principles for just performance. You should make effort to write architecturally sound programs as opposed to writing only fast programs. If your architecture is sound enough then it would allow your program not only to scale better but also allows it to be optimized for performance if it is not fast enough. If you write applications with poor architecture but performs well for the current requirements, what will happen if the requirements grow and your architecture is not flexible enough to extend and creates a maintenance nightmare where fixing a code in one area would break your code in another area. This will cause your application to be re-written. So you should think about extendibility (i.e. ability to evolve with additional requirements), maintainability, ease of use, performance and scalability (i.e. ability to run in multiple servers or machines) during the design phase. List all possible design alternatives and pick the one which is conducive to sound design architecturally (i.e. scalable, easy to use, maintain and extend) and will allow it to be optimized later if not fast enough. You can build a vertical slice first to validate the above mentioned design attributes.
By T. Hoskins in forum Careers
Last Post: 09-03-2002, 12:21 PM
By Eli in forum Architecture and Design
Last Post: 01-31-2002, 09:34 AM
By Brian in forum authorevents.mitchell
Last Post: 10-17-2000, 04:47 PM
By Cody in forum authorevents.mitchell
Last Post: 10-16-2000, 06:32 PM
By Ronadl in forum VB Classic
Last Post: 09-15-2000, 05:56 AM
Top DevX Stories
Easy Web Services with SQL Server 2005 HTTP Endpoints
JavaOne 2005: Java Platform Roadmap Focuses on Ease of Development, Sun Focuses on the "Free" in F.O.S.S.
Wed Yourself to UML with the Power of Associations
Microsoft to Add AJAX Capabilities to ASP.NET
IBM's Cloudscape Versus MySQL