Quality Money Management : Process Engineering and Best Practices for Systematic Trading and Investment

(Michael S) #1

214 CHAPTER ◆ 2 3 Check Performance and Probationary Trade


● Documented the rationale for design decisions.
● Planned and conducted unit, integration, and system tests.
● Documented test results and followed issue resolution procedures.

The product team members now expand their roles to oversee their respective areas of
expertise. Each product team member is now in charge of testing the trading/investment
system, that is, they are the domain experts/managers for quality assurance in their own
area. The financial engineers manage quality assurance of business tier software. The
traders from the product team perform quality assurance of the GUI, integration control
and reports, as well as run user-acceptance tests. The marketing person from the product
team can write and/or review the user documentation for the system. At the completion
of Stage 3, however, the whole product team is nevertheless accountable for the success of
the entire system.

23.1. Quality Assurance


Quality assurance (QA) by the product team should prove that development processes are
being performed properly, and that the software and hardware products will satisfy speci-
fications and quality attribute requirements. To this end, the product team should monitor
the development team ’ s processes for conformance to plans and product for conformance
to specifications. The main objective of QA after each loop is to ensure that the product is
ready to proceed with the next phase of development.
Periodic audits, that is, at the end of each iteration, are a key technique used to opera-
tionalize QA. The product team should plan these audits in advance to be systematic. The
first products audited should be the development team ’ s iteration plans and documenta-
tion, and a comparison of the actual steps carried out with those in the documented plans.
One purpose of an audit is to verify that the development team ’ s status reports accurately
reflect the status of development. QA reviews plans and provides a mechanism for follow-
up on nonconformities.
QA assures that the development team performs formal software testing, such as unit,
integration, and system testing, in accordance with plans and procedures. The documen-
tation review includes test plans, test specifications, test procedures, and test reports.
Furthermore, good QA monitors code reviews, inspections, and walkthroughs. In this role,
the product team oversees, participates in as needed, and verifies that the development team
conducts and documents code reviews properly. In summary, QA encompasses any and
all audits and tests necessary to provide adequate confidence that the trading/investment
system will perform satisfactorily in service, including auditing design development and
testing processes. The ultimate goal of QA is to ensure a trading/investment system will
pass an SAS 70 audit.
This includes auditing activities of the development team from planning to design, to
building software and hardware, including documentation of:

● Release plans.
● Iteration plans and timebox schedules.
● Buy versus build decisions.
● Processes for benchmarking designs and evaluations.
● Status of all deliverable items.
Free download pdf