182 CHAPTER ◆ 1 9 STAGE 3: Overview
19.6. Outputs/Deliverables
Building a working trading/investment system is essentially a software development
project. The trading/investment logic is encompassed within proprietary software. As a
result, implementation requires blueprints of the software and the connectivity between
and interoperability with disparate software and hardware systems first. These blueprints
will evolve, but must be firm in the end.
Software development without documentation can become a disaster. The develop-
ment team, while agile, must document design alternatives and the rationale for the design
decisions. The development team should write and maintain a rationale and structure doc-
ument, but that document should be brief and to the point and discuss the designs and
rationale at the highest level structures of the system. However, too much documentation
can be worse than too little. Massive documentation takes a great deal of time and even
more time to update as designs change, but if documentation is out of sync with reality it
can significantly misdirect future action.
The ability of a development team to respond to change often determines the suc-
cess or failure of a trading/investment system design and development project. When the
development team builds plans, those plans must be flexible, ready to adapt to changes in
the market and technology. In the end, the development team will deliver their documen-
tation to the product team. The product team will deliver these documents at the Gate 3
meeting. At this meeting management will expect:
● Software requirements specification document.
● Software and hardware architecture documents.
● Proof the system meets the quality attribute requirements as per SAS 70 or ISO 9000.
● Working software and hardware with documentation.
● User documentation.
● Signed user acceptance test report.
● Full probationary trading performance report, including trade selection reports and
results of regression tests versus the gold standard run package results from Stage 2.
(For best practices regarding writing stage deliverables, we refer you to K | V 1.1.)
19.7. Summary
In Stage 3, the product team contracts with a development team to build a running, to-
specification trading/investment system. The agile development team designs and programs
proprietary software, integrates that software with COTS components, and implements it in
a hardware and network environment in order to meet the specifications originally set forth
in the Money Document. All these activities should be planned and documented as the team
encounters the tasks. For high frequency systems, where technology is the competitive advan-
tage, planning, testing, and evaluating alternative designs take on particular importance.
We recommend the use of client-driven and risk-driven iterative development, where
at the completion of each iteration, the development team delivers a working component
of the system. Because the business rules may have been codified and compiled in Stage
2, we recommend the initial iterations build the proprietary business logic components,
follow iterations to integrate these components with external software components, and
create network architecture in the final iterations.