For Software Development Teams, The World is Flat (And Virtual)

October 18, 2009
Source: flickr (User: reinholdbehringer)

Source: flickr (User: reinholdbehringer)

Software development teams are traditionally located in the same (or nearby) physical office location(s).  It’s useful for these teams to work from adjacent cubicles (or offices) as the close proximity facilitates collaboration, mentoring and joint code reviews.  In fact, the increasingly popular agile software development methodology lists the following in its Agile Manifesto: “The most efficient and effective method of conveying information to and within a development team is face-to-face conversation”.

I won’t debate this particular point, but I do think that the trends are pointing towards distributed (vs. centralized) software development teams.  Some of the factors that are causing this trend:

  1. Outsourcing and off-shore development – while the core software development team may be based out of a single physical location, corporations are increasingly leveraging off-shore development – both for its lower costs and its ability to tackle ad-hoc product requirements and requests.
  2. Working from home / telecommuting trend – whether it’s a child’s doctor’s appointment or the local outbreak of the H1N1 virus, workers are spending more and more time getting their work done outside of the office.  Ever walk into a large software development shop’s offices during the afternoon?  You probably noticed that more than half the developers’ cubicles were unoccupied.
  3. Good developers can be hard to find – your software development team’s most attractive developers may be located half-way around the globe.  Talented developers are hard to find these days – so why not extend your team’s depth but bringing on remote workers?  As an example of a distributed team working together on a large project, consider the development of the Linux kernel – according to the Linux Foundation, “over 3700 individual developers from over 200 different companies have contributed to the kernel”.
  4. Software developers and product owner in separate locations – it’s not uncommon for the software developers to be in a different location than the business or product owner who’s driving the product and project’s requirements.  As the internal customer, the product owner is obviously a key member of the team.

With all of these factors at play, it seems reasonable that alternatives need to be in place when face-to-face meetings are not possible.  And I have good news on that front – with the emergence and maturation of virtual worlds / virtual meeting technologies, there are plenty of solutions available.

Some technologies available to distributed software development teams:

  1. Virtual Meetings – e.g. WebEx Meetings, GoToMeeting, Adobe Breeze, etc.  These technologies allow users to share their desktops and participate in shared whiteboards.  With the desktop sharing, this allows one developer to “look over the shoulder” as another developer codes.  The New York  Times recently published an interesting article on pair programming – with virtual meeting technology, the “pair” can reside in separate physical locations.  A shared whiteboard may not be useful for writing code together – however, it could certainly come in handy during the pre-coding stage, to map out an architectural diagram or outline a software program’s flow chart.  For a no-cost alternative, developers can interact with audio and video on Skype, which now includes a free desktop sharing feature.
  2. 3D / Immersive Technologies – these solutions provide similar features to a virtual meeting, but add a layer of 3D and immersiveness.  There’s Second Life, of course – and there are also solutions tailored for very specific enterprise use.  Options include Teleplace (formerly Qwaq) and Forterra Systems.  Teleplace offers a solution called Program Management that seems well suited to the distributed software development team – it offers text chat, VoIP chat, video via webcam, shared documents and shared applications (all in an immersive 3D environnment).  Similarly Forterra’s OLIVE platform enables collaborative meetings, training and more.

In this “flat world” that we now live in, I expect software development teams will increasingly collaborate virtually.


How To Create A Vibrant (And Virtual) Business Community

September 25, 2009
Source: flickr (User: Samuele Storari)

Source: flickr (User: Samuele Storari)

The virtual events industry got its start in replications of a physical trade show or conference – the very first virtual events were virtual tradeshows, whereby platform providers re-created the look and feel of a physical trade show within a web-based environment.  These sorts of virtual events continue to gain traction and I expect to see continued growth as additional corporations (and entire industries) enter the mix this year and into 2010.

Due to the flexible nature of virtual event platforms, however, we’re seeing parallel growth occurring via many other virtual applications that ride atop the same shared infrastructure and platform.  As I wrote in a blog posting titled “Virtual Events: Available In Many Flavors“, we’re seeing virtual job fairs, virtual sales kickoffs and virtual partner summits running on vendors’ virtual event platforms.

Another application/venue that’s gained traction in 2009 is the virtual business community.  Rather than a discrete and fixed event that occurs over a live date (or a series of live dates), the virtual business community is a 365 day/year service that users leverage for explicit business benefits.  In my opinion, the Intranet of 2001-2008 will be moving towards virtual business communities, powered by the same platforms that service virtual tradeshows.

For me, the concept of intranet does not inspire much excitement or enthusiasm.  I’ve used intranets to find information (specifications, pricing, a phone number, etc.), but have never yearned to log into the intranet while bringing up my morning email.  “It’s just there” was the mentality I used to have.  I believe that virtual event platforms can create a vibrant and virtual business community, significantly moving the intranet concept up the value chain.  In fact, the business community becomes a virtual office, tearing down physical walls (and cubicles) to turn a globally distributed workforce into a close-knit and collaborative team.

Here are key tactics in building a vibrant business community:

Get users to keep coming back

You want your user base to login to the business community each morning before they even fire up their email client.  In fact, a truly successful business community may support email-like communications within the platform, making users less dependent on email.  To get your users to return over and over, you need:

  1. Content - it needs to be timely, relevant and useful.  Business-critical content should be housed here – the type of information that users need to get their job done – pricing sheets, internal contact information, customer contact information, product documentation, competitive analysis, etc.  Don’t lose sight of the timely angle – have your executives post company updates/news and make them available via videocasts or video webcam.
  2. Network effect – a bit of a chicken-and-egg problem here – but, you need to get a critical mass of engaged and sought-after employees interacting in the business community.  Once you have that critical mass, you’ll see the community grow, as the “draw” will be access to and interactions with key colleagues.  This is the same network effect that AOL Instant Messenger, Facebook and Twitter enjoyed – users sign up because their friends, family or colleagues were already there.
  3. Enable social and interactive tools – today’s intranet needs to be empowered with the capabilities of AIM, Skype, Twitter and Facebook.  This way, I not only find documents to download, but I interact with key people who have the answers I need.  If I’m a product manager and need an answer from a lead software developer, he might not answer my phone call or return my email right away, but if I connect with him via text or video chat, perhaps he will.  After all, I’m finding him in an (online) environment that he’s most comfortable operating in.

Enterprise-enable your Business Community

Today’s most successful social networking sites/services are used in a consumer setting (i.e. friends and family) – ask yourself what makes them successful and determine how those features can be adopted in a 100% (internal) business social network.  I could see parallels of the following services made available internally within the business community platform:

  1. flickr
  2. Yahoo Answers
  3. Skype
  4. Facebook
  5. Twitter
  6. StumbleUpon
  7. del.icio.us
  8. Google
  9. digg

The key, I believe, is not just to enable social tools for the sake of being social – it’s to enable social tools while simultaneously connecting those tools to your business applications and business processes.  Possible ideas:

  1. Integration with your HR / Human Capital Database – if you have a rich profile on each employee (birth date, interests, job function, etc.), expose shareable information within your social tools and auto-fill that information to make it convenient for all users.  So if I’m sending out an internal tweet, my user ID is hyperlinked to a rich profile that describes all shareable information about me and my job role.
  2. Integration with CRM Database – are users posting links to industry news and analysis?  How about doing a keyword search by company and matching those up to sales opportunities in your CRM database?  If an article was posted about Acme Corporation’s latest product launch, let Acme’s sales rep know, so that she can contact them about applicable services that you offer.
  3. Integration with ERP systems – perhaps a crazy idea, but what if you could tweet about your latest business trip and have the expense management system parse your (internal) tweet and auto-generate a row in your online expense report?

All told, the possibilities are endless and quite exciting.  I foresee the virtual business community (powered by a virtual event platform) to be a significant trend in the coming year.  I believe this to be the future of the intranet for 2010 and beyond.


Real World Meetings In A Virtual Office

February 11, 2009

Amanda Van Nuys, Linden Labs’ Director of Enterprise Marketing (and known in-world as Amanda Linden) has an interesting blog posting titled “Working in the Virtual World“.  Amanda describes her use of Second Life for work-related meetings and collaboration.  A neat physical/virtual tie-in was done with a conference room:

The physical conference room—Isabel—has a virtual counterpart that is an exact replica—Virtual Isabel. A camera in Isabel captures what’s happening in the room and displays it in the virtual space. Simultaneously, the participants in Virtual Isabel are projected on the wall of physical Isabel. The result is a seamless experience—two conference spaces, one real and one virtual, merge into one.

As for Amanda’s use of Second Life for meetings, she describes it as such:

These days, I’m spending at least 2-3 hours a day in Second Life, meeting with my colleagues distributed all over the world—collaborating, brainstorming, learning, and decorating my new office space in LindenWorld.

For companies with a highly distributed workforce, virtual worlds and their associated virtual meeting places can be a win-win scenario. I once met an employee of a Fortune 500 company who noted that he’d never met his manager, nor had he met any member of his entire team — except that he’ “met” them online, in web meetings, conference calls, Skype sessions, etc.

I’m a remote worker – I’m in the Bay Area, while the majority of my company is in the Chicago area.  Fortunately for me, my company provides an internal virtual office platform that serves as an interactive intranet plus meeting and collaboration space.  The virtual office is simply an application that rides on top of same platform that services virtual tradeshows, virtual career fairs and virtual sales meetings.

To be set up for a virtual meeting on our platform, here’s what I do:

  1. Login to the virtual office platform (via the web) – my co-workers and I do this as our first task once the computer boots up
  2. Activate my webcam
  3. Put on earbuds (so that the folks you’re speaking with don’t hear their voices reflect back into their sessions)
  4. Request a meeting with a co-worker within the platform

It’s as simple as that.  I tend to have a few meetings per week in the virtual office, mixed with the more conventional meeting via telephony conference call.  Here are the efficiencies I’ve seen with virtual office meetings:

  1. Lower overhead to start a meeting – since the virtual office provides presence indication, I know when a colleague is logged in.  I can initiate a webcam session with a colleague in the same manner that I’d start up an Instant Messaging session.  Compare this to the typical meeting “set-up”, where emails and Outlook invitations are sent and the meeting organizer awaits replies.
  2. Facilitates ad hoc, spur of the moment collaboration – similar to the gathering at the water cooler – or, the spontaneous brainstorming session around the whiteboard.  But in the virtual office, the spontaneity occurs while you’re still at your desk.  Additionally, requesting a virtual meeting session is very convenient – compare it to walking over to a colleague and tapping her on the shoulder.  Here, your colleague accepts/declines the session with the click of a mouse.  If she’s busy, she goes right back to what she was doing.  It’s like IM’ing a colleague rather than calling her on the phone.
  3. Material related to the meeting is at your fingertips (or a mouse-click away) – my virtual office session is simply a tab in my Firefox browser.  Information I need for a meeting is likely in another browser tab – or, in an application like Excel or Word.  It’s highly convenient to toggle between these apps and have the information I need at my fingertips.
  4. Immediacy - ever attend a face-to-face meeting and  take on an action item to send out a URL to all the meeting participants (when you get back to your desk)? In a virtual meeting, you can find that URL and copy/paste it into your messaging session. Now, your colleague(s) can review the URL in real-time and you can resolve issues (or obtain the necessary feedback) sooner.
  5. True facial expressions – in an avatar-based virtual space, I can emote via gestures or text comments. In a webcam-based virtual meeting, however, my colleagues can read my true facial expression.  The virtual office platform that I use supports multi-user webcam chats (of up to 9 participants), so we can all see one another, as if we all piled into the same conference room.

I haven’t even mentioned the savings in carbon emissions and cost (i.e. the use of IP technologies and the bypass of the telephony network).  I’ll always want to connect with colleagues in person – but, today’s technologies help remote workers get the job done – while increasing efficiency and productivity.  A long day in the (virtual) office never felt so good!


Interview with Vizitant Founder James Corbett on Video Communications

January 5, 2009
Vizitant Founder James Corbett (on left)

Vizitant Founder James Corbett (on left)

Q&A with James Corbett, founder of the not-for-profit organization Vizitant.

  1. Tell us a little bit about Vizitant? Sure. Vizitant is a project which aims to bring virtual presence services to socially marginalized groups of people like the elderly, carers, disabled and so on. By virtual presence I mean video-calling and other means of conveying the illusion that one is in the company of others.
  2. How do you facilitate technology use by the elderly or disabled?  We find the most user-friendly devices (e.g. Asus AiGuru SV1 and Eee Top) and configure them to be as simple to use as possible. That can be as basic as setting Skype to auto-answer and auto-start video. Or as complex as making hardware and software modifications.
  3. What would you like to see in video calling technologies that’s not yet available today? I think most of what we need is available today, but in the very high-end or corporate systems like Cisco Telepresence 3000. Which of course is totally beyond the budget of our target community. So what we need to see is the economies of scale in the marketplace that can push this quality of system, or something approaching it, into the consumer space. And of course that’s what Cisco is planning to do within the next couple of years. However, in the meantime, Skype and other low-end solutions are improving the level of experience dramatically for those with high quality webcams and dual core processors. Beyond that we need integrate more of the ‘virtual’ into the ‘presence’. While it’s great to feel like you’re in the same room as a remote relative imagine being able to feel like you’re both at a table together in a Parisian cafe. Or on a Caribbean beach. This is the kind of idea that might remind you of the ‘Holodeck’ on ‘Star Trek’ and that’s where, I believe, this technology can ultimately take us.
  4. Any plans to support multi-party sessions, sort of like a “town hall” meeting? Yes, we are in early discussions with an Irish company called OnlineMeetingRooms.com about using their multi-seat videoconferencing solutions for “town halls”.
  5. Do you envision applications of this technology for medical diagnosis and triage? Absolutely. There are trials ongoing at a hospital in Dublin, Ireland for a ‘robot doctor’, which is something like Skype Video on wheels, used in the early assessment and treatment of stroke victims.  Read more about it here: http://www.vizitant.com/2008/07/remote-presence.html.  And at the high-end there is HealthPresence – a specialized adaptation of Cisco’s high-end Telepresence system outfitted with medical diagnostic equipment and configured in a self-contained pod.  More info can be found here.
  6. Prior to Vizitant, what sorts of projects or technologies did you work on?  I spent a number of years with American multinationals in Ireland, such as Apple, Motorola and Analog Devices. There I worked in Software Test and System Administration roles. So I had varied exposure to a range of operating systems, network systems and so on. Experience which has taught me to look for the correct solution to a problem and not just “what we’ve always used here”.
  7. What’s it like running a business in Ireland?  In general it’s very good. Ireland made No. 2 in Forbes recent list of Best Countries for Business and that’s fairly well borne out in reality. However we are somewhat lacking in terms of Venture Capital and Angel funding options.

Video Calling: Easier Done Than Said

December 27, 2008

Video calling has gotten to be very easy and convenient.  Chris O’Brien, in a Mercury News article, tells us about his mother’s adoption of Skype for video calls.  I have a similar arrangement, whereby we ring up my East Coast based parents for weekly Skype video calls (we’re on the West Coast).  It’s great to not only hear from family on a regular basis, but to see them as well – smiles, body language, their latest purchase, the kid’s latest art project, etc.  When our parents’ generation can configure and activate a service (like Skype), then it becomes prime time for widescale adoption.

And, technology is going to make it easier and easier.  I see desktop and laptop manufacturers bundling webcams and associated software, so that video calling is ready to go upon initial power-on of a new computer.  When I purchased an Acer Aspire One netbook this month, I noticed (only when opening the box) that it includes a built-in webcam.

With SightSpeed now part of Logitech, I wouldn’t be surprised to see a Logitech-powered bundle of video calling capabilities included in some makes of PCs or laptops.  I expect to see increased use of video calling in 2009, primarily at a consumer level.  It will be interesting to see if video calling emerges in the corporate space and whether it becomes useful (or popular) in venues like B-to-B virtual tradeshows.

Gotta go now – the parents are ringing me on Skype.