My IIT Login
    Inquire

    Centro's Abillity to Innovate

    The "IIT Way" of Computer Science has helped Chicago company Centro quadruple in growth in 2006, triple in 2007, and get ready to leave competitors in the dust. Here's how its tech team, mostly IITers, is getting it done.

    In the large computer science program at IIT, students learn the field in a specific way. They learn more theory—algorithms, data structure, optimization, operating systems, languages, and other abstractions—than do students at many peer schools. They also get more real-project experience through class projects and Interprofessional Project (IPRO) program collaborations. The result is students and graduates who learn today's programs and environments, as well as how to think critically, reason, innovate, and develop new solutions, with a practical bent for getting things done.

    IIT's Centro Team

    (Left to right) Okji Kim, Doug Meyer, Justin "Gus" Knowlden, Vlad Andrijevik, Alex Rakoczy, Evan Farrar, and Virgil Bistriceanu

    You can see this in action at Centro, a fast-growing, Chicago-based interactive media services company with a technology team—made up primarily of people from IIT—whose innovative tools are creating a clear business advantage.

    Centro's chief technology officer, lead architect and engineer, several software engineers, and other technology people come from IIT. They include CTO Virgil Bistriceanu, an IIT instructor in computer science who has done Ph.D. studies here; Lead Architect and Software Engineer Justin Knowlden, completing his B.S. in CS at IIT; Senior Software Engineer Okji Kim (CS '99, M.S. '03); software engineers Evan Farrar and Doug Meyer, completing their B.S. degrees in CS; Vladimir Andrijevik (MATH and CS '07); and technology interns Nickolay Schwarz and Alex Rakoczy, CS undergraduates.

    Bistriceanu started the team in April 2006. Since then, it has been rapidly producing usable software while supporting Centro's strong customer focus. With Ruby on Rails (RoR) and Extreme Programming (XP), they're developing and delivering a new iteration of their application—a Web-based, database-backed tool that mostly automates, and greatly enhances, the company's formerly manual processes—every two weeks. As new IITers have come on board, their education has helped them to readily adapt to the new language and environment.

    Centro's gross sales more than quadrupled between 2005 and 2006 and were expected to triple again in 2007. The company grew from 20 employees in early 2006 to more than 80 at the end of summer 2007. It now has eight offices, in Chicago, New York, Dallas, San Francisco, Boston, Los Angeles, Cleveland, and Atlanta. In spring 2007, Online Media Daily reported that Centro had jumped onto the "comScore Media Metrix Top 50," a ranking of media services providers, at No. 20 and was reaching 42 percent of the online population. Centro's technology platform serves more than 85 advertising agencies and 300 advertisers (150 in the Fortune 500) and places more than 50 percent of national display advertising on newspaper websites.

    Local online media company

    Centro makes it easier to place national ads on local websites, including the sites of local newspapers, TV and radio stations, and alternative weeklies and other publications. Its growth has paralleled the movement to online ads from offline and greater local targeting.

    "If you want to get deep news about Chicago, you don't go to Yahoo; you go to chicagotribune.com or suntimes.com," says Bistriceanu. "Many advertisers want to reach people who have a very strong affiliation with a local media source."

    Before Centro was founded, planning and buying local media was cumbersome. Agencies found it difficult to pull together information needed, for example, a media plan involving 20 local markets and 100 websites across the country, each with multiple placements; to negotiate the CPMs (cost per thousand) with each site; to issue insertion orders (i.e., media contracts) for each; to make sure the campaign executed properly on each site; and then to do the campaign-related billing. Only lower-quality portals or networks were available.

    When Centro started to serve the market, it initially did all work manually, taking calls from ad agencies and researching and compiling media plans in Excel. When it decided to put more technology muscle behind the process, it hired Bistriceanu. When he came to Centro, Bistriceanu brought along Knowlden, with whom he had worked at MyPoints.com and United Airlines (and whom Bistriceanu calls "a genius"), and three other senior software engineers with backgrounds from schools other than IIT. Together, they came up with the solution for Centro.

    Keeping customer focus

    The solution needed to be scalable for growth, responsive to customer requirements, and have easy user interfaces. The database (they chose PostgreSQL, which Bistriceanu calls "an outstanding example of free software") needed to include information on some 3,000+ local online sites in the United States and internationally, and to be expandable for new ones.

    They chose RoR and XP so they could begin to deliver a percentage of their application almost right away, and continually incorporate customer feedback. "This is not to say that RoR is the cure for all software development problems or that Javabased development can't be fast," says Knowlden. "Basically, RoR and XP complement our team."

    RoR is an open-source Web application framework in the Ruby programming language (Ruby is all object-oriented). Among other things, RoR offers "scaffolding," or code frameworks, to speed up and simplify development of websites with a database.

    XP is a type of agile software engineering framework. Agile promotes customer satisfaction through fast and high-quality cycles of development and delivery of useful software. Developers produce frequent (i.e., every one to four weeks) "iterations," or increments of business functionality. Agile emphasizes test-driven development, working software over heavy documentation, customer collaboration, and responsiveness to change versus following a plan. New requirements are welcomed and continually incorporated.

    This differs from a waterfall model, in which developers do much more upfront planning (say, weeks of planning for a small project and up to many months or years for a large one), complete each requirement before moving forward, return to a requirement mostly to deal with contractual issues, do not welcome new requirements, and write formal documentation that may be obsolete as soon as it gets written.

    XP practitioners say they take best practices in software engineering to "extreme levels." In addition to the characteristics of agile, XP promotes rapid feedback, simplicity (code for today, not for tomorrow or a year from now), and embrace of change; its values include "people over process," respect, and more. (See extremeprogramming. org.) As Knowlden observes, "XP is not just a methodology; it's a lifestyle, a philosophy." Selecting it has helped to form and shape the values of the team from the ground up, he adds: "A quote that parallels quite well to our philosophy on software engineering is one from Mattox Beckman in IIT's CS department, who says,'You should not work for the compiler; the compiler should work for you.'"

    Also in XP, pairs of programmers write production code together. They sit side by side at the computer, taking turns at driving the keyboard. If one programmer gets stuck, the other steps in. "XP is lightweight, as in little overhead, and provides for a more rapid development cycle," says Knowlden. "RoR also is lightweight, and with its set of built-in conventions and tools, it also provides for rapid development. The customer is always involved. There's constant development, constant feedback."

    "Seven gajillion times better"

    "At the beginning of each iteration, we sit down with the customer and go over what we completed in the last iteration," Knowlden says. They then determine the next "story" or "stories," or promised incremental enhancements, and assign each a value of 1, 2, or 3, with 1 being easiest. "On average, we complete about eight points per iteration."

    Major leaps forward in functionality can be made. At iteration No. 4, one customer exclaimed, "It's seven gajillion times better!" The team put the phrase on a T-shirt to celebrate the customer's satisfaction and the team's ability to provoke that kind of reaction. "It's great to have that kind of feedback," says Farrar. (The team is now well past iteration No. 40.)

    Several enhancements are planned and/or under way. "One enhancement would be to allow publishers—the organizations that run the local media sites—to log onto our system and enter details about their site, such as site navigation trees, expected impressions per section of their site, and other information," Knowlden says. Centro would use this information to create better plans for an advertiser or agency.

    "We are working on another system that integrates with publishers to view the real-time impression availability of a site for similar reasons," he adds. Team member Andrijevik is actively performing much of this integration. Still another enhancement will allow clients to go onto the system at any time and monitor the progress of the campaigns Centro is managing for them. Farrar also is building a tool that will allow Centro to monitor live ad campaigns to make sure sites are running the correct creative.

    Although IIT doesn't teach RoR or XP, new IITers have found the system and environment easy to adapt to. "My second day I was here, I got paired up and started developing," says Andrijevik, who started as an intern in January 2007 and was hired in May 2007. "I could see what to do."

    Such quick adoption "definitely has a lot to do with IIT," says Knowlden. "The background received by all the IITers made it possible for them to quickly grasp the concepts of the whys and hows of XP and allowed newcomers to be mentored so efficiently." "We've been very fortunate to find so many high-quality people," says Bistriceanu. "The talent pool is large at IIT. They adapt and adjust—the ones with a passion for software development could adapt to any job. They have a great attitude, a willingness to learn, and the desire to go the extra mile. They're very passionate, very geeky, and they love what they do."


    posted:

    © Illinois Institute of Technology 3300 South Federal Street, Chicago, IL 60616-3793 Tel 312.567.3000
    Undergraduate Admission: 800.448.2329 || Graduate Admission: 312.567.3020