The Online Office

This is the 21st century. We're several years into the Web 2.0 movement. This should all have an impact on how software development is done.

Frankly, there's no reason for a software development team to be tied to a particular physical location anymore. A team should be able to collaborate online using online tools. That's what we set out to do on our current project at MetroStar Systems, where we're using an agile development methodology to produce an online video contest for the Education and Cultural Affairs Bureau of the Department of State.

Is it really possible for a team to be 100% online? To collaborate using nothing but online tools?

Yes, it is. And I'm going to show you the tools that we used to do it.

Core Applications

Here are the key web-based applications that we've adopted as part of our goal of having our team do everything online:

  • Acunote: This is a freemium site that allows you to define and track the sprints associated with agile development methodologies. It's free for a team of up to 5 people, and allows unlimited projects. It's a great tool, and has rapidly become indispensable.

  • EngineYard: This site offers a variety of online tools for managing hosted applications. The company has made a particular investment in supporting the Ruby on Rails community. Their online tools integrate seamlessly with GitHub, allowing releases to be pulled from the source code repository and installed with a single mouse click. Their hosting plans also include GitHub accounts.

  • GitHub: GitHub is an online source code repository designed to work well with the git source code management system. Git allows each developer to have a full copy of the project repository. It adds some nifty capabilities for branching, merging and syncing repositories with each other. GitHub adds a number of features on top of the core source code management features, including a wiki, and issue tracking features and code distribution capabilities. Having the wiki is particularly nice, since it allows the team to easily collaborate on documentation (and Gliffy diagrams can be easily embedded into wiki pages).

    GitHub is free for open source projects. It's a relatively low-cost option for commercial projects. The Rails community has adopted GitHub en masse. Additionally, if you use a hosting service like EngineYard, a GitHub account may be bundled with the hosting.

  • Gliffy: This is a freemium site that provides a variety of online diagramming features. The team has used Gliffy for both conventional diagrams and more specialized diagrams such as Entity-Relationship Diagrams. Gliffy allows diagrams to be exported as graphics; alternately, embed code can be generated so that a diagram can be embedded in a web page, which can be a nice way to add an diagram to a wiki (and the embedded diagram will reflect any updates to the original Gliffy document).

    The diagramming features are extremely nice. The only downsides of the free version of Gliffy are: 1) you can only have a maximum of 5 documents, 2) the Gliffy logo appears on any generated graphics or embedded diagrams, and 3) all documents are publicly accessible (you have to pay in order to have private documents). It's definitely a tool that's worth paying for, though.

  • Google Docs: Google provides a variety of would-be online replacements for the applications in Microsoft Office. Well, they may not yet be in a position to make Microsoft Office obsolete, but they're still pretty effective tools. With Google Docs, users can create documents online and easily share them with other users.

  • Screenr: This Java-based tool allows you to quickly and easily create screencasts using your laptop. This is particularly effective with the MacBook Pro, which includes a built-in microphone. Simply activate Screenr, drag a box around the area of the screen that you want to include in the screencast, and start talking. Screenr is a freemium service that will let you do a 5-minute screencast for free. Screencasts can be embedded on web sites or exported as videos. Screenr is excellent for customer demos, particularly for demonstrating web sites in secure locations where no Internet access is allowed.

  • Other Applications

    There are a few other applications that are required for an all-online team. Email should be web accessible. Fortunately, web-based email clients are ubiquitous. The team also uses a web-based tool for time sheets, a necessity for consultants.



    Comments

    No comments yet. Be the first.



    Leave a Comment

    Comments are moderated and will not appear on the site until reviewed.

    (not displayed)