Click here to Skip to main content
15,879,535 members
Articles / Internet of Things
Article

Building IoT Teams, Lessons Learned

Rate me:
Please Sign up or sign in to vote.
0.00/5 (No votes)
18 Mar 2016CPOL4 min read 8.1K  
As a team of anthropologists, software architects, and designers in Intel® Labs, we observed dozens of organizations and interviewed a hundred-plus developers who build IoT solutions. They helped us identify what works for them (and what doesn’t) by telling us how they work, how they work together,

This article is for our sponsors at CodeProject. These articles are intended to provide you with information on products and services that we consider useful and of value to developers

Get access to the new Intel® IoT Developer Kit, a complete hardware and software solution that allows developers to create exciting new solutions with the Intel® Galileo and Intel® Edison boards. Visit the Intel® Developer Zone for IoT.

It’s always a challenge to round up the right combination of talent for a developer team, and the uncharted territory of the Internet of Things (IoT) can make the path to success even harder to navigate.

As a team of anthropologists, software architects, and designers in Intel® Labs, we observed dozens of organizations and interviewed a hundred-plus developers who build IoT solutions. They helped us identify what works for them (and what doesn’t) by telling us how they work, how they work together, the jobs they have to get done, and the challenges they face on the way.

Here’s what we learned.

Know Your Coding Expertise

Their first advice for an IoT team? Know thyself. Take inventory of your group’s combined coding expertise, and see where your strengths and weaknesses lie. Working development teams have told us that most IoT project work boils down to the following four types:

  • "Thing" development: get under the hood of devices to connect them as data sources and actuation points
  • Middleware development: weave together data sources to make coherent and actionable wholes
  • App development: build the interactions that engage and help users
  • Data analytics: create analysis pipelines that turn data into action, insight, and decision making

Great teams often tap into several of these coding domains. But how they do so varies.

We saw that many individual programmers working on IoT projects either already had experience in more than one of these categories or were in the process of working toward that experience. In fact, savvy project leads told us how they actively sought ways to cross-train their teams to ensure broader team-wide coding expertise and tighter team collaboration.

Not surprisingly, we often encountered what we called "hybrid coders," a particularly valuable type of team member whose expertise spanned at least two domains and, as a result, often had a high-level understanding of the IoT initiative as a whole. They often assumed leadership roles on the project. Encouraging hybrid expertise for select members of an IoT development team can be a powerful counterweight to common pressures such as resource constraints and the development bottlenecks described below.

Know Your IoT Coding Challenges

Even with the huge variety of IoT solutions in development, IoT project teams struggled with a common set of coding challenges. Knowing which challenge is foremost for each IoT project is instructive for IoT project planning. It also helps pinpoint which coding disciplines are needed for the project to be successful.

We observed the following common IoT coding challenges (and we suspect that more will emerge as IoT matures—especially IoT analytics):

  • Tame the Wild West at the edge: gather and normalize data to and from large numbers of endpoints
  • Orchestrate system-wide data: integrate diverse data points so they can work together
  • Manage edge data: control and analyze data at the edge to optimize its system-wide flows
  • Deliver just-in-time responsiveness: coordinate system-wide data flows and user interactions to deliver results to the right people at the right time

We found that most IoT teams target one or more of these challenges (taking on all four can be unwieldy). To do so, they leaned on specific combinations of developer expertise, as shown in the following table:

Challenge Primary Expertise Required Supporting Expertise Required

Tame the Wild West at the edge

  • "Thing development"
  • Middleware development
Orchestrate system-wide data
  • Middleware development
  • App-development
Manage edge data
  • Data analytics
  • "Thing" development
  • Middleware development
Deliver just-in-time responsiveness
  • Middleware development
  • App development
  • "Thing" development

By examining your IoT initiatives in light of these common coding challenges, you can assess who you have and who you need on board. That can help you determine where additional training or hiring is most valuable.

Optimize Your IoT Development Teams

To keep up with the fast pace of industry change, IoT project teams and developers constantly learn on the job. We don’t know if IoT projects attract developers with a passion to hybridize or if the developers working on these projects simply must cross-train to survive. In any case, programmers and project leads alike actively seek training, mentorship, communities of interest, and meetups to expand their coding horizons and skills.

Managers added that the cross-pollination of expertise and mentor relations helped smooth team collaboration and overall organizational morale. They also remarked that culture clashes between different coding disciplines were inevitable. But anticipating them and facilitating communication among those involved went a long way toward minimizing negative impacts on the team and its work.

Lessons Learned

IoT is evolving fast, but by observing IoT development teams, their successes, and their challenges, we identified four steps to help chart your team’s IoT vision:

  • Inventory your team’s coding expertise
  • Determine coding challenges related to your IoT solution
  • Identify gaps in your team’s expertise
  • Resolve the gaps through hiring and cross-training

Visit the Intel® Developer Zone to learn about Intel® IoT technologies.

What suggestions do you have for building IoT teams?

Login to leave a comment below. If you are not registered go to the Intel® Developer Zone to sign up.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
United States United States
You may know us for our processors. But we do so much more. Intel invents at the boundaries of technology to make amazing experiences possible for business and society, and for every person on Earth.

Harnessing the capability of the cloud, the ubiquity of the Internet of Things, the latest advances in memory and programmable solutions, and the promise of always-on 5G connectivity, Intel is disrupting industries and solving global challenges. Leading on policy, diversity, inclusion, education and sustainability, we create value for our stockholders, customers and society.
This is a Organisation

42 members

Comments and Discussions

 
-- There are no messages in this forum --