My cellphone’s “sonar” ringer pinged. Seeing the 310 number I didn’t recognize, I answered with my, “Hello this is Brett,” greeting.
The voice on the other end of the line sounded a bit panicked from the get-go, “I saw your site and I think maybe you guys can help me.”
I know that sound only too-well. It’s how a “rescue project” begins. And unfortunately, these calls come in all too often.
The voice continued, “We’ve had 5 different web development agencies work on our app over the past 4 years. But now it takes almost 30 seconds for even the most basic things in our web app. Our online store is totally broken, and we’re losing sales every day. Many of the custom features we’ve been asking for still aren’t working.”
Rescue projects are never easy, because over time as different web or mobile software development companies apply their fixes and different ways of working to a project, its internal architecture gets clouded, database queries grind to a halt, fixes upon patches lead to more bugs, and soon you have an almost intractable situation. Almost.
Don’t throw out the baby
When rescuing a custom application development project, the biggest question people ask is, “Should I just throw it all away and start from scratch?” And surprisingly the answer is almost always, “No way!”
For starters, your existing custom web application has a lot of history that can educate your new team in how and why things were done a certain way. The means and methods for your shiny new app may be different, but more than likely a lot of smart thinking went into what you already have, and that intelligence needs to be carefully extracted.
Custom web applications that need a helping hand are often lacking a simple, central piece that can make a big difference and give you that blast of performance you need.
“Well let’s see what we can do first to stabilize what you have today, and we may be able to employ a few tricks to get you a performance boost that will make your app usable again.” That was my response, and that’s what we did. We were able to put a database query caching system on top of this client’s existing media management software and speed up the social media management platform over 1000x (!)—and it was not a large or costly effort.
Rather than take apart their entire highly custom mobile application, or start from scratch, we treated it a bit like a black box. Sometimes we don’t need to know how it works inside: as long as we can save the results from previous web requests, we can shoot those back out at lightning speed the next time we receive the same request. Large-scale systems all use many layers of this type of caching to boost performance.
Of course the best thing when selecting a software team is to be sure they will apply the most modern technology and best practices to build a software application the right way the first time. So, consider that a poor initial product followed by a rescue project will always be more expensive and time consuming in the long run. But if your web or custom mobile apps are performing poorly, crashing, lack the features you need, don’t panic. The right web or mobile app development agency can get your app back on track.
Tips and Pitfalls
1) Review a team’s prior work. Development teams should be able to show you publicly visible projects, with ratings, reviews. Ideally they will let you sign up, log in, and try the app for yourself, whether mobile, online, or embedded. If your potential new developer says everything they did was secret and they can’t show you, move along!
2) Talk to former customers, and ask the team especially for references on past projects that are similar to yours. At the very least, request customer quotes, refer to public statements, or even LinkedIn recommendations where the team was mentioned.
3) Let the team see your source code, and get them to propose a plan of action. OK, this one is a little scary because your source is your secret sauce. So, put an NDA in place first. Any software development team worth their chops should be willing to take a quick look under the hood, assess the situation and give you an approach.
4) Beware the full rewrite. Many web or mobile development agencies may try to convince you to throw away everything you have and start from scratch. In fact, solo developers often love the chance to build everything and mold it to their own exact way of doing things. It is hardly ever necessary to entirely ditch what you have, unless you’re taking your new app effort in a very different direction.