I began working at RMM in June 2012 to develop a pipeline for the rapid development of rich media ads. By gradually improving key processes, massive short-term and long-term improvements have been achieved. The adoption of consistent naming conventions and project organization techniques allows scripts and tools to be built around processes, resulting in large speed increases. The use of a modular core library of components and templates reduces the need for redundant work, and the simplification of ad configuration allows features to be more accessable. This empowers all team members to create higher quality work in less time.
A Modular Library of Flexible Components
The benefits of modularity go without saying, but it was an important design goal. We also wanted to hide as much complexity as possible to keep the scripting layer clean, while still allowing for great flexibility in configuration. The use of a wiki to document and provide examples of the available components proved to be extremely useful.
All components must properly report metrics for the advertising platforms we target. The use of a generic wrapper around the event reporting methods allows for greater flexibilty in targeting multiple platforms. Some example components are Video Players, Contact Forms, XML Image Galleries, Buttons, Data Parsers, Particle Systems and Maps.
Scripts and Tools for all stages of production
Because of the volumes we deal with, the development of scripts and tools to speed things up was essential. We have been able to connect our pipeline with the internal processes of other departments for improved communication and further speedups. For example: The act of submitting a new project sets a process in motion that generates the necessary development files, creates an instance in our project management software with the appropriate messages and tasks, and notifies team members.
For use during the development cycle, we have created tools to handle common operations such as putting external assets on a web server, generating client previews, creating and associating new databases, and validating source code. After the completion of a project our archiving process updates the project's status, archives the necessary source files, and moves previews to our portfolio system for easy reference.