1. RRD - Rapid Research
and Development
Fast methodology for
intelligent software design
Dr. Valery Tsourikov
Valery Tsourikov 2012 (c). All rights reserved
2. RRD methodology was born after graduates of
AICreates training course started intelligent
software projects and realized that they had to learn
newest ideas in mathematics, econometrics and
predictive analytics in a very short period of time
Valery Tsourikov 2012 (c). All rights reserved
3. Artificial Intelligence Systems are complex
by nature
A.I. is a very broad area and evolves rapidly
To design good A.I. software developers
must quickly learn a lot of new knowledge
Problem: how to design complex A.I.
software in a short period of time?
Valery Tsourikov 2012 (c). All rights reserved
4. All four activities happen simultaneously:
Learn - Research -Teach -Develop
Each team member is a researcher who can
program, saving time on prototyping phase
Project has two phases: Research-by-Prototyping
and Development
Valery Tsourikov 2012 (c). All rights reserved
5. Intelligent software architect describes the project
and divides new topics among team members
At frequent status meetings, each person teaches others
on his topic and shows current prototypes
Prototypes are coded in high level language, like R
At this phase changes of project requirements are
allowed between meetings after prototypes reviews
Phase 1 ends after the architect approves methods,
structures and algorithms to be used in the software
Valery Tsourikov 2012 (c). All rights reserved
6. Phase 2. Team starts normal design process,
using SCRUM/sprints methodology, for example
Changes of specifications are not allowed
between sprints during Phase 2
Valery Tsourikov 2012 (c). All rights reserved
7. Fast new knowledge acquisition by the group
Research prototype can be created quickly even
if team members are not domain experts
Of course, Phase 1 is pretty intensive, but
people usually love learning new things in
friendly team environment
Valery Tsourikov 2012 (c). All rights reserved
8. Development of A.I. system for dynamic optimization of multi-
spread portfolios for Predictive StatArb trading strategies
Team of five: architect – Ph.D. in A.I., three developers: two
Ph.D. students, one – graduate student
Phase 1 – three weeks. Team quickly learned and prototyped
ensemble-type portfolios with different predictive components.
Languages used: R, C#.
Research-by-Prototyping helped choose the latest methods for
Predictive StatArb. Software will be coded in C++ to deliver
superb performance, including high-frequency version
Valery Tsourikov 2012 (c). All rights reserved
9. Team met twice a week, plus daily reports on Skype
Lessons learned:
RRD methodology greatly accelerates development
of complex A.I. software
R language is very good for prototyping
Saturday meetings were the most productive,
because the team wasn’t disturbed
Enthusiasm of team members is still the most
important factor of success
Valery Tsourikov 2012 (c). All rights reserved
10. Rapid R&D methodology was designed to accelerate
development of complex intelligent software
All team members must be able to do simultaneous
research and development
RRD greatly reduces time-to-market cycle and helps
deliver software based on newest methods
Valery Tsourikov 2012 (c). All rights reserved