Building Amazing Custom Software With A Shovel
Tackling a big software development project is like tackling a big landscaping job — you have to decide whether to sketch it out and hand it off or to work with a custom software developer who will help you interpret your vision and bring it to life.
Many times, consultant-developers are the best choice to create custom software to support your bold idea. More than just programmers or web designers, they are passionate about advancing your vision and bringing it to life with innovative technology.
To illustrate, let’s wander back to a sunny summer day in Ohio…
My neighbor Carl wanted to upgrade the landscaping in the front of his home. He and his wife snipped magazine photos they found appealing, had worked out a good vision of what they wanted, and were prepared to invest in the plants and trees to move ahead with a transformation. Carl chose not to hire a landscape architect. Instead, they spent a few long afternoons in local nurseries and had their new items delivered. Knowing that this project was extensive, he hired the guy who already cuts his grass to plant everything. He had the tools and inexpensive help to make this project take flight for less. On Tuesday morning, he and his wife handed the lawn care guy their magazine clippings and left for work.
When Carl returned home, he wasn’t happy at all. Although everything was planted and his guy had clearly worked hard – the results weren’t what he had hoped for, but he couldn’t put his finger on it. Maybe there were gaps between some of the plants? Maybe the colors weren’t distributed evenly? While all the plantings were technically OK, the whole thing just didn’t look right. Now Carl was facing the looming question – should he rip it all out and start over with a landscape artist or just live with it?
Where Did It Go Wrong?
I am sure that the grass cutter tried to do his best work. I imagine things happened that complicated the build and lacking experience and a deep understanding of Carl’s vision, he struggled to achieve a the look that Carl was hoping for. He may have had to work around a sprinkler head or a rock or an old stump. With limited tools, experience, he had to improvise. And he made decisions based on his limited understanding of what Carl was trying to achieve. He didn’t have enough information to make it perfect, so he made it good enough.
The Technology Angle
Designing and building a custom software application can turn out the same way as Carl’s landscaping project. I have seen organizations draw up screens and ship them off-shore to be programmed for a low price. Software development has become a bit of a commodity – like digging a hole. The art of a customer software application can only come to life when the group can articulate their vision of the system and what benefits will come from it. The back-and-forth of visioning, designing, and coding by the visionaries, designers, and coders needs to be wrapped in a shared understanding of the answer to a single question:
“What will make this software great?”
There are a number of ways to build custom software to support your business goals, and many of them will eventually result in a “working system”. But using professional consultant-developers will avoid the long-term disappointment that stems from fatal flaws such as security exposure, poor performance, painful maintenance, or a frustrating user experience. Just as you wouldn’t expect the guy who mows your grass to develop a first-class landscape project, you shouldn’t expect anyone but experienced consultant-developers to create custom software that delivers on your vision.