The Price of Failure
Wintellect's Robbins prefers to focus developers' minds by reminding them of the costs of failure to get it right. When working with clients looking to transition to .Net, Robbins says he insists again and again that this is their one chance to do it right - they just cannot afford to fail.
"Every company we go into complains about the poor architectures of their legacy applications. For a CIO, nothing is worse than trading one set of difficult-to-maintain and extend applications for a whole new set that's in a new technology."
Robbins says he has seen numerous server applications where the architecture could almost be an exact copy of a client application. For example, he says, in most client applications, you are working in a state environment where you can easily access and keep the state of the single user's interaction in the user interface. (The state refers to selected items, text entered, and so on). When developers apply this legacy thinking to a server application, hauling the state around the network produces huge bottlenecks.
"In some cases where we have done performance tuning on server applications, there is no physical way we can get any acceptable performance out of the application other than re-architecting key portions of the application," Robbins says. "The costs to some of our clients have been huge because they have already spent months on development, and now have to start key areas from scratch. This adds a lot of time and, more importantly, makes the application much harder to extend in the future.
Robbins agrees such problems can be solved by education, but warns that that imperative too often comes up against another legacy mind-set: the notion that a developer can learn all about the new way of development all on his or her own. The developer will often try to learn on the job, he says, when designing and developing the company's spiffy new server applications.
Small wonder many of those new applications written in new environments for the company are designed on a foundation of quicksand, Robbins says. The company has decided to get rid of the legacy applications that are costing them an arm and a leg to maintain, and trade up to a brand new application that will have many of the same problems, but on a worse scale.
"When we work with companies that are starting to make the move to .Net, I scream at them: 'This is your one and only chance to get your architecture right!' They are going to be living with these architectures for the next 15 to 20 years. Unfortunately, not all companies get it."
Most developers are well aware they lack the skills and desperately want training and help to maximize these new development environments. Front line managers also see the advantage of education. Unfortunately, Robbins says, upper management rarely does. For some reason, an unfortunately high number of upper managers take a very short-term view and feel developer education or mentoring is something they can live without.
"Upper management needs to understand that software development is the most rapidly changing piece of their business," he says. "If anything, the treadmill of change is speeding up with each passing year. Legacy thinking is going to cost the company greatly. What's even worse is that the company may even miss excellent opportunities because their developers didn't have the background to take advantage of them."
One of Robbins's clients, an insurance company, made a major commitment to .Net, but before the developers designed anything, they ran everyone through classes on what .Net was all about and how to take advantage of it. Robbins immediately knew they would be in fantastic shape for the future. By contrast, some of his other clients come to Robbins only after they have experienced serious problems (including, for some, losing one million dollars a day). In these cases, a small investment in good training would have paid for itself many times over, Robbins says, and the duct tape and spit might have been spared too.
Join the CIO Australia group on LinkedIn. The group is open to CIOs, IT Directors, COOs, CTOs and senior IT managers.