Increasing interaction in a distributed development world

By Curt Schwaderer

Embedded Computing Design

December 02, 2015

Increasing interaction in a distributed development world

Today's Internet-connected world has changed the way we live, learn, work, and play. The embedded industry is no different. Geographically distributed...

Today’s Internet-connected world has changed the way we live, learn, work, and play. The embedded industry is no different. Geographically distributed teams bring new challenges with extremely high stakes. If teams do not learn how to effectively collaborate, productivity decreases, products fail, and organizations fall apart. In this month’s column I talked with Mandy Ross and Jon Jesse from Sococo about these challenges and how a new breed of collaboration environments can help.

Agile development practice values communication and interaction. Agile defines a number of interactions within the team like daily stand-ups, sprint planning sessions, and sprint retrospectives. Agile also defines interaction with external stakeholders – customers depending on new features or the organization’s management. Most of today’s embedded organizations are truly global companies with engineers and stakeholders distributed around the world. This causes significant strain on agile practices. As a result the agile process is severely challenged without effective, new-age collaboration tools and environments that can bring people together effectively.

In 2007, three technologists from Iowa, California, and Oregon were frustrated with this exact problem. They realized that in order to effectively collaborate, they needed a better-integrated collaboration environment that would be more rich than just phone lines and provides better real-time interaction than email. Sococo was founded to address these challenges.

From custom to browser based

Replicating the natural collaboration found inside an office environment requires innovative thinking. Sococo decided to take a page from the gamification realm. The visual layout was conceived by the designer of the Pandemic board games in order to innovate a virtual work environment that could inspire natural collaboration.

Mandy Ross, Director of Marketing at Sococo and Scrum/Agile coach provided an analogy.

“Think of Sococo like the Clue board game,” Ross says. “Instead of finding the who-dun-it, you’re leveraging virtual rooms, capabilities and interacting with people in an office environment.”

Ross mentioned Sococo started as a custom platform from the ground up with communications platforms, protocols, and user interface application. The challenge became the amount of effort needed to maintain and advance the platform.

“With a custom architecture, release cycles were heavy and we couldn’t be as nimble as we wanted to be,” Ross says. “As WebRTC matured, it became exactly the right platform from which innovative collaboration software could be developed. It allows us to hone the user interface, add new features, and keep release cycles fast and nimble.”

Collaboration in the virtual office

Just because a variety of voice, chat, video, and screen sharing tools exist, doesn’t mean teams are increasing collaboration. A corporate culture must be built around the base communications services. For example, when using chat or email you have no idea if the other person is there, and responses may not be immediate. This results in multiple repeated questions and comments back and forth, which waste time. Facial expressions can’t be seen. Tone of voice isn’t there. It’s hard to know whether everyone on the chat is engaged or if they are distracted doing other things.

Sococo starts with a visual floor plan. It’s a key element to facilitate the virtual office collaboration culture. Ross mentioned the initial successes of the platform.

“Companies are telling us that when they have Sococo, the teams have been much more likely to reach out to someone directly rather than sending email, ” Ross says. “The corporate world has gotten much more sophisticated since email – the delays and misunderstandings involved can cost companies thousands in wasted time for just one email thread. Shoving an email chain around when you don’t know if or when the right people will see it is not a good way to be productive.”


Figure 1: Sococo virtual floor plan diagram.
(Click graphic to zoom)




To start, companies can brainstorm their own office layout. The virtual office is a “gamified” experience, where avatars of the people involved are present, can move around, and interact. It’s real-time, immediate, and provides for a spontaneous collaboration experience beyond something like a Google Hangout. Within the virtual office, you can see where people are, grab them, and pull the right people together when things come up. In addition, you can see who is collaborating together in real time.

Each room on the virtual floor plan can be labeled – examples are private offices, break rooms, IT department, conference rooms, and briefing rooms. Rooms can be renamed or changed on the fly, depending on how organizational and team needs evolve. Companies have even added social rooms and beaches to their map layouts.

The avatars themselves carry various badge icons and visual indicators with them as well. Flashing avatars show talking. There are also indicators for video, screen sharing, and availability. The integrated audio, video, and screen sharing environment with multiple windows provides for understanding how engaged people are – tone of voice, expressions, and activity within the virtual office are indicators of effective collaboration versus a faceless phone line.

There are a number of privacy controls included as part of the platform. If you’re in your office and close your door, avatars cannot enter your room without knocking. There is a “busy” badge, which provides for complete privacy when needed, and a status message that can be easily updated for more subtle communication.

When the avatar has a headset and is in a room, it’s the indicator that they are able to hear what is happening in that room. If no headset, they cannot. The microphone and blinking avatar indicates they are talking. There is the ability to turn on camera video and switch between map, video, and screen sharing. One interesting thing about the screen sharing and display windows is that eye icons show up for each avatar looking at that specific screen share. These things in combination are strong indicators of the level of engagement of everyone in the meeting or discussion.

Agile and the virtual office

Agile stresses communication over processes and documentation. So it stands to reason a virtual office collaboration environment can help remove many of the challenges of geographically distributed teams and stakeholders.

Ross mentioned this facet of agile has been a personal challenge of hers for a long time.

“When I became a telecommuter, I found it hard to be effective with just skype and conference calls,” Ross says. “If people were missing, it was extremely hard to gather them up and wasted a lot of the team’s time. With an environment like Sococo, I’m able to see where they are and pull them in immediately. When I first saw it as a ScrumMaster, this level of collaboration blew my mind. It really embraces agile in a way nothing has to date.”

A sprint description using the virtual office

The environment can be set up to have a scrum room, planning room, and retrospective room. All of the management tools like the product backlog, code repository, and product life cycle management tools are still used, but interactions can be inside of a given room in the virtual office.

The first day of the sprint, everyone shows up in the planning room and the backlog is reviewed, user stories worked on and estimated, and the planning for the sprint occurs. Everyone in the room can interact; if there are a couple people who need to talk about something, they can quickly move to a different room, then pop back. During the planning, the ScrumMaster has insight into who is looking at what screens, how they are participating, and identifying people who may not feel comfortable collaborating. There is an equitable division of attention – by seeing how people are interacting, the ScrumMaster can help raise the comfort level to encourage everyone to participate in the planning so everyone feels “bought in” for the sprint.

After the planning meeting if there are actions or various people who need to meet and solve a problem or execute on an action and the ScrumMaster doesn’t see that activity (i.e., those people in a virtual room interacting) they can provide a reminder or pull the people into a room when the environment shows they are available.

Sharing multiple desktops and applications simultaneously is especially powerful within the embedded development community where pair programming, code reviews throughout the sprint, and demonstrations are a big part of the agile cycle.

The sprint review is a time where the features completed are demonstrated to the stakeholders. Here is where the Sococo virtual environment enables guests to participate. The only requirement of the guest is that they have a web browser. The guest has all the same capabilities and shows up as an avatar in the sprint review room. Demonstrations can be performed with all the same audio, video, chat, and screen sharing capabilities with multiple windows as before. One important note for the guest – they are restricted to the room that the conference organizer allows. So guests can’t wreak havoc within the virtual office by going elsewhere or attempting to bother others that aren’t in the room they are in.

Once the sprint review is completed, the sprint retrospective happens. Ross believes retrospectives are the key to agile.

“Retrospectives need to have everyone engaged and result in actionable items for the next sprint,” Ross says. “In a conference call environment there tends to be one or two people that dominate the conversation. Facilitators must be very strong and keep a level playing field. The virtual office and retrospective room environment helps that dramatically.”

More on guests in the virtual office

Someone wishing to invite a guest into the virtual office simply sends an email with a link that says the link will bring them into virtual room X. The environment is currently binary – you’re either a guest or you aren’t. But there is a roadmap to broaden this to include various access levels and capability profiles. Once the link is activated, the person can let the guest into the room and the meeting can begin.

Security in the virtual office

Chat logs, screen sharing, conversations, and video can be filled with confidential information or trade secrets. Therefore security is a key issue with the virtual office.

Communications are SSL based. There are a number of encryption schemes that keep the communications across the network secure as well as within the virtual environment.

From the virtual office “go into a room” perspective, if someone that wasn’t in the meeting at the time the chat, audio, or screen sharing was occurring, they will not see any of that when they go into that room (so the “forgot to wipe off the whiteboard” problem is fixed in the virtual office). However, if the person was in the meeting room at the time of the meeting, they can see all the chat logs and other artifacts that were presented in the meeting.

The Sococo virtual office environment is a connection tool – a way to consolidate and integrate all your favorite collaboration tools in order to enhance the experience and increase productivity.

Virtual office analytics

With so much collaboration going on, the environment has a wealth of extremely valuable information that can be leveraged to create a more vibrant, interactive, and productive company. While not currently in the platform, Ross discussed the possibility of various dashboard metrics for understanding communications circles, thought leaders, areas of improvement, and identifying employees that may need extra help to increase productivity.

“Perhaps you had a very productive sprint,” Ross says. “Looking back at how people interacted during that sprint can be very helpful to identify key behaviors that help. For example, maybe there was a lot more screen sharing or video happening during the sprint. Maybe guests were invited in more often. Maybe specific guests came in shortly followed by significant number of tasks completed. These kinds of things can be extremely powerful within the environment to increase productivity and increase employee engagement and happiness.”

Improving communication with gamification

The number of “purpose-built” communication tools that have emerged over the past 10 years is astounding. This has enabled people to communicate in various ways, but the true productive collaboration environment is missing. The gamification of the virtual office environment with the right set of capabilities and a corporate culture that embraces it can cause a leap in the productivity of geographically distributed development teams.

Curt Schwaderer, OpenSystems Media