181
regression testing to ensure that errors are detected and fixed. Our methodology assumes
that regression testing is built from the successful white, gray, and black box test cases
used during testing of prototypes (K | V 1.4).
While we have devoted only one loop to this section, we fully expect and advocate
that the tasks be broken down into several iterations using an agile framework. In the end,
the goal is to create a stable, fast running code that correctly implements the business
logic. In this stage the development team performs unit tests on all software components.
19.4. LOOP 2: Build and Test Interfaces
STEP 1: Document Interface Requirements
STEP 2: Design Interface Packages
STEP 3: Program Interface Packages
STEP 4: Test Interfaces
Loop 2 integrates the trading/investment algorithms (i.e., the business logic tier) with
external software components and the user interfaces. Most of these external software
components have been purchased from vendors in Stage 2 and the product team is respon-
sible for ensuring that COTS products conform to the specified requirements. External
components include databases, potentially an optimization engine, and execution, risk,
and accounting software. Integration into the existing technological environment should
already be well understood; the data dictionary, data maps, and data flow maps created in
Stage 2 should facilitate the integration process.
For integration with external components, the development team will also design, code,
and test exception handling mechanisms in this step, including recovery procedures in the
event of external errors. Where recovery is possible, the trading/investment system should
be put into a fail-safe mode (such a mode of operation may reduce response times, but
service only good elements of the system). This offers a sort of graceful shutdown, or fault
tolerant operation, where full and safe performance is maintained in the presence of faults.
Trading/investment systems that use real-time data and/or automate execution must be
planned and built with safety in mind, concerned with the consequences of failure. Fail-
safe systems make no effort to meet normal operational requirements. Instead they aim to
limit the danger or damage caused by fault.
19.5. LOOP 3: Create Network Architecture
STEP 1: Document Hardware and Network Requirements
STEP 2: Design Network Architecture
STEP 3: Buy/Build Network Infrastructure Components
STEP 4: Perform Acceptance Test
Loop 3 assembles and connects the hardware and network components that will house the
trading/investment system. Now, hardware changes quickly. In fact, computer processing
power doubles every 18 months, according to Moore ’ s law. Given that trading/investment
system development may take several months to complete, hardware available in Stage
1, or even in Loop 1 of this stage, may be outdated by the time development is complete.
For this reason, hardware development should come last.
19.5. LOOP 3: CREATE NETWORK ARCHITECTURE