Science fiction movies of the 1980s seemed to have predicted the future quite accurately. Modern technology allows us to call out “lights” from inside a house and see the room light up, communicate with our cars so they can guide us, ask them questions that make sense to them, and track our heart rate and steps with smartwatches.
The Internet of Things (IoT) is revolutionizing the way we interact with the environment and the way products are developed.
Here we will discuss how IoT has prompted a more agile, multi-disciplinary approach to product development, why agile is the way forward as the IoT grows, and how to successfully implement an agile IoT development.
IoT impacts product development in several ways
1- Increasing tech literacy
We live in an era where intelligent technology surrounds us, and consumers are becoming increasingly tech-savvy. To keep consumers engaged and meet their expectations, product developers must continually improve their products to keep up with market demand.
It is now expected that people will rely on products that are better connected, smarter, and more technologically advanced that will provide them with genuine benefits. Therefore, product engineering has become increasingly significant.
2- A lower development cost
It’s not just market research that benefits from the IoT’s ability to provide insight into product usage. With the help of connected devices, ongoing development costs can be reduced as well.
3- Improved analytics
With IoT devices, manufacturers can gain a detailed understanding of how products are used after they have left their factory. By understanding consumer behavior, product developers can tailor their future creations to best suit the market’s needs and expectations.
After product launches, connected systems provide businesses with a more comprehensive view of the market than ever before, enabling them to spend less on market surveys.
4- Faster time-to-market
IoT analytics allow products to reach the market far faster and with a much higher chance of being defect-free.
5- Collaborate more
As it is known today, ‘systems engineering’ refers to the collaborative process of developing a product. However, it hasn’t always been that way; engineering departments have often worked separately with different methods and processes, even though they shared the same goal.
6- A broader view of building
Engineers no longer work exclusively on projects for the customer base due to the IoT’s impact on product development. Development must now take into account other systems and services that will likely be used alongside it.
7- Inspires creativity
IoT encourages a lot of product development that is both exciting and innovative. Markets are more likely to see products that were once considered ‘pie in the sky if new avenues are explored.
In spite of the fact that not everything succeeds, IoT is creating a product development landscape that encourages innovation.
Agile is the way forward as IoT expands
The Internet of Things (IoT) has evolved from a tech buzzword to a tangible and rapidly advancing everyday reality, spanning smart homes, smart appliances, automobiles, and wearable technology.
Embedded software, which is software integrated into physical devices, has expanded to a multitude of connected products. Now that connections are so rich and deep, the market and the embedded software development process have been transformed in powerful and sweeping ways. Agile methodologies help you meet the demands of connected devices.
- The IoT revolution
As the Internet of Things expands, hardware and software development for connected devices are being affected dramatically. IoT requires many changes from companies to enter this brave new world.
Globally, organizations seek to leverage the IoT revolution. These companies are giants in their fields despite their size. Companies are reviewing their old and new products and considering how the IoT can enhance them.
The Internet of Things is finding a comfortable-and growing-spot on product roadmaps around the world due to increased awareness from thousands of organizations. IoT offers many benefits and is changing the world of embedded systems, but it is also changing the focus of product development.
Over 500 embedded system engineers reported in 2010 that software accounted for more than half of the value of embedded systems (and more than half of their development costs). It’s quite significant.
Each upcoming feature or business model change that an organization wants to implement also requires adjustments to the hardware and software behind it. This is in addition to the strategy behind it.
- High expectations for connected devices
Consumer behavior and expectations are changing as a result of the IoT. For most consumers, their first experience with a “connected device” was their smartphone. Users are now expecting similar experiences and services from their other smart/connected devices. Updates and upgrades are essential for a smooth user experience.
Besides expecting “more,” consumers also expect it faster and faster. There is a rapid increase in the rate of updates for the Internet of Things. With consumer expectations of more frequent product releases and feature upgrades, the physical product itself, the embedded software, and the support infrastructure behind it are under increasing pressure.
Consumer expectations are changing, and the complexity of designs is increasing, which leads to product and security flaws. There are many manual steps that are often skipped during the development process, as well as the growing complexity of connected devices, as well as hacking advancements.
- Beyond building and forgetting
In the past, the development process ended with the deployment of the application. Upon release into the wild, a product is considered to be finished from a development perspective. With the Internet of Things, however, you cannot simply ship it and forget about it.
As more organizations expect post-deployment content and updates, they not only need enhanced change and management solutions but also need to consider testing over an even longer development cycle. Traditional approaches to bringing products to market are changing and extending.
The Internet of Things presents a number of challenges, but fortunately, solutions are available. Agile IoT development methodologies are one of the main ways organizations are trying to navigate the IoT. Serial and waterfall methodologies have been widely used for decades, but the Internet of Things is crushing them.
The key to agile IoT development success is continuous delivery and automation
Continuous delivery and agile methodologies are well-suited to dealing with connected device demands. Agile development requires frequent updates. By doing so, the end user can continue to receive updates, the developer has a manageable development schedule, and the business can react quickly to market changes.
A software delivery pipeline can also be automated using agile methods, which include software development, testing, deployment, and product updates. In the world of connected devices, this is useful for two reasons.
Firstly, it enables many tests to be automated, reducing the risk of security flaws and resulting in a more reliable product. Second, the developer can focus on developing new features by automating software updates and simplifying deployment operations.
How to optimize distributed, agile IoT hardware engineering
We and our clients value time as money. Our business and clients suffer if hardware and software engineers are blocked. We orient our processes heavily toward saving time because of this. There are three categories in which we categorize these processes: engineering empowerment, Agile development processes, and clear responsibilities.
1- Engineering empowerment
Through engineer empowerment, problems can be solved without the interference of third parties.
- A well-equipped home laboratory for engineers
You will face unnecessary delays if engineers must borrow tools from team members who may be 1,000 miles away. As a preventative measure, we start our engineering team members with a home lab equipped with standard IoT tools.
- Keep small expenses in mind
This domain also benefits from automatic approval of small tool purchases, supplies, and shipping costs. Engineers’ waiting times can paralyze a team, so each hardware and firmware engineer has a company credit card they can use to make any purchase up to $200 if they need it to deliver for a client.
- Make large purchases easier
Hardware team members are also able to purchase more expensive equipment on an as-needed basis without approval in addition to automatic approval for small expenses. With minimal red tape, we can review and approve large orders that require ad-hoc approval rapidly.
2- Agile IoT development process
In software development, the Agile method has been around for quite some time, but in hardware engineering, it has not taken hold as quickly. The Agile methodology has proven to be a very useful development process for our multidisciplinary IoT engineering teams (including hardware engineers).
- Organize your time better
HashStudioz uses Agile development to prioritize our most valuable resource – time and adheres to the following Agile principles:
- Deliver value continuously to end users.
- Before moving to new features, ensure that features are production-ready.
- Early and often testing is key.
- Don’t make a decision before the last responsible moment.
- Faster creation of useful components
When it comes to building prototypes, our hardware team takes an agile approach. Following the traditional path of industry, you begin with a list of detailed requirements for the product. The next step involves computer-aided design (CAD) tools for creating and refining designs.
Multiple design reviews typically take place during this phase, during which the entire team and other key stakeholders sit in a room and review the design files. A prototype is constructed and tested after the project is finished. In this method, also called Waterfall, long design cycles lead to unpredictable design issues and are fragile when requirements change.
“We focus our design cycles at HashStudioz on creating prototypes that deliver value to users. We begin with a list of the value we want to bring to the user rather than a detailed list of requirements. Using that list, we develop a prototype that begins to deliver some of that value. Within a week or two of starting the project, we built an initial prototype through the “digital design” phase. After testing the prototype, we start planning the next one.”
In addition, to keep pace with changing markets and maximize the value of their investments, we offer a range of custom IoT development services.
3- Clear responsibilities
Team members know what work belongs on their plate when they define their responsibilities clearly, and how to approach work that doesn’t belong to them. The integration engineer is most clearly embodied in this role for the hardware team.
Integration Engineers at HashStudioz are expected to bridge the gap between electrical and mechanical engineering. Projects are held together by them. Prototyping, design feedback, and guiding the project toward manufacturing are some of their responsibilities.
With prototyping, electrical and mechanical engineers can focus on their designs and get productive, real-world feedback on them. Team members collaborate on build test plans, which document the steps an engineer should take to set up and test a prototype.
By doing so, you avoid interrupting others’ work to answer questions about how to set up hardware for testing. Furthermore, we assign each task to the appropriate team member on our Agile planning boards. When responsibilities are clearly defined, time is not wasted on duplication.
How to run an agile IoT development project?
To get our clients’ biggest agile IoT projects fully operational, HashStudioz follows 10 key steps.
- Defining project constraints and validating assumptions
Being an IoT solution provider company, we focus on agile IoT development, yet we’re not against documentation or construction specifications. The most crucial aspect of acquiring those criteria is avoiding the situation where we end up wasting time proving unfounded assumptions.
During phase one, we examine our riskiest assumptions – those that, if incorrect, will flip the ROI equation upside down. We run experiments with agile IoT development to test assumptions, like customer interviews and reaching out to manufacturers.
Second, you must identify the return on investment of the project, which can involve gathering sales projections, doing market research, and understanding your customers’ price point thresholds.
By understanding some of the cost parameters for the device or service you’re building, you can make informed decisions down the road and avoid having to do major overhauls or component swap-outs later on.
- Create a roadmap for IoT product development
Our Strategy Sprint helped us identify the needs, wants, and desires of our users, which we then used to write job stories. A job story helps us to define a given situation, a user’s motivation for acting within that situation, and the expected outcome.
To see all of a user’s possible paths, we create a workflow map of each feature of a device or product. We account for both “happy paths” (when users complete the intended action within your product) and “sad paths” (when users don’t complete the expected action, like typing an invalid password).).
In our project management software, we create cards once we have a robust workflow map. Using these cards, we can break down each job story, identify potential blockers, and determine who’s working on what.
During a story-pointing process, our engineers estimate how much they can accomplish within a given amount of time-based on the complexity of each feature. Having this information allows us to make accurate projections about how long things will take and what we’ll be able to accomplish.
- De-risk your hardware
The third step involves building things and hammering out the basics. It is our goal to eliminate all the unknowns surrounding hardware design. We answer questions such as:
- Do you think you can measure/control X accurately?
- Does the expected operating environment allow wireless communication?
- How feasible does the estimated bill of materials cost?
- Imitate your end product
Having laid the foundation, it’s time to make this device work. At this stage, we’re trying to make a device that imitates how the end product will work, so we call it “imitation.” Our device should work reliably, establish a network connection, and check for firmware updates.
In the meantime, you need software that mimics how the device interacts with you. As part of this process, we have to put in place the OTA firmware update process since manually updating firmware by individual developers can introduce unnecessary risk.
- Create a full prototype
The next step is to build a full prototype once we have successfully imitated the end product. As we plug in real components, we aim to get the device to run on a development board with a real CPU architecture.
During this stage, the prototype should be fully connected to the internet. The device should be capable of sending and receiving data, including IoT firmware and security updates. This stage of the development process should result in firmware and software that are ready for production.
- Conduct a micro-facturing run
The next step is to replicate our prototype in a micro-facturing run after we’ve built our first prototype. Each engineer on the project will have one to work with, so they’ll typically be hand-soldered and 3D-printed.
During this time, we’ll begin making decisions about enclosures and materials. We will perform a final element analysis for the mechanical design and run models for stress testing high-stress areas. Our next step is to come up with some solutions or models to alleviate those high-stress points.
At this point, we’re starting to think about how this device will behave in the wild. At this point, we’re trying to figure out if anything fundamentally is wrong. As soon as we feel comfortable putting something highly similar to this device in users’ hands in a beta launch, we are ready to move on.
- Get started with your first manufacturing run
Once your first manufacturing run is launched, you should feel confident enough about your decisions to be able to produce between 50 and 100 devices, depending on the project’s context. Now is the time to engage a pilot group, finalize the board layout, and optimize the software.
At this point, mechanical requirements should not be the main drivers of change. This should be based on how the product is being used in the real world by actual users. At this stage, we also take proactive steps to ensure that the actual manufacturing run goes smoothly.
Estimate the final bill of materials, find out how much volume our manufacturing partners can handle, and get the product approved by the relevant regulators by taking the proper steps.
After receiving robust feedback from our pilot group and making necessary adjustments, we’re ready to move forward.
- Accomplish your “real” manufacturing run
Things are getting exciting at step eight. As a “real” manufacturing run, we suggest producing about 1,000 devices to perform user testing, product training, and onboarding. Once the devices are out in the world, we can validate longevity issues and see the real impact of temperature and environmental factors. We know we are ready to move on after getting more reliable input and having a few “aha!” moments.
- Finalize your manufacturing run and go to market
Once we reach step nine, the go-to-market manufacturing run, we can move forward with great enthusiasm. Our software and firmware have been performing well for some time, we’re confident in our hardware selections, and the idea of bringing hundreds of these devices online at once isn’t scary because we’ve planned for potential issues beforehand. At this stage, eliminating these worries allows us to optimize for economies of scale.
- Discover the power of digital twins
As the product collects data through sensors and sends it to the cloud, we can create a digital twin, a virtual model of the product that takes real-life conditions into account. Testing, predicting and diagnosing failure, and experimenting with the next version of the product can all be done using digital twins.
In our discussion above, we covered how the IoT has led to a more agile, multidisciplinary approach to product development, why agility is the way forward, and how to implement agile IoT development successfully.
With the IoT, product development can be stimulated and engineers can design for the ‘system of systems’ concept.