Friday, January 30, 2009

Eliminate assignment confusions

So you finished brainstorming over an idea and now it's time to get your hands dirty and do the work.

This moment is critical. A task doesn't necessarily mean the same thing for two different persons. Your idea about how to write the new contract may differ from John's, so if the task is not detailed enough, it might lead to the team pulling in different directions.

Image by Sean Rogers1


A solid approach would be to dissect the task down to manageable sub-tasks, that don't allow different interpretations.

Let's say you have to Promote the website for your business. It's a pretty complex task that can be interpreted in many ways.

But if you slice it into more manageable things to do, the bewilderment fades away:
  • Find 10 website directories and enter the website under the proper categories.
  • Write a press release which includes the 5 most useful services the company provides.
  • Submit the press release to 5 online agencies.
  • Write an whitepaper about a solution your company/product is offering.
  • Set up a Google AdWords account and start a campaign.
Besides clarifying the work to be done, other benefits of breaking down a complex task include:
  • You get a better estimation of the duration of the task.
  • The progress gets easier to follow. In my opinion, this approach is more useful than using flimsy percentages which usually get out of control.
  • You have a list of actionable things to do, instead of a complex unclear assignment.

Wednesday, January 28, 2009

5 tips and tricks with Teamness

1. The startup project

If you're working on a few projects at a time, but one of them is the one that takes most of your time, you may choose one of your projects to be the startup project.

This means that each time you enter into your account, the current selected project from the projects list will be the active one. You can set the Startup project in the My details page.

2. Login through Google, Yahoo or both

You don't need to create a new account to be able to use Teamness. Just login with your Google or Yahoo account and you're all set. And if you already have an account created in Teamness, you may associate it with both your Google and Yahoo accounts and login with whichever you prefer.

3. Task titles

You may turn on and off the detailed list view of the Tasks page. When the detailed list view is disabled, only the first line of text from each task is displayed, like a title. This is especially useful when the tasks are quite verbosely described and you want to get an easier overview.



4. Print your project pages

You can print the information from each page with data from your projects, by using the print button available in the upper right corner of the page. For instance, this is how the View milestone page looks like:



5. Browser search bar for Teamness projects

Installing the search plugin allows easy searching your projects' data in Teamness directly from the browser search bar.

Monday, January 26, 2009

Brainstorming remotely

Today I started a short conversation with Pawel Brodzinski, about how teams respond to working exclusively remote. By the way, his blog, called Software Project Management, is a great resource of posts about working with teams and managing the process of software development, so make sure you subscribe to it.

Pawel was talking about the lessons learned from a startup product called Overto, which was closed some time ago. One of the things he mentioned was the value of working in the same place and the way his team started to feel the negative effects of being separated.

Image by timabbott


Since I believe in the remote proficiency of virtual teams, I had a different opinion. I think that after the preliminary discussions around the fresh idea of the product, collaborating in writing instead of ad-hoc meetings may bring great effectiveness into the product.

Written communication versus spoken brainstorming

I mentioned the following arguments for communicating over writing mediums, like email, as opposed to verbal meetings:
  • On email it's more natural to keep the discussion focused on an aspect. Talking makes this a bit chaotic.
  • It's easier to follow a point of view, when you have it written on the screen, maybe with additional links to external resources.
  • When you need to write, you focus more on the points you'd like to add to the discussion. Talking is faster, so it might lead to loosing the focus.
  • Everything that's discussed gets logged, so you avoid the post-meeting confusion over some pieces of conversation or forgotten parts.
  • You're undisturbed in your own mind-mapping flow process and you don't disturb the others.
Brainstorming over emails might be a bit sluggish from the point of view of generating ideas based on ideas being generated by the others, but in my opinion it's better in refining an idea before exposing it.

Let ideas flow, then examine the results

It's pretty common that once an idea is out, it's exposed to being examined. This leads to context switching and instead of focusing on building a list of things to discuss about, you'll find yourself analyzing ideas.

For instance, when you discuss holiday destinations with your spouse, it's probably the case that you find a place, discuss about it, then find another, comment on it and so on.

The drawbacks of this approach are presented more explicitly in the book The Myth of Multitasking. The book includes a demonstration that switching back and forth between two different tasks, makes them take more time than doing them sequentially.

Image by h.koppdelaney

The above example is a bit extreme, since it involves the spouse. Don't do it at home unsupervised. But in my opinion, the same thing applies to teams and brainstorming. It's nothing wrong with getting together for a drink/lunch and discuss about a new product or feature, but I find writing more efficient.

Use mind-mapping, build a list of things that you think are suited, and then pass it on. If the others are doing the same, undisturbed, your team ends up with a more productive flow of ideas and better yet, you have everything written down.

Experiment and stick to what works for you

I'm not trying to say that this model is supposed to work for everyone. We are a team of two people, me and Sorin. It's been like this not only for the time we've been working on Teamness, but since 2005 when we started our company. We used to work from home on different projects for some clients and we always collaborated remotely. This is basically the reason for building Teamness in the first place.

In the beginning we were talking on Skype about clients, implementation details, decisions and so on. We used to have long conversations and sometimes we didn't remember everything that was discussed. We still have conversations, but when we talk about new features or design decisions, we use Teamness. We write the proposal in a message and then comment on it. This keeps it focused. We also use email from time to time, but what I want to stress upon here is that we're trying to keep the verbal communication related to our projects to a minimum, since it didn't prove efficient for us.

Please also note that I'm not trying to express that social interaction is bad, like having lunch with your colleagues or coffee breaks discussions. But when your product has 1000 features, writing things down becomes the key ingredient for a solid collaboration.

Thursday, January 22, 2009

How to welcome a new member in a virtual team

Teams grow and change. New members arrive and they need to be accustomed to the culture of the organization, the project and the process.

This might be a frustrating experience both for the newcomer and for the team. Virtual environment makes it even worse. Lunch breaks with the colleagues to ease the process are not possible and there is no watercooler for chitchat.

Image by etringita


In an office environment, it's a common practice to have a couple of meetings in order to introduce the new person to the project she's supposed to work or into the organization. But in a virtual environment, it's a bit harder to put the focus on meetings. Web conferences can be done, but they basically help only with the introduction, not with the integration.

In my opinion, a virtual organization should accomplish at least the following prerequisites in order to make the new one productive as soon as possible.

Make the newcomer feel part of the team

That's easier with a physical presence: an actual office, going out for lunch with colleagues, t-shirts with the logo etc. In an online environment, if the organization has a blog make an author account for the new guy and encourage she/him to write a post to describe his feelings regarding the new environment.

Assign a meaningful role for the newcomer

She or he might feel overwhelmed with the information needed to be absorbed.

The tricky part is that you cannot afford to have one of the team members absorbing all the information the other members have. In theory, it's a never ending process: by the time she would have the knowledge an existing member had, that one would be far ahead. And after all, the knowledge one team member has shouldn't completely overlap with another. Everyone should bring something new.

The solution is to encourage the new one to dive into work and try to complete an easy task. The task should be a real one, because otherwise the motivation to do it will be diminished. This way you also bring out the practical aspects of the guy, which is probably why you wanted him in the team in the first place.

Have all the tools configured for the new account

Don't let the guy wait around a couple of days or weeks because he doesn't have access to the tools you're using with the others. The new account must be easily created with the appropriate rights for the newcomer in every application you're using: blog, wiki, tasks tool etc.

Image by tochis


Document your decisions and procedures

This is an ongoing process, from which everyone in the team benefit, but it will prove itself useful for a new member as well.

There would still be a lot of questions and interruptions for you and your team to help the new one get acquainted, but a lot less than without a proper documentation. And the documentation shouldn't be built just before a new one comes, but throughout the life of the project/organization.

This is so easy and straightforward to do, but still disregarded by many: write everything down. If you need to explain a procedure or a feature to one of the colleagues, after you discuss on it go and write it down. Don't use applications designed for something else, like Word or Visio or other UML or word processor, but some simple text wiki/message environment, which allows for easy editing afterward and it's easy to share.

Procedures usually change in time, so the more difficult you make it to update them, by drawing schemas and format text, the less likely that you'll do it, rendering them obsolete.

Provide feedback often

Don't keep the newcomer in suspense. Let him know often where to pay attention, what to improve in the process and ask him questions. Leaving the guy one week to read documentation is boring and will make him loose focus.

Keep an up-to-date list with the existing members and their roles

The new guy will have questions. A lot of them. Don't allow for his questions to bounce around from one guy to another, until he finds the proper person to ask. Maintaining a web page with who's in the team and what everyone is working on might be a time saver.

Monday, January 19, 2009

Social aspects of productive virtual teams

When we think about efficiency in a virtual team, we often relate this to being effective in a practical manner, like optimizing our workflow in the online environment or having the right tools to interact with our colleagues.

But there is also the social aspect of such a team.

Image by Allis0n J


Even if the people are not together in the same office, social interactions still take place. In an article called Working Together … When Apart, the author gathered what she calls ten golden rules for making virtual teams more productive.

The list is based on a research that surveyed more than 1500 virtual-team members and leaders from 55 teams across Europe and U.S. and it also covers social facets, as selecting team members based on their relationships or encouraging frequent communication.

These are the 10 hints:

1. Invest in an online resource where members can learn quickly about one another.
2. Choose a few team members who already know each other.
3. Identify "boundary spanners" and ensure that they make up at least 15% of the team.
4. Cultivate boundary spanners as a regular part of companywide practices and processes.
5. Break the team’s work up into modules so that progress in one location is not overly dependent on progress in another.
6. Create an online site where a team can collaborate, exchange ideas and inspire one another.
7. Encourage frequent communication. But don’t try to force social gatherings.
8. Assign only tasks that are challenging and interesting.
9. Ensure the task is meaningful to the team and the company.
10. When building a virtual team, solicit volunteers as much as possible.

In the article you'll also find examples about how virtual teams in well-known companies employed the hints.

The rules cannot be applied in every context. Not all the tasks can be challenging and interesting, so point 8 has to remain unsatisfied from time to time. But the list remains relevant for both small and large teams.

Friday, January 16, 2009

Managing project collaboration

I'm sometimes asked if Teamness is able to solve various specific project management issues, like financial resources dependencies or risk management.

Not really. Teamness is a project collaboration tool. It was born with the intent to help people gather their projects data in a centralized place, from where they would be able to share it with their colleagues.

Easy online project collaboration for teams is our tagline. Saying that I'm currently managing to collaborate on my projects using Teamness doesn't necessarily mean that Teamness is acting like a project management tool, in a way a CEO would see it.

Image by David


We're not building Teamness exclusively for people in suits, but also for the aspiring freelancer or members of a family who work together on home projects. You don't need a MBA to use it, but merely a Google or Yahoo account.

We want Teamness to be flexible enough to accommodate any collaborative task you're taking. After all, real work is done by real people, which in my opinion get motivated by awarding goals, not well connected Gantt charts.

Teamness has been working fine for our purpose so far. By using it, we see different aspects that need to be improved and we're adding them in the task list and we're open to suggestions and feedback.

However, Teamness was not designed with the intent to help a project manager manage her or his team, but to help a team manage their projects together.

Wednesday, January 14, 2009

Podcasts to help with your work

If you feel like getting away from the news or if you're trying to find new ways to keep your headphones on most of the time, here's a post about how you may fill your mp3 player with podcasts and get hints while you prepare breakfast.

One podcast you may add to your list is this one, which covers some topics on virtual teams, like challenges, social aspects and trends. I don't share their affinity with instant messaging tools used for work interaction.

Make sure you also check and subscribe to IT Conversations, a network with great talks on various topics, from education and history to investments and social networks.

Tuesday, January 13, 2009

URL got shorty

On the web we're in a constant chase for higher traffic, bigger revenues, more posts and greater designs, but one thing we'd like to be short: the URL.

Some URLs are not only long, but unpleasant, like links to products on ebay:
http://cgi.ebay.com/Apple-Iphone-3G-8GB-unlocked-Brand-new-No-Contract_W0QQitemZ140290947446QQcmdZViewItemQQptZCell_Phones?hash=item140290947446&_trksid=p3286.c0.m14&_trkparms=72%3A570|66%3A2|65%3A12|39%3A1|240%3A1307|301%3A1|293%3A1|294%3A50

To solve this problem, services that shrink URLs appeared. They're useful when you want to give a friend a link like the one above over IM or email. Short URLs are also handy in services like Twitter, where messages are limited to 140 characters. A short URL leaves more space for the actual text.

Image by B&M Photography


So far we tried three services that provide short aliases to redirect long URLs:

TinyURL

This is probably the most known service of its kind. It's been around for a long time, since 2002, and there are some funny stories related to its early algorithm for generating the short URLs' identifiers.

One neat option of TinyURL is that you may create aliases like: tinyurl.com/teamness-uptime-public or tinyurl.com/inboxdiet.

Here is an article about TinyURL and his creator, Kevin Gilbertson.

Tweetburner

When we started using Twitter, Tweetburner came in to help us generate short links and keep track of user clicks. They offer some basic analytics and daily graphs of the clicks you get on the links. We generated 35 Twurls (this is how they name the short URLs), which have been clicked 669 times until now.

Cligs

Tweetburner did a good job, until it started being quite slow for us. Then we switched to Cligs. Behind the funny name, they're offering:
  • real time analytics
  • rules you may define to direct people to different web pages, based on their geo-location
  • a world map with the hits for a clig
  • an API on which several tools were based
There are other services of this type, like shorl, txt.exe or bit.ly, but so far Cligs has been the one for us.

When doing reasearch for this post, I came across gog.is. It's an URL shortner for Google search. If you put the keywords in the query, like http://gog.is/easy,team,collaboration it will redirect you to the Google search for "easy team collaboration".

Friday, January 9, 2009

Planning a project

In a virtual team, a certain degree of coordination is needed to get the work done. This depends on the team size, which is usually determined by the project magnitude.

But even for personal projects, you still have a plan in mind before you begin working. In my opinion, a project plan, big or small, has to incorporate the following elements:
  • Scope
  • Requirements
  • Tasks
  • Schedules
  • Cost estimates
All of them are usually subject to change throughout the project lifespan, but you still have to take them into account when starting a project.

Image by anesterik


Scope
The scope is a high-level vision on the project. It provides a justification for the effort and describes the project by including the following:
  • Goals - what is the project supposed to achieve?
  • Major milestones - when will the goals be accomplished?
Requirements
The requirements are your project's necessities, which will include at least the following:
  • People - your team, which may vary along the way.
  • Tools - Internet access, email, collaboration platform, skype and/or any other supplies of any kind.
Tasks
You may start with a set of tasks for each person involved. Each task may have a brief or a long description, according to the intended audience.

Teamness has a nifty way of presenting tasks, either showing the whole description or only the first line, considered as a brief or title. This is per account, so team members familiar with the actions to be performed may look only after the title, while others may choose to see the details.

Schedules
Once a task list is in place, a schedule might be started to take shape through milestones. The difficult part is knowing how much a task will take, but this doesn't mean you cannot have an overview. You can modify the due dates later, also pushing the subsequent milestones.

A virtual team would probably be distributed around the globe, thus celebrating different holidays. Earth calendar is a daybook of holidays and celebrations around the world, which can help you know which members of your team would be preparing a celebration dinner when you're getting ready for a new deadline.

Cost estimate
Once you know how long your project would take, the size of the team and their availability and which tools you need, you can create an initial rough cost estimate. This is based on the information from high-level scope, along with the tasks listed so far, but it will be refined as the work progresses by eliminating the "black box" evaluations.

Thursday, January 8, 2009

Maintaining agility with Teamness

Not being tied to a particular process, such as Scrum, might be a flexibility advantage to a team looking to follow its own process of development.

Teamness is a loose structure web tool that allows a small lightweight agile team to use its own custom project work approach.

Image by Scientific deliriums


Here is a set of hints on how to combine Tasks, Messages and Milestones within Teamness to manage your projects in an agile way in 2009 and beyond.

1. Use Messages for briefs and support requests

A brief for functionality or a support ticket can be a Message entered into Teamness within the appropriate group. Once the brief is processed or completed, this might be marked by moving the Message into a different group.


2. Use Milestones to create project goals and timings

Generally the project manager will create the Milestone after discussing with the team about time and availability, in regard to customer priorities.

Milestones are the glue which bind together details (Messages) and work (Tasks). Once you create a Milestone for a list of tasks, you can now bind the Messages to it.

Selecting a Milestone gives visibility into both the customer and team facing aspects.


3. Group Tasks under Milestones

Each Milestone can have tasks assigned to it. This task list should be set up to allow you to track time against it.

By having a single goal with track-able time you can then start making the actual work declared as Tasks. This allows an individual or mini-team to manage their own specific goals without making the high level project plan dirty.

This approach of using task lists also means that you can track your progress against a single Milestone which means you don't have to move all your tasks from week to week.

Milestones can be set up really fast and yet they can be moved if other demands come in, without having to micromanage a list of items which cannot be done in time anymore.

You also have the possibility to shift in time the subsequent milestones of the one you intend to move.