by Larry O'Brien, author. Intel Corp.
Agile processes, exemplified by eXtreme Programming (XP), have captured the imagination of the software development world in the past few years. These processes emphasize small teams collaborating intensely, very short development cycles driven by user-prioritized "user stories" (essential use cases), and an approach to coding that includes writing tests first, doing "the simplest thing that could possibly work," and refactoring. Part of the popularity of agile processes is just the predictable pendulum swing away from more formal processes such as the Rational Unified Process, but agile processes provide real benefits for software teams developing Web services.
Performance Increases
Some developers and managers fear that non-functional requirements such as performance fall by the wayside with agile processes, but experience has shown that agile processes actually can lead to significant performance increases. The trick is simply to ensure that performance, or scalability, or other non-functional requirements are included in the user stories (essential use cases), which are the agile replacement for formal requirements documents. Then, just as with any other requirement in an agile process, add tests to the test suite and never check in code until all tests in the test suite run perfectly. The one area where this can be problematic is scale testing, since your development systems aren't going to have the same capacity as your deployment servers and redlining even a simulated deployment is not a casual project; scale testing is an area where the agile assumption that testing is cheap does not hold and the traditional project management disciplines of risk analysis and mitigation have to be followed.
For most performance issues, though, automated tests can be created easily. The JUnit testing framework, originally developed by Erich Gamma and Kent Beck for Java, has been ported to .NET by Philip Craig.
![]()
![]() | The 64-bit tipping point from Intel Corp. For more than a decade, 64-bit architectures have ... |
![]() | Intel C++ Compiler 8.1 for Windows free evaluation software This product provides tools for Windows software developers to creat... |
![]() | Getting the bubbles out of code: designing for the Itanium 2 processor by Andrew Binstock, principal analyst, Pacific Data Works LLC. Intel C... |
If you're interested in this topic, these articles may be helpful:
![]() | Discovering mobilized software: supporting the Mobilized Software Initiative from Intel Corp. What is the problem? Computer users are increasin... |
![]() | A high-performance architecture for distributed object computing by Douglas C. Schmidt, professor, Vanderbilt University Distributed... |
![]() | Software piracy by Vincent Alder, Fingoo Ltd. Basic software distribution When we ... |
![]() | Developing your site for performance: principles and techniques of cost-effective Web site acceleration, part 1 by Thomas A. Powell, president, PINT Inc., and Joe Lima, director of... |
![]() | Chronicle of malware detected during the first half of 2005 from Panda Software There were no significant epidemics during th... |
![]()
Related Jobs:


