|
|||||||||||
Case Studies
|
|||
A Focus on “Clear, Clean” Code Updating a successful and widely-used software application is one of the toughest challenges an independent software vendor faces. You need to not only get the product right, but also the process; users do not just expect flawlessly-performing software, they also expect that software be delivered to them in an efficient, painless process. And not lose any existing functionality by accident Jorge Rodriguez, principal at Knowledge Management Associates, Inc., Waltham MA, was all too well aware of these requirements when he wanted to update KMA’s popular Mekko Graphics software. Mekko Graphics offers dozens of business charts and graphs that integrate seamlessly with Microsoft PowerPoint, and is the kind of tactical, high-ROI application that users—in this case, thousands of financial and management consultants worldwide—grow to depend upon, and passionately bond with. Rodriguez knew that any upgrade would not only have to offer users significant improvements over the current version—otherwise, they wouldn’t upgrade—but that the upgrade process itself would have to be executed near-flawlessly, with lots of input from, and testing by, users. Mekko Graphics had originally been written in Visual Basic, and, at the time Rodriguez was pondering the upgrade, the code had already been reworked numerous times. It made sense, therefore, to build the application from scratch on a more modern platform--.NET to be specific. Rodriguez called in Michael Stiefel., principal of Reliable Software, Inc., Brookline, MA, and author of Application Development Using C# and .NET, to serve not just as an architect and developer for the project, working in partnership with KMA’s own development team, but also as a consultant and trainer. Using the Platform to its Fullest Extent Rodriguez selected .NET because it offers an improved development process and allows the creation of more robust, and more easily maintained, applications. Many of these benefits were apparent from the very beginning of the development process, he says. “We could see that it provided a better way of architecting, and a better way of coding and testing. The architecture was much more robust than the old architecture, and the totally-object-oriented design meant that changes were easier to make and propagate.”
Throughout the project, Stiefel worked to ensure that KMA’s
developers were using .NET to its fullest extent. “He participated
in the whole architecturing of the product,” Rodriguez recalls.
“Both from an abstract level and up to the level of how to use
individual .NET features.” In particular, he helped KMA optimize
its use of .NET’s font and multilanguage support, the latter of
which, Rodriguez notes, “had many different aspects and dependencies
that had to be carefully considered.”
Stiefel was also instrumental, Rodriguez says, in developing Mekko
Graphics’ version identification capability—a very important feature
in a “long-life” product with which many users have been creating
their own objects going back as far as ten years. “He helped us
create an environment and infrastructure within the product that
enables us to handle multiple versions,” says Rodriguez. “Mekko
Graphics can now handle objects created with all past versions of
the product AND will also be able accommodate those objects into the
future.” In the end, however, it is not pure technical expertise that counts, in product development, so much as the ability to wed technical expertise to business expertise, and, in particular, an understanding of the client’s business goals for the project. Stiefel, of course, recognized this, and was, according to Rodriguez, able to “balance multiple marketing and technical goals simultaneously.” He adds: “Michael is very perceptive on both technology and business, and is always a good listener. He is very accommodating on why things are the way they are, and not the way we might want them. A lot of techies are not.” Stiefel’s primary contribution, according to Rodriguez, was being, “a good thinker and a good architect who was always pushing us towards the direction of making things clear and clean. We’re always challenging each other, and he challenged us. When you work with him, nothing goes unexamined.” |
|||
All Content (c) 2000 - 2014 Reliable Software, Inc. All rights reserved. |