After years of buzz and development, the Internet of Things (IoT) finally seems poised to break into the mainstream. IT research and advisory firm Gartner predicts that by 2020 there will be more than 21 billion IoT-connected devices in the world sharing data and making businesses more productive and efficient.
With so much excitement around the potential of IoT technologies, you might already be on the hunt for an external partner who can help build the IoT application of your dreams. Great! But without extensive knowledge of and experience with the field, how can you choose the right IoT application development firm with which to partner?
In this article, we’ll discuss six of the most important traits you should look for in a potential IoT partner.
#1—IoT-Specific Technical Skills and Experience
Being a group of good programmers is insufficient. IoT is different. It fuses software, hardware and network technologies with the world. You’ll want a firm with a proven track record of launching IoT solutions. They need to have demonstrated the technical chops to get the job done. Firms with expertise in both software development and electrical & mechanical engineering have a distinct edge and will be able to deliver a complete IoT solution faster than their competitors.
#2—Similar Communication Styles
Some companies prefer to take a hands-off approach until the project is completed. After signing the contract, they’re perfectly happy to let the development firm do their own thing for a few months until they deliver a product that’s close to complete.
Other clients need to have check-ins and reassurances at regular intervals from their IoT partner. Breaking projects into individual tasks and sprints, and providing weekly invoices about exactly how much time was spent on each activity, is a good indicator of a company’s organization and accountability. It allows customers to have specific insights into what the firm has been working on. A firm that schedules regular meetings with customers is also a good sign; it indicates a desire to satisfy the customer and remain on the same page.
Taking a more proactive, involved role when communicating is usually preferable because it allows the terms of the project to fluidly change in order to meet the client’s needs. The project’s scope, budget and timeline may all shift while the product is being built, and the client should be informed of these requirements well in advance.
#3—Similar Working Patterns
In addition to similar communication styles, you should also look for IoT partners that work in the same way as your company. For example, what’s the typical length of a sprint during their software development process? Does the team practice continuous delivery through agile sprints, or do they follow long release cycles like in the traditional waterfall model?
The term “continuous delivery” means that the product is essentially always in both development and production; any changes are immediately committed to a dev cluster, tested, and rolled into production ASAP. Continuous delivery is a trendy practice among many development firms and has been associated with benefits including faster time to market and higher-quality software.
Nevertheless, some clients prefer to have a more traditional development process, where features are developed in sprints that are several weeks long and then added to the product all at once.
#4—Strong Testing Culture
No matter who you select as an IoT partner, they should have a strong culture built up around automated testing and software quality. This often goes hand-in-hand with continuous delivery.
As your application grows and becomes more complex, it becomes increasingly difficult to tell whether you’ll break something when changing even a single line of code. In-depth and automated testing suites that are run whenever changes are made can make a big difference. The outcomes of these tests let developers know immediately if they’ve inadvertently introduced a bug or error.
Both the client and the development partner need to be flexible and open to potential changes throughout the product life cycle. In particular, clients should understand the difference between the product features they want and those they need.
The “planning fallacy” is a well-known concept in software development: people tend to be optimistic about the time and effort required for a future project, causing them to lowball their estimates. Knowing exactly what you’ll need six months ahead of time is nearly impossible for a complex IoT project involving hardware and software.
Practitioners of the agile methodology often refer to the “last responsible moment” to make a choice. By putting off the decision-making process until the very last second, you can collect more information about what exactly the right solution will be.
For example, having explicit advance requirements for the databases and software tools that will be used during the project is often a bad practice. Instead, it usually makes sense to map out high-level goals and features, and then discuss the details when it makes sense to do so during the project.
The bulk of an IoT solution will be software, and the majority of that software will be web software. When looking for an IoT partner, you should prioritize firms who are strong in web development and web security. Hardware engineering firms aren’t usually prepared to build a secure and scalable infrastructure for your IoT data, which is something that you need if you want a full-stack solution. Security is a huge problem for IoT, and firms are only just beginning to understand how to build consistently secure solutions.
Full-stack companies are able to develop an all-in-one solution that handles the hardware, web interface and mobile interface within a single project. If you’re not certain whether you require a full-stack product, then picking a firm that has those development capabilities is a safer bet.
Written by Ben Wald, Co-Founder and VP of Solutions Implementation at Very.