Rrd methodology

10
RRD - Rapid Research and Development Fast methodology for intelligent software design Dr. Valery Tsourikov Valery Tsourikov 2011 (c). All rights reserved

description

 

Transcript of Rrd methodology

Page 1: Rrd methodology

RRD - Rapid Research and Development

Fast methodology forintelligent software design

Dr. Valery Tsourikov

Valery Tsourikov 2011 (c). All rights reserved

Page 2: Rrd methodology

RRD methodology was born after graduates of A.I.Creates 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 2011 (c). All rights reserved

Page 3: Rrd methodology

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 2011 (c). All rights reserved

Page 4: Rrd methodology

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 2011 (c). All rights reserved

Page 5: Rrd methodology

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 2011 (c). All rights reserved

Page 6: Rrd methodology

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 2011 (c). All rights reserved

Page 7: Rrd methodology

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 2011 (c). All rights reserved

Page 8: Rrd methodology

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 2011 (c). All rights reserved

Page 9: Rrd methodology

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 2011 (c). All rights reserved

Page 10: Rrd methodology

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 2011 (c). All rights reserved