Working with Remote Software Teams

remote-software-team-meeting

Atomic works in close partnership with our clients, adopting their goals and becoming part of their internal team. This requires regular communication with the client’s product manager during every stage of the project — something we’ve very intentional about, especially when the client is too far from our office to have weekly in-person meetings.

To make sure remote software teams get and stay on the same page, we’ve created an approach for effective collaboration and communication that enables us to create a strong product, no matter how far apart our teams are. (Interestingly, this approach is almost identical to our process for working with local product managers.)

Kickoff & RDP Phase

Our projects start with a Kickoff and Research, Design, and Planning (RDP) phase that hone the product’s business opportunity, design, scope, development schedule, and release plan. This RDP engagement is collaborative, including the client’s product manager, other business stakeholders, and end users.

Co-Located Meetings

It is best for the client’s product manager and key stakeholders to be co-located with the team during the kickoff sessions as well as some of the post-kickoff review sessions for critique of concepts and prototypes. Digital tools are no match for a physical team space that allows for activities like collaborative sketching, whiteboarding, and wall-walk critiques of large format concepts. In-person, hi-fidelity communication is crucial for effective, collaborative ideation.

Overall, we can usually limit travel overhead to 1-3 distinct trips during the RDP phase. Sometimes our clients’ product managers travel to our office, and sometimes we travel to our clients.

 

Ongoing Status Updates and Communication

Communication cycles are dense during RDP as the product vision is being refined. Throughout RDP, we frequently post status updates or concepts to the project’s Basecamp account for feedback as needed. We also post status summaries at the end of every week. The majority of our synthesized, tangible design work and technical deliverables can effectively be shared and reviewed remotely via digital tools.

By the end of RDP, the Atomic team is sharing the product management responsibility and ensuring the product vision is applied to every detail.

Implementation Phase

The product’s scope and release plan for the Implementation phase is set during RDP. We aim to release a valuable product as early as possible.

One Atomic team member (either a designer or a developer) will also work as the Project Lead and will be responsible for managing the scope and giving progress updates. They will collaborate with the product manager throughout the project and run weekly status updates and planning sessions.

Weekly Planning and Feedback Cycles

During Implementation, Atomic organizes design and development tasks into a digital backlog of weekly iterations. We track progress through our backlog, against our milestones, and report on progress at weekly Iteration Meetings.

During these meetings, we report on scope completed against budget remaining and predict milestone delivery based on our velocity and outstanding scope. If product managers are interested in reviewing lower level tasks in detail, we’ll share our task backlog. At any given time, our backlog of work will consist of near-term tasks estimated in detail and future workflows estimated at a coarse level. Minor scope changes are fluid and happen during these weekly meetings.

Incremental Design and Feedback

Atomic doesn’t believe in big reveals. We share our designs with you frequently, during every stage of the project. Why?

  • It confirms that we understand each other and are all headed in the same direction.
  • It inspires conversations that generate new inspiration and new ideas.
  • It helps the whole team revaluate our priorities and choose the best next step.
  • It gives you something to share internally, creating enthusiasm for the project in your organization.

Lo-fidelity Interface Sketch

Instead of designing the entire product’s user interface up front, we create lo-fidelity sketches of key interactions and interfaces in a just-in-time fashion ahead of development. The just-in-time design delivery reduces rework and unneeded work. We are likely to share and review sketches of upcoming workflows or interfaces over Skype or GoToMeeting.

We frequently publish incremental versions of the application to a staging environment and announce via Basecamp when a significant milestone is ready for review. And we’re able to jump on a Skype or phone call at any point to answer a question or have a discussion.

Jared and Dustin Programming

When we approach developing a major new section of a product, we recommend co-locating again for a mini-RDP phase oriented around the new functionality.

Answering Questions, Keeping You in the Loop

In addition to scheduled meetings and feedback cycles, we’re always available for ad-hoc conversations. We’re readily available by chat, email, phone, videoconference, etc. to field any questions that might come up. If your Atomic project lead is not available immediately, they will usually be available within the hour.

Essential Elements of Successful Remote Software Teams

No matter what phase, we’ve found the following behaviors essential for keeping client managers and remote software teams working together effectively:

  • Co-locate to bring alignment on high-level direction and product design.
  • Exercise frequent, regular communication points tuned to the appropriate level of detail.
  • Use video-oriented tools for discussion to increase expressiveness and understanding.
  • Build a deep understanding the product goals during RDP. Be self-managing on minor decisions based on the product goals.

What are your experiences as a product manager or team member working in a remote relationship? What are your fears or concerns? What practices have you found beneficial?