Shop Forum More Submit  Join Login

We're all remote

Mon Mar 21, 2011, 10:09 AM by kemayo:iconkemayo:
Many companies allow you to work from home, either full-time or a few days a week. Sometimes it's a privilege, granted to the top performers. Unfortunately this often leads to a situation where the "core team" is in a central office, and the remote developers are marginalized because they're not visible. In that case choosing to use your remote working benefits can be very bad for your career.

For us remote is just the way we work. The deviantART hq is in Los Angeles, and no developers live close enough to visit casually. I think the closest developer is in San Francisco. The nearest developer to me is about 250 miles away. Excepting the search team (who are based in Vancouver), to the best of my knowledge no two developers even live in the same city.

Now, this does come at some cost to us! We have to make an effort to keep our intra-team communication working, whereas a company with all their employees sitting next to each other gets a certain baseline for free.

How do we work?

We use Skype. A lot. The entire company communicates through a number of Skype chat rooms. Each team gets a chat, some topics get a chat, and all projects wind up with one. There's a trac install in use for issue tracking and wiki. Some teams prefer using Basecamp or other tools instead of trac, and they're free to do so.

As an earlier article mentioned all our scattered developers get a virtual machine running a functioning copy of deviantART to develop on, so they're not tied to development servers in a central office.

Agile development

We have a modified agile system in use, which has evolved over time to meet our needs, and works reasonably well for us. We tried standard agile methodologies, and found they were a bit awkward with a remote team. Pair programming or a scrum, for instance, just aren't the same without colocation.

Our system revolves around weekly iterations, of which we are on our 174th since starting this system.

Each week on Monday our teams demo their progress to each other and to their internal customers on one big demo call that everyone attends. The demos are short-and-sweet; 3-6 minutes is standard. The general format is "our expectations for this week were to do X; we did that / didn't do that; here's supporting information".

After the big demo we break off into team-specific calls where the lead developers and their customers work out the next iteration's expectations. Some teams will decide to iterate at a different rate for one reason or another; it's not uncommon to discover that you need to make a quick prototype or view the analytics on a quick change to decide what to do next.

Throughout the iteration it's up to the developers on a given project to decide how they communicate. Some projects wind up doing daily check-in Skype calls, others work entirely in text chats. Since we have developers in widely disparate time zones it's again up to the developers on a project to work out amongst themselves times when they're all available to exchange information; there's no standard "office hours" required by the company. (Though people do gravitate towards Pacific time, it seems...)

Project teams

A normal project consists of a customer, a lead developer, and 0-2 other developers. If it involves changing the site's UI then a member of the UI team is assigned to work with the project, because UI is hard. Similarly if it involves changes to our infrastructure then a member of the Tech Ops team may be attached.

"Lead developer" is a term which can mean almost anything in this industry. To us it means the developer whose job is to coordinate the work of other developers on the team, and to work out with the customer what the project's expectations are. The lead is still an active coder on the project; we've yet to have a project with enough overhead that a pure manager is required.

The "customer" can be almost anyone. We pick someone in the company who we think can represent the needs of the project. So on a purely technical project it might be someone in dt, for a new feature it might be the product lead who championed the feature, for changes to our print store it'd be someone in retail, etc.

Team size is flexible, and depends on the project. Some teams do wind up with just a lead developer, if the expected workload is low. However, we prefer to put more than that on a team to make sure that several people will go over the code produced.

Reactor

We do have one long-running project team called Reactor. Its role is to fix bugs that aren't related to other active projects, and to implement features that aren't large enough to warrant spinning up a separate project. It's also where we assign all new hires initially, so its lead developer gets to mentor them and introduce them to our codebase. Reactor makes a good training ground since it's guaranteed to drag developers through disparate areas of deviantART.

Face time

Working remotely works well for us, but we like to supplement it with occasional face-to-face meetings to help make sure that everyone knows everyone else. When collaborating over Skype it's easy to just never interact with someone whose work isn't related to your area, after all.

Thus every year for the holidays deviantART flies everyone in to hq for our holiday party. We spend a week working a little and socializing a lot, to cement our sense of "team".

Particularly complicated projects may also involve getting everyone involved together in one place while the general shape of the project-to-come is hammered out. For instance, before the groups project launched in late 2008, the whole team spent a week in Canada debating what groups should be, and wrote the first prototype of the new profile page widget system while they were up there.

Better ways

A pseudo-regular activity in our off-topic developer chat is trying to find a better alternative to Skype for the text-chat portions of our communications. (Skype chat is great if you like the Skype client; if you don't then you're stuck with it anyway.) We've run through a number of options, but it's tough finding one which is:

  • non-technical enough for our non-developers
  • enough better than Skype to make it worth the hassle of switching everyone over


IRC is a common contender, but tends to fail on the latter point.

How have similar systems worked for you? Do you have a better pure-remote development methodology that we've not heard of?


Add a Comment:
 
:icondouglasnomizo:
douglasnomizo Featured By Owner Mar 9, 2014
You guys should try Slack for team communication
I'm using it in my current job and it's really cool an clean.
:D (Big Grin) 
Reply
:iconbookwyrmk:
bookwyrmk Featured By Owner Feb 17, 2014
Perhaps check out Trello?
Reply
:icondistrahera:
distrahera Featured By Owner Nov 25, 2013  Hobbyist Digital Artist
I can recommend an XMPP client, works on any platform and lets you have control over the data being sent between one another. I personally like Pidgin and Jabber and Adium, the latter being my favorite.
Reply
:icondjennyfloro:
DjennyFloro Featured By Owner Feb 17, 2013  Professional Digital Artist
Just looked at this today.
Well, have you ever considered TeamSpeak ?
It support all that you want, and if you make the server's log available, then everyone is provided with the whole information of what went on.

There's also another one which is even more efficient for teamwork, but I don't remember the name, I'll try to find it later on and add a sub-post to this one if I can get my hand on it. Actually, it's the one we used at our work when the team had to scatter, it did an excellent job and we're planning to use it when we will put in place the remote team for one of our project.
Reply
:iconkikio7th:
Kikio7th Featured By Owner Sep 15, 2012
What about webex?
Reply
:iconeddz:
Eddz Featured By Owner Apr 28, 2012  Professional Interface Designer
How many people work at the company? And what proportion is made up of developers? Thanks.
Reply
:iconphpfour:
phpfour Featured By Owner Apr 15, 2011
I've had good experience with hipchat ([link]) for group chat with remote teams...best part it has good mobile versions (iphone/android). And a pretty decent UI.
Reply
:iconnuckchorris0:
nuckchorris0 Featured By Owner Apr 10, 2011  Professional General Artist
I personally like to use deviantART Chat, since it's got a good user interface, it's rather natural, and it's also rather inobtrusive.

Plus maybe if you started using it more internally, we might see some bugs getting fixed ;)
Reply
:iconsococoguy:
SococoGuy Featured By Owner Mar 31, 2011
Might I recommend Sococo Team Space? I use it where I work and it's actually a really awesome tool for helping our distributed team stay organized and communicate. Like you mentioned with every team gets their own chat- we do that too, but it all happens in a room. Easy to keep track of. It's got voice chat and screen sharing, so when we do our daily standups (we're Agile too) we can all look at the screen showing Unfuddle while still talking, and stay on the same page during the meeting about who owns which tasks. It's a pretty comprehensive communications tool- our team is happy with it. www.sococo.com
Reply
:iconugremlin:
UGremlin Featured By Owner Mar 30, 2011
We have also a similar system in place here. We're all remote, customized Agile process, using Skype for voice communication, good old mailing list for text chatting and Acunote (acunote.com) for project management. We also took a daily meeting idea from Scrum but instead of stand-up, doing it sitting and talking by skype. Still works perfectly.
Reply
:iconyoavf:
yoavf Featured By Owner Mar 28, 2011
You should check out [link] - this is what we use at Automattic for every project and team. It's a group style twitter/forum hybrid that allows (among other things):
- Threaded async discussions
- Archives and search enabled
- Tags
- Mentions (@username)

If you run the theme on WordPress.com you also get the added benefit of :
- email subscriptions
- Jabber notifications

And since it runs on WordPress, it's infinitely extendable and completely open source.
(We use p2 in addition to IRC/skype).
Reply
:iconesfourteen:
esfourteen Featured By Owner Mar 28, 2011
Our team di.fm is entirely remote as well, we experimented with chat apps like campfire and hipchat, but in the end we opted to setup our own Jabber/XMPP server (we chose OpenFire). So far everyone is very happy, virtually all clients support Jabber, it supports standard user to user chat as well as chatrooms (multi-user chat), and has the added bonus of placing all of our communication over SSL.
Reply
:iconohilska:
ohilska Featured By Owner Mar 28, 2011
The combination of Skype + trac is very common, but they don't really play well together, and while trac is a decent issue tracker, there are better tools for agile development.

I like Pivotal Tracker ([link]) + Flowdock ([link]). Inside Tracker you manage your backlog and its priorities, and Flowdock gets notifications about everything that's happening in Pivotal Tracker. Flowdock integrates will with many other systems too, and it's easy to use.
Reply
:iconckoning:
ckoning Featured By Owner Mar 28, 2011
HipChat is built expressly for the purpose of moving teams from disparate public IM services to a common, private, controlled service. The UI is nice, the desktop application is cross platform, and it is feature rich with a low learning curve for the !dev folks. [link]
Reply
:iconjohne20:
johne20 Featured By Owner Mar 28, 2011
We have a very similar remote workforce and we all pretty much hate the skype client, so we use our own jabber server and chat room(s) for group chats. We have written a custom (small) application to allow all devs to browse the group chat history. This has been very useful for devs spread around the world in different time zones.
Reply
:iconckoning:
ckoning Featured By Owner Mar 28, 2011
HipChat was built for the express purpose of migrating IM function off of disparate public protocols and onto a private, controlled service. It's cross platform, and integrates with desktop notifications. Simple, easy to understand UI. [link]
Reply
:iconitti:
Itti Featured By Owner Mar 23, 2011  Hobbyist General Artist
Who are the search team and what do they do?

I really like hearing about these things, keep 'em coming!
Reply
:iconsanguineepitaph:
SanguineEpitaph Featured By Owner Mar 23, 2011  Hobbyist General Artist
This sounds distinctly like my high school. :B Project-based, 21st-century learning for the win!

Sounds like it'd be a fun career. :nod:
Reply
:iconpickley:
Pickley Featured By Owner Mar 21, 2011
You could just use dAmn. Maybe it wouldn't fall over every second day if you relied on it?
Reply
:iconelectricjonny:
electricjonny Featured By Owner Mar 23, 2011  Hobbyist Photographer
I think the dA chats would need a lot of work before they could replace Skype. For one, if you aren't in the channel, you can't see messages posted while you weren't there. That seems the be the most limiting thing and one big reason Skype is better.

If dA chats could keep a log of EVERYTHING that was said (without the need for a bot) it would be close, but still, not sure if depending on a web browser is the best thing there.
Reply
:iconpickley:
Pickley Featured By Owner Mar 23, 2011
Well they could implement a system quite easily to show the user of the chat the last fifty messages before they joined or similar.
Reply
:iconelectricjonny:
electricjonny Featured By Owner Mar 23, 2011  Hobbyist Photographer
Yeah, seems pretty doable. But I bet adding something like that won't happen till the dA chats hit version 1 or whatever the next version is.
Reply
:iconpickley:
Pickley Featured By Owner Mar 24, 2011
Lol, you mean when they actually touch dAmn other than maintaining it?
Reply
:iconelectricjonny:
electricjonny Featured By Owner Mar 24, 2011  Hobbyist Photographer
Haha, yeah they don't really bother with it. dAmn (fuck I hate that term. Call it the chats or something, since dAmn also includes the forums, and the shoutbox), anyway, dAnm really seems like the forums. They get updated every now and then, and not really directly. The last time I remember any real update is when they added the more button, along with /list. And that was a few years ago.
Reply
:iconpickley:
Pickley Featured By Owner Mar 24, 2011
Haha, I wasn't around then so woulda missed the changes. :shrug: Third Party devs do more work on dAmn than dT does now.
Reply
:iconelectricjonny:
electricjonny Featured By Owner Mar 24, 2011  Hobbyist Photographer
Haha, well I sort of doubt that, but the third party guys sure as shit have more interest in it. The original developers just, well, just don't have the time to work on it. They're too busy with other things. Sad, but that's how it is (or how I see it, at least).
Reply
(1 Reply)
:iconmalcam:
malcam Featured By Owner Mar 21, 2011
I appreciate the transparency offered by this blog, not many businesses offer this level of information. Good work. I have been on the verge of applying for the developer positions on multiple occasions, just wish I knew more about the salary/benefits beforehand. Ah well.
Reply
:iconilantiis:
iLantiis Featured By Owner Mar 21, 2011  Hobbyist Digital Artist
In answer to your actual question (How have similar systems worked for you? Do you have a better pure-remote development methodology that we've not heard of?), we use Skype as well where I work. We have the same issues with finding a good contender and have basically decided that this summer we will just BUILD what we need.
Reply
:iconjonathoncomfortreed:
jonathoncomfortreed Featured By Owner Mar 21, 2011  Student Photographer
Fascinating. :nod:
Reply
:iconpikadudeno1:
pikadudeno1 Featured By Owner Mar 21, 2011  Hobbyist Digital Artist
Bookmarked this, as I have a feeling I'll need to refer to this someday. Working with remote co-workers all over the world sounds like my idea of a fun time. :la:
Reply
:icondxd:
dxd Featured By Owner Mar 21, 2011  Hobbyist Photographer
I think remote working is a great thing for larger global entities and I think it's something we'll be seeing more of in the near future. Broadband speeds are so fast these days and you can build a computer almost as good as any office will buy that it doesn't make a huge chunk of difference like you've pointed out.
Reply
:iconlost-angle:
lost-angle Featured By Owner Mar 21, 2011  Hobbyist General Artist
I don't know any potential chat clients, and I've never worked in an environment with remote workers (aside from volunteer stuff with dA, then it's all been handled through chatrooms and groups). Thanks for the insight, this should help me at some point along the line with my business classes.
Reply
:iconznow-white:
znow-white Featured By Owner Mar 21, 2011
Just gonna leave you all a :beer:
Reply
:icongregr:
gregR Featured By Owner Mar 21, 2011  Hobbyist Photographer
Jabber/XMPP seems to make sense for a Skype replacement.
It's a standard protocol and you can control your own jabber server as you can control your mail server.
Google talk for example use xmpp.
Reply
:icondaphyre:
daPhyre Featured By Owner Jun 6, 2011  Hobbyist Writer
I totally support you. I've been working with XMPP latelly and it is really great for colaborative development through the Multi-User-Chats (MUC).

Still, we use it in text-only mode, because since it has a standard for VoIP comunication, we haven't found any client that supports it correctly, and that's why we haven't totally replace Skype for it.

By any chance, would you know any VoIP supporting Client for this?
Reply
:icongregr:
gregR Featured By Owner Jun 9, 2011  Hobbyist Photographer
Hi =daPhyre you can check the jingle page on wikipedia to find a client : [link]

Server is important too, it must implement jinglenodes. google "jingle" to find a server


I think that, at the moment, voice and video over xmpp isn't trivial :(
Reply
:icondaphyre:
daPhyre Featured By Owner Jun 9, 2011  Hobbyist Writer
I see, I had not noticed that Jingle was the standard proposal.

Still, to really use something as an Skype alternative, voice and video are trivial! We will have to probably wait until Jingle becomes official, and meanwhile, still being with Skype...
Reply
:iconheatheru:
Heatheru Featured By Owner Mar 21, 2011
Would Google Talk be any better?
Reply
:icontrlcks:
TRlCKS Featured By Owner Mar 21, 2011  Professional Interface Designer
tokbox - [link] was recently used for another site I help on, very easy to use and simple controls, and all browser based.
Reply
:iconvsconcepts:
VSConcepts Featured By Owner Mar 21, 2011  Professional Interface Designer
I dunno why you don't just make your own.. How hard can it be?! Virtually every other large social network or site, has "live" assistance, and/or an IM client functionality built right in. I think dA just slacks too much.
Reply
:icondxd:
dxd Featured By Owner Mar 21, 2011  Hobbyist Photographer
dA has live assistance, there is #help and #MNAdmin where you can usually find at least one active mn@ and being a former volunteer you know that we have quick links via skype to several core staff members :)
Reply
:iconvsconcepts:
VSConcepts Featured By Owner Mar 21, 2011  Professional Interface Designer
LOL. I think you kinda missed what I was sayin... Yes, we have Skype, and it works, but not everyone likes or uses it, and it DOES have some limitations, just as "Net Meeting" did years ago. Skype is an outside client, and we already HAVE the tech and stuff, to build that type of functionality right into the site. As I stated. Get rid of the third party software (ie: Skype/MSN, etc.) and have deviantART-IM.
Reply
:iconneurotype:
neurotype Featured By Owner Mar 21, 2011  Hobbyist General Artist
Sounds awesome :O

Is Skype really that bad? I was under the impression it was one of the best available IM programs with conference and video capabilities (well, outside of those specially developed business softwares).
Reply
:iconkemayo:
kemayo Featured By Owner Mar 28, 2011
It is a fantastic voice chat app, no question. It's just a bit painful as a chat app for some people, and the new developments in Skype 5 make us feel pretty certain that our use-case of large chats is not being well catered to.
Reply
:iconbekey:
Bekey Featured By Owner Mar 21, 2011
Nice culture :B
Reply
:iconbekey:
Bekey Featured By Owner Mar 21, 2011
Use teamspeak or ventrilo? Teamspeak 3 already has text chatrooms and all that fancy shit.
Reply
:iconsonamyfan362:
SonAmyFan362 Featured By Owner Sep 20, 2012  Professional Writer
I use Ventrilo.

I have my own Server.... however, it can only accept a Maximum of 32 clients.... eh, heh.... I'm guessing it ain't big enough for the whole Volunteer Team.... :blush:.
Reply
Add a Comment:
 
×

:icondt: More from dt


More from DeviantArt



Details

Submitted on
March 21, 2011
Link
Thumb

Stats

Views
16,464
Favourites
2 (who?)
Comments
51
×