How long should it take to implement an IoT solution? Is there such a thing as a normal time or does it depend on who you ask? To answer these questions let us take a look at some steps and activities involved in bringing an IoT solution to market. Here are 6 key ones:
Note that none of these involve IoT technologies per se, but address business issues, applications, users and use cases. Only the last two touch upon actual implementation and even they can be relatively technology free. In fact, one of the secrets of fast tracking IoT implementations is to cement the goals, team responsible and desired applications before addressing Architecture and Technical Implementation. A second secret is to use an Agile approach involving all key stakeholders in the development process.
So, what is Agile and how can it be applied to IoT? Agile is a software development methodology developed 20 years ago to address complexities in developing large or complex software projects. Instead of depending on detailed (and complex) software requirements Agile focuses on quickly creating working software, collaborating with stakeholders and customers, and adapting to changes quickly.
Since it was introduced Agile has revolutionized software development and created a completely new way of doing things delivering results in weeks and months instead of years. So, is this approach applicable to IoT Solution Development and can it be used for ‘fast tracking’? The good news is that it can, and the rest of this blog will describe how.
The Agile approach combines a way of developing what an IoT solutions should do, stories, with a structured way of implementing and delivering it, releases made up 2 to s of 2–4-week sprints. This effort is lead by a product owner who owns the product and a scrum master who manages the mechanics using agile development software tools. Its main features are daily morning ‘stand up’ SCRUM meetings lasting 5-10 minutes. If this sounds like magic, it is. The good news is that it works. The even better news is that it can be used to fast track IoT solution development by doing IoT business and IoT solution development side by side AND parallelize the IoT solution development.
Developing Business and IoT solution side-by-side means close cooperation between business stakeholders and the people developing the IoT solution. Forming an overall Agile team with a common owner facilitates this by creating the stories that are to be implemented with a true business focus. An example is to give customers and users a better way to monitor product performance on an ongoing basis instead of collecting x, y and z operational data and display it in a mobile application. The latter leads to a pre-defined implementation while the former leaves the door open as to what data is collected and how it is delivered to the customer and user. As agile implementation is done through short sprints. The release results after 3 interactive sprints may be very different than the predefined x, y and z driven by interaction with customers and users after or even during each sprint.
In order to support this approach, there has to be enough flexibility in how the IoT solution is developed in order to adjust it after each sprint. Parallel development of IoT Applications along with the physical IoT implementation makes this possible. Let us take a look at what this means:
Most IoT solutions development projects start by implementing the physical and electronic parts – IoT Thing, Connectivity, IoT Platform leaving the most important part, IoT Applications, as an afterthought. After all, until we have IoT data, how can we develop the applications? The answer is simple, use IoT data simulation tools to create application data while you develop the IoT solution in parallel.
Not really! With the right IoT solution development platform parallel development is ‘built in’. How? By bringing up an initial set of IoT applications fed by simulated data at inception instead of after getting IoT devices to actually deliver live data. This becomes possible by using an IoT implementation platform that allows for both Agile and parallel development change the paradigm for developing an IoT solution from develop and test to develop and use. Let us start with parallel development.
The value of an IoT implementation is delivered in the form of applications that use raw or processed IoT data to deliver actionable information and insights. While some of these applications can be simple simply displaying incoming data, many applications depend on volumes of processed data delivered over time. As with all applications, the sooner a prototype can be demonstrated and used by an intended user, the higher the chance that it works in the expected way. To wait until the front end (IoT Device, Connectivity, Data Handling) is completed before addressing all the applications will add time to the development and most likely result in inferior applications. So, what is the best way of addressing this issue? Build an IoT data simulator that provided the same types of data as the IoT device will do, or better still, select an IoT platform that has device simulation already built in. In this way Application Development can be started at the same time as IoT front end development – they can be done in parallel. This means that all stakeholders have access to intended applications from the start which means that the Agile project management approach can be used not only for engineering development but also including all relevant business functions and even customers. Combined, these capabilities and approaches are the keys to Fast Tracking IoT solution development delivering results in months instead of years. Done right, this approach will also reduce the overall cost of the project, something addressed in a separate blog.
When Triotos created the rapid onboarding IoT platform we augmented the existing AWS IoT core platform with advanced IoT device data simulation tools that can be used to simulate large numbers of devices at the outset of a new IoT project. We also created a set of ready-to-go basic applications so that stakeholders and users can start using them and participate from day one testing applications while other development and application customization is ongoing. As part of this customization, we use the agile process and can integrate with the customer’s agile process delivering initial solutions in weeks and months instead of months and years. Using the Triotos IoT Platform and the agile parallel approach described above Fast Tracking of your IoT solution becomes real.