How Schwab Learned to Love Modeling Tools

Utter the words, “modeling” and “reuse” among some developers, and you’ll probably get a response not suited for tender ears. These are code words for trying to manage the often-chaotic process of developing software.

Most efforts to reuse software code over the past 20 years languish in obscurity. Remember CASE, the idea of developing software with models? It’s gone in and out of style more often than bell-bottoms.

Modeling tools make it possible to design software projects visually, defining how different chunks of code fit together and what resources they draw on to function. These tools can identify what pieces of needed code are already available, and which still need to be written. Most modern modeling tools even generate “skeleton” software code, creating a frame within which programmers work. But models by themselves don’t do much to help programmers program—because programmers can’t always color inside the lines drawn by models.

“Two and a half years ago, we were barely using modeling tools,” says Ron Lichty, Charles Schwab’s vice president of Java object services. “We would do models of programs, and then our software architects would notice the gap between our models and code. The code would take off in its own direction.”

That was then. Over the past two years, Lichty’s team has embraced modeling as not just an architect’s tool, but a way to accelerate development of Java applications.

Schwab uses Java to build its Schwab.com Web site, its Active Trader desktop software, wireless trading systems and internal business applications. Over 300 people are involved in Java development at Schwab—and their window on all that software is Together Control Center. This came when Lichty and his team looked at ways to make the gap between its models and code go away. They had a few licenses for Rational Software’s Rose, a general purpose software modeling tool, and for TogetherSoft’s Together J, a modeling tool built for team Java software development.

A key feature of TogetherSoft’s software was its ability to “reverse-engineer” models—scanning source code written by developers, and updating the model for the project to reflect any changes in the structure made in the code. That meant that models could be kept in sync with the code—and models could be created for code that had already been written.

From a developer’s standpoint, says Lichty, “you not only could reverse-engineer the model, but could see changes reflected in real time.” A common modeling tool makes it easier for a developer to move from one project team to another. Documentation is clearer. And developers can confidently reuse other developers’ code. “Good modeling and component reuse are indelibly connected,” says Lichty.

Two reuse projects set up “frameworks” for creating applications for Schwab.com and Schwab’s investment management business, respectively, based on a common set of software code.

A third reuse project, launched July 1, is much larger. It’s creating a “community center” of tools and applications that can be reused. The resources will be tied into the company’s existing systems for managing original source code of Schwab applications, developing new applications and managing the development process. When a component changes, everyone who’s built software that depends on it will be automatically notified by e-mail.

The time required to start new software projects has dropped dramatically, and Lichty’s team handles more projects simultaneously. “We just started work on our 320th project in Java,” says Lichty. “Three years ago, we had 10 projects deployed, and 20 others under way. Today, we have 175 deployed, and another 125 under way, and some of the original projects have been replaced.”

With the markets down (and Schwab’s revenue down with them), that kind of efficiency is even more important. But will that be enough to make modeling second nature to Schwab’s developers? If so, the idea of managing software development may no longer seem quite so contradictory.

Feeling stuck in self-doubt?

Stop trying to fix yourself and start embracing who you are. Join the free 7-day self-discovery challenge and learn how to transform negative emotions into personal growth.

Join Free Now

Picture of Sean Gallagher

Sean Gallagher

TRENDING AROUND THE WEB

If you recognize these 7 signs, you have a better relationship with your children than you think

If you recognize these 7 signs, you have a better relationship with your children than you think

The Blog Herald

People who put down others to feel better about themselves typically have these 10 insecurities

People who put down others to feel better about themselves typically have these 10 insecurities

Global English Editing

6 subtle signs you will be wealthy one day (even if you don’t have much yet)

6 subtle signs you will be wealthy one day (even if you don’t have much yet)

Personal Branding Blog

If you want to be more respected as you get older, say goodbye to these 7 little habits

If you want to be more respected as you get older, say goodbye to these 7 little habits

Small Business Bonfire

Intuition: If you’re not listening, you’re missing the certainty of the universe

Intuition: If you’re not listening, you’re missing the certainty of the universe

The Vessel

If you’re going through challenging times, these 6 habits will make you stronger

If you’re going through challenging times, these 6 habits will make you stronger

Jeanette Brown