Sometimes there are great benefits to create your own development tools. Other times, it makes more sense to use tools that already exist. Choosing the best route can save you time, money and a lot of headaches. Here are a few tips that can help you decide whether to create your own tools or use a 3rd-party program.
About a year ago, I was coding an email for a client. This wasn’t a simple, text-based email. It was a complex HTML email full of pictures and buttons and different styles. These emails take a notoriously long time to code and even longer to test, to make sure that they render properly in all the different email programs.
I thought, “There must be an easier way to code these things!” I looked around the web for a solution but couldn’t find anything that was truly useful. So I decided to create my own programming tool.
After a few tries, I was able to create a program that allowed me to upload the HTML of a simple email and modify it to create a complex, fully functioning, ready-to-send email. The program would fill in all the little details and make sure that what I had written would work correctly in every email app. This program cut coding and testing times down to about a quarter of the original time, and I consider it to be one of the most useful tools I have for writing emails.
But, doing it yourself isn’t always the best solution, especially if you don’t have an experienced coder at your beck and call. If that’s the case, there may be 3rd-party tools that can do the job for you.
When to use 3rd-party tools
When it’s cheap or free
Sometimes people cringe when they hear about free products, thinking that they won’t be as powerful as expensive ones, but that’s not always true. Many free (or cheap) products are just as good as those you pay for. WordPress is a great example. There are many paid content management systems (CMS) out there, but many aren’t as easily customizable and as flexible as WordPress. WordPress is also the single most popular CMS platform in the world, having more than half of the market share. That’s quite an achievement for a free CMS.
There is also less risk to using a free product. If you pay for a product and don’t fully understand its potential until after you have gone past the paywall, you may be very disappointed with what you get. Test the free one first and never assume that expensive is better than free.
When it’s “lightweight”
Sometimes products come with a lot of features, and although features are great and are the sole selling point for most of them, they can occasionally cause more harm than good. For example, lots of features can slow a computer program down, and with all the additional programming needed to create those features, it can become very difficult for programmers to customize them to suit your needs. This can cause a lot of headaches and a lot of wasted time.
Lightweight programs come with very few features and even less code. This improves performance and makes it much easier to customize. Don’t overlook them.
When it’s “heavyweight”
Although this might sound contradictory, sometimes programs that are powerful enough to handle heavy customization can be just as good as lightweight ones. These programs may not fit your needs by default, but when you spend some time with them, you can customize them to be exactly what you want.
For example, a program that lets you customize the colors, fonts and logo as well as allow new, custom functionality to be plugged into it will create a tool that is completely your own. This is also a lot more presentable to your clients/customers.
When it fits perfectly
This may seem obvious, but occasionally these tools are overlooked by developers. Many developers tend to want to develop their own tools rather than rely on what others have made, even when the tool is a perfect fit. Although there are times when you ought to create your own (and I’ll get into that in a second), if it does exactly what you want it to, there’s no point in reinventing the wheel. These tools will save a ton of time though typically, these “perfect” products will cost a bit of money.
When to create your own
When the tool you want doesn’t exist
If you can’t find it, build it. You have very few options if you can’t find anything that already exists. There is quite a bit of planning involved in creating your own applications, but the benefit is that you have something that is completely your own, completely geared to your company’s goals and is yours forever. And after it’s polished, you can even offer that program as an additional service that your company provides.
If you have the resources to create it
Although talking about creating your own application is great, you must have the time, skill and money to do so. Building your own applications is a lot of work.
If you are planning on building your own, you should be sure to include all the features you want up front. Try not to add features during development, because it could cause the project to go backwards as the developers try to rebuild to accommodate these new features.
Also, be sure to finish the first version of the product. No matter how ugly it gets, if it functions correctly, keep going. Once you finish the first “prototype,” immediately work on the second iteration. Because it will be so fresh in your development team’s minds, you’ll know where the flaws or bugs are in your “prototype,” and you can start planning on how to get rid of them in the second version.
There are many tools and programs in the world. Understanding what they are capable of doing and how they fit within your company will help you decide whether they are a good investment or not. If it’s easier and/or cheaper to develop your tools internally, you should definitely go for it. The results will give you something completely unique. Hopefully, these tips will help you decide what is best for your company.