November 7, 2012 — When trading opened on September 3, 2012, Grupo Bolsa Mexican de Valores (BMV, the Mexican Stock Exchange) took its place among the world's fastest, most technologically advanced stock exchanges. Now able to process an astounding 200,000 transactions per second—and a single transaction in less than 100 microseconds—the BMV trading platform can claim favorable comparison to Nasdaq OMX, NYSE Euronext, and other prominent international bourses. And BMV got there with the help of the Software Engineering Institute (SEI).
"We knew before we built the system we had to make sure we had a bullet-proof software architecture," said Enrique Ibarra Anaya, senior vice president, technology, at Bursatec, BMV's technology subsidiary. "Then we had to make sure our development methods helped us build a system with the properties defined in that architecture. The SEI was instrumental in these areas."
Bursatec first approached the SEI in 2009. BMV needed a new engine that could not only handle stock transactions, but incorporate trading of other financial instruments, such as options and futures. The project had aggressive goals for performance and delivery. What's more, because it serves as the face of Mexico's financial markets to the world, the new trading engine needed to function flawlessly. Building a system of this scale and importance demanded effective architecture, development, and management processes.
"The evaluation and design of software architectures is one of the SEI's clear strengths," said Ibarra, explaining how Bursatec came to enlist the SEI's help on the project. He also cited his professional experience with the SEI's work in the areas of security and software engineering process as factors in Bursatec's decision to involve the SEI.
To answer the challenges presented by this project, the SEI applied a blend of its Architecture-Centric Engineering (ACE) and Team Software Process (TSP) technologies. The SEI created TSP to build high-performance teams that plan, manage, and own their commitments; produce quality products at lower cost; and achieve their best performance. ACE is the discipline of using architecture as the focal point for performing ongoing analyses to gain increasing levels of confidence that systems will support an organization's business goals.
"We knew before we built the system we had to make sure we had a bullet-proof software architecture. Then we had to make sure our development methods helped us build a system with the properties defined in that architecture. The SEI was instrumental in these areas." -- Enrique Ibarra Anaya, senior vice president, technology, at Bursatec, BMV's technology subsidiary
The combination of these two technologies was first articulated by the late Watts Humphrey, founder of the SEI's Software Process Program and holder of the 2003 National Medal of Technology, and Linda Northrop, current director of the SEI's Research, Technology, and System Solutions (RTSS) Program. Their aim was to create a development environment in which teams can successfully build large, high-quality systems on time and within budget. In other words, the vision of Humphrey and Northrop for a TSP-ACE blend was a perfect fit for the development project Bursatec was standing up.
BMV's directive to Bursatec was to replace its existing trading engines for stocks, derivatives, and futures with a single system, developed in house, capable of handling all three types of trades. The system needed to be fast, it needed to withstand spikes in volume, and it needed to work without error.
"Because of the requirement for high performance and extremely low tolerance for error, we suggested using TSP to launch an architecture team and manage the process of developing an architecture as well as the actual system code," said Greg Such, SEI business manager.
Jim McHale, TSP coach for the project, added that "TSP helped the Bursatec teams and individuals manage their development work. ACE methods defined the work to be done."
To help Bursatec develop an architecture, the SEI ACE team coached Bursatec developers. On a two-week rotating schedule, the SEI team spent two days with Bursatec, the first looking back and assessing the current state, the second looking forward to plan the next two weeks of architecture activities. The approach helped the Bursatec team deliver an iteration of the architecture every two weeks.
Ibarra noted that the process of adopting and institutionalizing these methods was well received. "Our engineers were enthusiastic about learning these methods," he said. "They welcomed the opportunity to learn them directly from the SEI. And incorporating the methods into our own work methodology was not hard." Ibarra Anaya said that the SEI's involvement in this phase of the project was key. It allowed his Bursatec development team to correctly apply the SEI's methods.
The SEI's Felix Bachman, who served as ACE team lead for the project, noted that the combination of TSP and ACE methods "provided the means and language to communicate with management about what they need the system to do, what the state of the design was, and what the design team could do to improve it." The architecture coaching coupled with the discipline of TSP helped Bursatec build a competent architecture team that produced excellent results: the team hits its milestones and the project finished on time; early performance tests and other quality measures indicated reliability and quality goals were met along the way; no known defects carried into the final development cycle; and system performance goals were met.
"We are very happy with the results," said Ibarra. "Because we are Mexico's only stock exchange, we're essentially a national utility. We could not bring the market down during this process. So, one of our key success indicators was zero disruption of service. We met this key indicator." Ibarra attributed this result to focusing a lot of attention on quality early in the software development process—a fundamental principle of SEI methodology. "And that paid off," he added.
To learn more about Architecture-Centric Engineering (ACE), please visit http://www.sei.cmu.edu/about/organization/rtss/ace.cfm.
To learn more about the Team Software Process (TSP), please visit http://www.sei.cmu.edu/tsp/index.cfm.
For more information
Please tell us what you
think with this short
(< 5 minute) survey.