Looking for COVID-19 emergency remote work security solutions?

LEARN MORE

The process makes it possible

Our process is designed to navigate complexity and de-risk your IoT project. Agility, expertise, and true partnership are key.

Transparency is fundamental to who we are

This applies to every aspect of our operations and every element of every project we execute for our clients. On this page, you will find details of the processes we have put into place to deliver at the highest level across our IoT expertise.

Laying the foundation

zoom-6

We set clear expectations for our teams and our projects

We have a set of clear-cut procedures and best practices in place across Very that guide how we engage. Built on clear communication and trusted partnership, we cultivate a culture of mutual respect and shared success with clients and with each other.

Our remote culture

We've been a remote-first company since day one, and a remote-only company for years. That means we can attract and retain some of the most talented designers, developers, data scientists, and project managers from across the country. Remote work isn't for everyone, so our people need to be highly self-motivated with excellent communication skills. Over the years we have learned a lot about how to make remote work work. Our remote code of conduct helps is collaborate seamlessly and excel at distributed client service.

Our remote code of conduct

remote-code-of-conduct2

A Professional Workspace

Each new team member designs their own distraction-free workspace using a generous stipend, and all employees get an annual office stipend to make improvements.

remote-cto-guide3

Video and Bandwidth

To make consistent video conferencing possible, all team members must have access to at least a 15Mbps connection. We encourage our team to get the fastest internet available, and we pay for it.

remote-code-of-conduct

Audio Requirements

Clear communication requires clear audio. Team members must use a headset with a microphone or a podcast-quality desktop mic. We also encourage the use of Krisp to block out distracting noises.

desktop

Core Working Hours

When we work together, it helps to work together. Our core working hours are from 9 to 5 EST. A week consists of 33-40 high-quality client hours and up to 8 hours for professional development and internal projects.

Our communication tools

Every client engagement is a highly collaborative partnership. We work fast, and it’s crucial to have consistent check-ins with our clients and each other to make sure we are aligned. We've tested many different collaboration tools, and we only use the best of the best. Here are the five must-have tools we use to collaborate with each other and with our clients.

Slack
Communication

We exclusively use Slack to communicate. It's much more efficient than email, has native mobile clients, and allows us to integrate with third-party tools, like Jira and Google Drive.

Zoom
Video Conferencing

We use Zoom to do voice/video calls. It supports large teams concurrently, provides a quick and easy way for us to communicate with clients face-to-face, and is by far the most reliable video call service.

Jira
Project Management

Jira serves as the backbone for our development workflow. We represent all work-in-progress as a Jira Story, which organizes our task lists, attachments, and conversations.

Drive
Document Management

Google Drive is our primary repository for all project-related documentation, from contracts and proposals to design files. Clients can collaborate in real time on documents applicable to your project.

Github
Code Repository

We will store one of your most important assets — your application’s code — on Github. Its version control tooling allows multiple developers to collaborate without overriding each other’s work.

Our Agile Workflow

The best products are built when business stakeholders and product teams work collaboratively. For us, this means responding to changing requirements, even late in development, because we understand your need to respond to your environment.

Image-1

Our highest priority is to deliver valuable, working software in a predictable way, which is why we adhere to an Agile software development approach.

The Agile approach is based on making incremental improvements to a product with frequent cross-functional check-ins. Instead of planning every detail at the beginning of the project, this methodology allows for changing requirements over time and relies on constant feedback from stakeholders and end users.

Image2

With Agile development, cross-functional teams work on an iteration — a single development cycle — over a set period of time. Work to be done is organized into a backlog, which is prioritized based on business or customer value. The goal of each iteration is to produce a valuable, working product.

When using an Agile approach, business stakeholders and the product team must work together to align the product with customer needs and company goals. Communication is key.

Lean Development

With its roots in the lean manufacturing movement, lean software development emphasizes optimizing efficiency and minimizing waste in the development of software. We use this approach to prioritize things that have been validated and deprioritize those that have been invalidated as we look at our work to be done. Now a key part of the Agile software development methodology, lean principles aim to streamline each part of the software development lifecycle, centering on the idea that less is more.

Image3

 

Starting your project strong

zoom-5

Our process sets you up for success from the start

We begin by learning everything there is to know about your business, your customers, and the challenge at hand in order to test assumptions and identify knowledge gaps. It is vital that we know what we don't know, so we can fill the riskiest knowledge gaps and validate, or invalidate, the riskiest assumptions. At the start, we also review existing research and review competitive products.

Your Technical Design Sprint

Every Very project starts with our rigorous Technical Design Sprint. This process takes place over the course of several days to several weeks. Working through a tight agenda, this method aligns our teams around goals and helps us build the rapport and communications that will keep our project on track.

Our Technical Design Sprint is designed to define business needs, give context to end users, and better understand the solution we're bringing to market. With end users at the core of a successful IoT product deployment, we identify the situations in which they will use the product and its features, and we determine their motivations. Together, we decide what success looks like — for the whole project and for customers.

needs

The goal of a Technical Design Sprint is to:

  • Develop a phased product roadmap that provides the most value to users, as quickly as possible
  • Understand and document the full scope of requirements for launching your product
  • Mitigate project risk through technical research spikes to understand cost, complexity, and time required to build and launch the features of the application
  • Design prototypes to help us understand how the application will function
  • Determine the correct technology stack to support the functionality, design, platform performance requirements, and constraints

The Technical Design Sprint framework starts your project strong and can be used throughout the project to solve thorny challenges. Read more about the whole process here.

READ MORE ABOUT THE WHOLE PROCESS HERE

Mitigating risk with Research Spikes

IoT projects can feel high risk. For many organizations, projects of this scale can be either transformative or disastrous. With each project comes its own unique concerns and constraints, and our process is designed to identify potential roadblocks, bottlenecks, and failure points right out of the gates.

The Technical Design Sprint unearths many of these potential risks from the start of a project, but challenges will arise throughout every project. We use Research Spikes to better understand issues as they arise. Often, this comes in the form of evaluating an external service or software, but as your product complexity increases, so does risk.

Working together with clients, we go through a process where we ask:

  • What data is available?
  • What are the types of statements that we want to be able to make in the application?
  • Who are the end-users?
  • What are the workflows that we're hoping to enable based on this data?
  • What's possible from a predictive modeling or machine learning recommendation perspective?
  • Does your project involve custom hardware development?
  • Do you have manufacturing cost limitations?

We take the time necessary to rigorously dig into the specifics and suggest the smartest paths forward.

Working together

zoom-1

Successful projects are built on trusted partnerships

We put in place internal policies and procedures to ensure our people can deliver at this highest level. Then, we align with our clients to ensure we are set up for success. Those are the easy parts. Working closely with our clients throughout the project process is what gets us across the finish line.

Building your product development roadmap

At Very, the journey is all about the destination. Our roadmaps ensure that we end up in the right place. A roadmap lays the foundation for the work ahead, allowing us to identify scope, set budget parameters, track progress and story points, and prioritize. We track all of this using a project management tool called Jira.

building

With your roadmap in hand and your budget in mind, we determine the number of releases needed to arrive at your Minimal Marketable Product (“MMP”), which is the product with the smallest feature set that still addresses your needs.

Following the initial release, we iterate weekly and release monthly. These four-week cycles involve three basic activities: code refactoring, ongoing experiments and usability testing, and iterative new feature development. Each iteration is a new launch.

focus

We can iterate and ship over and over again. Sometimes, it's necessary as a result of business process changes or new features. We know that software development can go on forever; it can be hard to know when to stop. We consider the end of every launch a realistic stopping point, which means it is our goal to deliver a usable product at every release.

Very was truly our partner in launching Thrive Global's digital media presence. In a short time-frame, they designed and problem-solved alongside our team seamlessly. They are flexible, creative, and focused on quality."

Arianna Huffington

FOUNDER AND CEO OF THRIVE GLOBAL

Arianna

How we approach design

We approach product design as an iterative process that will take place throughout the entirety of your engagement. Our team of designers will take you through each step of your project. We understand the impact that always-changing requirements can have on the lifecycle of your product (business requirements, analytics, technology, budgets, etc.), and we utilize the most recent and relevant information in each iteration. We frame your business requirements through the lens of your users and will work with you to create a vision that is not just a solution for today, but a solution that will evolve as your requirements do.

noun_Research_2784356

Research and Discovery

The first cycle in designing products at Very is where we intentionally take time to understand your unique business and design problems, evaluate any existing solutions, and present strategies for creating new types of value within your product

This part of our process is comprised of three steps:

1

Requirements Gathering

Whether you are coming to us for a two-week design Technical Design Sprint, or a longer design and build engagement, our first step is always to understand what your business needs are. Our focus during this time is conversational, and we will be administering several design exercises to get a baseline of what you need to communicate via your product. The timeline of the requirements gathering phase can take anywhere from a couple of hours to a full week depending on the complexity of the design problems we are solving together.

2

Solutions Research

We know design is most valuable when you have as much data to inform your decision-making process as possible. Once we have established a baseline understanding, we move into solutions research. Here we will document existing solutions that exist in your market and in adjacent markets, and find any new opportunities within your product’s features that may provide additional value to your users.

3

Design Strategy and Roadmap

At this point, we can identify some important things that should shape your product design strategy: opportunities within your market segments, tests and interviews we should consider running with users, and what metrics your product should be collecting to inform its future growth. We aren’t focusing strictly on how your product will look yet, but rather how its system of features works together to provide users with a valuable experience. We continue to refine the outputs we have collected up to this point to put together a plan of how your product’s design will be brought to life and to direct where our designers’ efforts are best spent in the first iterations of the Design and Validation Cycle.

noun_Prototyping_1909763

Design and Validation

We believe in validating our design strategy by taking the time to prototype and test the products we design. During this cycle, we outline the user experience (UX) of your product and begin to create your product’s design system (visual and interactive patterns), while administering tests to validate design decisions along the way. We test with the intention of eliminating low-value strategies and features and uncovering real-world insights before your product is even built.

This cycle is meant to be iterative, and is comprised of three steps:

1

User Experience

We always start by mapping out the most frictionless and intuitive user journey through all of your product’s features. It’s important that your product is not only easy to navigate, but that it also has a logical flow of information and interactions that will keep users engaged, and their behaviors predictable. User experience is the cornerstone of successful products, and we iterate on this until we can confidently say it does all of those things.

2

Design Systems and Prototyping

Now, it’s time to apply a look and feel to the underlying user experience we have designed for your product. We think in design systems — repeatable patterns of visual and interactive elements that communicate the purpose of each feature. Our design systems are maintained in industry-standard software, as well as interactive prototypes, and sometimes directly in code. Our focus during this phase is to communicate each design system component in a way that will allow for a seamless translation into code, or other methods of design deployment. We create prototypes to be tested so we can eliminate ideas that create less value in lieu of ideas that create more value.

3

User Testing and Validation

If possible, we always want to get your product in front of real users before it’s even built. By administering user and usability tests on the prototypes we produce, we can collect feedback about how features work before writing a single line of code. This can save on time and resources and serves as a gut check on any completed design work early. If the test results prove any hypotheses wrong, we take our findings and iterate towards the next best solution.

noun_coding_2244324

Design Deployment

Our design team will lead the engineering tasks of building out user interfaces (UI) and facilitate the communication of product features to our engineering teams to bring them to life.

This cycle has two steps:

1

Design Component Implementation

We put our best efforts forth to define a communication-first design pattern in code that aligns as closely as possible to our design systems (design assets). A communication-first approach allows our teams to more quickly come up with a shared lexicon between design and code as we are implementing our specifications.

2

Design System Expansion

With a shared language in place, we are afforded the opportunity to optimize beyond a traditional design handoff by prototyping design in the most appropriate environment suited for the timeline. If a design system and its lexicon are mature enough, iterating through new design in code can be just as fast, and possibly more effective; demonstrating behavior with real data is a powerful motivator.

Team composition

Your team is solely dedicated to your project, working an average of 33–40 hours per week. Partnering with a consistent, specialized team reduces waste and increases efficiency so your project can move both quickly and predictably.

A common question we get about our team is, "Do you have full-time employees or do you rely on contractors?" We are a US-based company with a team of full-time employees located all over the United States and Latin America. We believe in the team and culture we've built, and having full-time resources is crucial. From time to time we will encounter aspects of projects that require a specialization outside of our in-house IoT expertise. When this happens, we'll be the first to call it out, and we will work with you to make sure the project is properly resourced.

Your Very team is lead by your Product Manager. This senior team member will serve as your project lead. Their primary responsibility is driving your project forward. By providing unbiased product development insights, they serve as your champion throughout the development process.

low

Depending on your project needs, your team will be a tight-knit group of:

Designers

User experience (UX) designers are a critical part of modern application development. But too often, UX designers create a mockup, hand it off to developers, and move on to the next project. At Very, our UX designers are also front-end engineers, bridging the divide between design and development.

Full-Stack Engineers

Our full-stack engineers work in teams of two using a process called pair programming. This approach leads to better quality, fewer defects, and greater efficiency over the lifecycle of the project. It also gives every project an added level of redundancy.

Data Scientists

With the increased utility of artificial intelligence, big data, and machine learning, we've found that many clients need dedicated data science engineers. This role is responsible for crafting data acquisition strategies, defining internal workflows, and applying state-of-the-art technologies and techniques to your project.

Mobile Engineers

Our mobile engineers are excellent practitioners of React Native, Android, and iOS development. They are also familiar with BlueTooth, WiFi-configurations, and efficient communication protocols. They use this knowledge to create compelling mobile applications, no matter the platform.

Technical Architects

Our technical architects provide oversight for our most challenging projects, where we stitch together multiple domains to deliver cross-functional solutions (such as enabling machine learning in an IoT deployment).

Electrical Engineers

Our electrical engineers develop the foundational elements of our IoT products, from component selection to custom PCB design and development. They also ensure that we build in an iterative fashion to de-risk your engagement from the strategy sprint to final manufacturing.

Embedded Engineers

Our embedded engineers build embedded systems at a rapid and predictable pace, due to their hardware design expertise in embedded systems (including schematic capture and PCB layout). In addition, they work with manufacturers and PCB design subcontractors as necessary.

Mechanical Engineers

Our mechanical engineers bridge the gap between software and mechanical design. With technical expertise in parametric hardware design for 3D printing, injection molding, and sheet metal, our mechanical engineers work with manufacturers to bring your product to life.

QA Engineers

Our QA engineers develop and execute against test plans and assist the development team in building a robust automated testing suite. They also regularly participate in weekly sprints, ensuring that all release-ready work has been through extensive functional and regression testing.

Get to know our team

The Very team brings together some of the best in the business, from across the US and around the world.

MEET THE CHAMPIONS OF IOT
image-2

Our meeting cadence

Weekly Touchpoints

Project requirements change. It is a fact, so we plan for it. This approach relies on deliberate, consistent feedback from our clients. To ensure we're always on the same page, we have a set meeting cadence that we follow rigorously for each project.

week

Standups

Daily: 5 minutes, optional

Each team member says what they worked on yesterday, what they will work on today, and if they have any blockers. This meeting is highly structured and intentionally short. Any blockers or issues raised during the standup will be triaged by product managers after the meeting. Clients are welcome to join daily standups, but they are not mandatory.

Iteration Planning Meeting

Weekly: 40 minutes, required

After the iteration ends, the team will present working software and work-in-progress in order to demonstrate the value delivered and obtain product feedback. We then assess how this iteration advances us towards our
current release.

Iteration Retrospective

Weekly: 30 minutes, required

Before planning the next iteration, we reflect on how we worked together and how we can improve our effectiveness as a team. We proactively identify and solve problems to improve performance.

scrum

Executive Summary Emails

Email summarizing our progress week-over-week and a high-level overview of how we're tracking against critical project milestones in an easily-digestible format.

Launch and beyond

zoom-3

Ensuring quality before launch

Very’s Hardware QA Lab offers proactive services designed to minimize initial production run hurdles. The lab identifies and recommends corrections to meet these standards during prototyping and pre-production phases, saving you time and submission fees when pursuing electrical and communication certifications.

Hardware QA

Very’s Hardware QA Lab offers proactive services designed to minimize initial production run hurdles. The lab identifies and recommends corrections to meet these standards during prototyping and pre-production phases, saving you time and submission fees when pursuing electrical and communication certifications.

iot_development

We solve for potential problems in the following areas:

Appearance Validation

  • Surface Defects – Flowlines, burn marks, haze, sink marks, weld lines, flash,
    and jetting
  • Color Consistency – Color match between parts
  • Molding Defects – Sink marks, warping, vacuum voids or air pockets, short shot, and delamination
  • Texture – Variation across the same part and between different parts of the same batch

Tolerance Testing

  • Critical Dimensions – We conduct a thorough inspection of design specification and tolerances
  • Weight – For certain products
  • Record Production Defect Rates
  • Packaging and Labeling – Often used to protect IP and identity of suppliers or third-party manufacturing partners

Form, Fit, & Function

  • Form – Final material, shape, weight, and color match expectations
  • Fit – We assess the interconnectivity of parts, the mate and mechanical function of the static mount, as well as dynamic parts
  • Function – Validation of part and assembly performance

Safety

  • Sharp Edges – Ensure there are no sharp edges unless required
  • Moving machine parts stationary parts
  • Pinch Point – A pinch point is a place where it’s possible for a body part or clothing to get caught between
  • Weight – Too heavy for a single person to safely lift

Electrical Design Validation

  • Validation independent of the design engineer
  • Onsite maintenance and long-term device testing
  • Functional testing across a specified temperature range
  • Remote device farm setup and maintenance
  • Power supply line and load regulation testing

Supporting you after launch

Launching your product is a major milestone, but it's not the end of the journey. You'll need to maintain and support your project to keep it operating at peak performance. Below is an outline for how we deliver our ongoing support services, providing technical support, application monitoring, and hosting.

Initial Setup

We set up communication and organizational tools correctly and automate where possible.

  • Configuration of automatic notifications of public vulnerabilities in Gems, plugins, modules, and other third-party dependencies, including paths towards installing patches and resolutions.
  • Technical audit and assessment of your application’s codebase — if it was built by someone other than us — and configuration to search for issues and security vulnerabilities.

Ongoing Services

We'll do these things on a daily basis to make sure your platform runs smoothly and securely.

  • Supporting third-party APIs and performing updates to remain compatible.
  • Supporting third-party APIs and performing updates to remain compatible.

As Needed

Beyond the baseline "Ongoing Services" we will use the time we have available to tackle your highest priority fixes, alterations, and improvements.

  • Proactive updates and security patches as new versions of Rails, Ruby, RubyGems, and React Native are released.
  • Deciphering and resolving web server error messages.
  • Improving the health of the codebase by integrating new test suites and enforcing consistent syntax standards.
  • Hosting and configuration improvements, such as containerizing your app

 

We are ready to get your IoT project started

Focused on speed, efficiency, and scalability, our product teams de-risk projects though trusted partnership, easy communication, and an agile workflow.

Focused on speed, efficiency, and scalability, our product teams de-risk projects though trusted partnership, easy communication, and an agile workflow.

HOW CAN WE HELP? HOW CAN WE HELP?