Welcome to the Intel® Software Dispatch Subscription Program

Developing for performance in an agile manner
Agile Software Methodology: Agile processes, exemplified by eXtreme Programming (XP) have a great deal to offer Web services and performance programmers. These processes emphasize small teams, intensive collaboration, very short development cycles, and an approach to coding that includes writing tests first.

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.

If you're interested in this topic, these articles may be helpful:

A high-performance architecture for distributed object computing
by Douglas C. Schmidt, professor, Vanderbilt University Distributed...
Discovering mobilized software: supporting the Mobilized Software Initiative
from Intel Corp. What is the problem? Computer users are increasin...
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...
Software piracy
by Vincent Alder, Fingoo Ltd. Basic software distribution When we ...

Related Jobs:

Senior Systems Analyst #COR00000074 - Ontario - Toronto - Direct Energy
Senior Systems Analyst – COR00000074 Job Description ...
Manager, Database Administration #GS 4029 SD - NC - Charlotte - SunGard
Reference No.: GS 4029 SD Opening Date: May 15, 2007 Job Title: Ma...
Project Lead #2796 - IL - Chicago - aQuantive, Inc.
Project Lead Job ID: 2796 Business Unit: AA | RF Location: US-...
Lead Software Engineer - .net Migration Team - CA - Pleasanton - E-LOAN
E-LOAN is headquartered in Pleasanton, CA. As we continue our expansio...
Project Lead #2645 - IL - Chicago - aQuantive, Inc.
Project Lead Job ID: 2645 Business Unit: AA | RF Location: US-...
Electronic Communications Specialist/Web Developer - DC - Washington - Altarum
Altarum is looking for an Electronic Communications Specialist to maxi...
J2EE Developer #1017 - OH - Westerville - Sogeti USA LLC
J2EE Developer Req. ID: 1017 # Positions: 1 Location: OH-Weste...
Software Developer #PNV-MASharpe - GA - Alpharetta - SunGard
Reference No.: PNV-MASharpe Opening Date: February 19, 2007 Job Ti...
Software Engineer #535783 - CA - Foster City - Visa
Software Engineer Department: CAS,Treasury, Member Information ...
Java Architect #1018 - OH - Westerville - Sogeti USA LLC
Java Architect Req. ID: 1018 # Positions: 1 Location: OH-Weste...