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 projects that by 2020 there will be more than 20 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 wildest dreams. But without extensive knowledge of and experience with the field, how can you choose the right IoT application development firm to work with?
In this article, we’ll discuss 6 of the most important traits that you should look for in a potential IoT partner.
1. IoT-Specific Technical Skills
Obviously, you'll want a firm with a proven track record of launching IoT solutions and 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. At Very, we break our projects into individual tasks and provide weekly invoices about exactly how much time we spent on each activity. This allows our customers to have specific insights into what we’ve been working on. We also like to schedule regular meetings with our customers, so that we can provide progress updates and make sure that our clients are on the same page as we are.
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 that your company does. For example, what is the typical length of a sprint during their software development process? Does the team practice continuous delivery, 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 production; any changes are immediately committed, and the software is continuously evolving gradually. 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. At Very, we build in-depth automated testing suites that are run whenever we make changes to the software. The outcomes of these tests let us know immediately if we’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 product features that they want and product features that 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 6 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.
6. Full-Stack Capabilities
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.
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 does have those development capabilities is a safer bet.