Tales of Distributed Teamwork
It was my first agile project! I didn't know it though. None of us knew what we were doing, but we knew that anything that got in the way of satisfying our customers had to go. We were pretty good. We were so good, in fact, that our corporate entity took control of the project.
With two developers, our field-support/QA person, and our saleswoman/business expert, this was a small, tight team who enjoyed strong support from our executive sponsor.
The developers employed a tactic of working together (we might call it pairing now). We released more than once a week and we all worked directly with our customers daily. We also met daily to discuss sales, installations, features, and bugs.
How it Felt
It felt amazing. We had many happy customers and we worked with them to build a better product.
Our project was a success! I was transferred to a team at headquarters and we were rolling out nationwide.
I was one of 15 developers on my team. We were one of two teams reporting to the same manager. I was the only remote team member.
Once a week, we had a team status meeting. We also used email for anything too urgent to wait for the next meeting. My team lead would occasionally call and give me assignments that never lasted long enough to keep me busy.
How it Felt
I felt lost. I didn't know what I was supposed to do day to day. I didn't have much guidance from my team lead and I was instructed not to work directly with the customers as this was the business analysts' job.
In a desperate attempt to reclaim the past glory of the project, I moved my family across the country. I worked in the office with my team again. This time I wore a suit every day.
The team didn't change from Act II, but I finally felt like part of it.
We had methodology. We had documentation. We knew what everyone was going to be working on a year in advance. The small project I was developing was an anomaly because it hadn't been planned yet. Fortunately, we had meetings to resolve that.
How it Felt
Being part of the team was enough for a while, but eventually I soured on the whole project and left the company for a project were I could release code into production again.
The flag ship project wasn't going to be ready in time, so the troops were rallied. New management brought new energy and ideas to the table. Additional team members and teams were hired. The project could not fail.
The teams were constantly in flux. There were either one or two co-located teams depending on the week. There were two additional teams in other time zones. Each team had developers and QA, but all the business knowledge was with the original team(s).
Each team was supposed to be autonomous, but the reality was that we shared a common codebase, database, and source control repository. We sometimes had daily meetings between the teams, but more often than not, talking to members of the other teams was considered a waste of time.
How it Felt
There was a constant feeling of conflict. Though we all claimed to be headed together toward the same goal, each team was attempting the somehow beat the others. Any time members of the other teams made mistakes, the whole team would be attacked. Feelings were often hurt and apologies were hard-won. We were at war with ourselves.
The company is very small and very successful. The product is interesting and in demand.
The team is a small group of seasoned veterans. Each person brings unique skills, but all have extensive experience. Everyone enjoys creating code and helping to build the company. Everyone uses his or her strengths to make the team better.
We communicate constantly via email, chat, and video conferencing (Skype). We use screen sharing software (TeamViewer) daily. The CI server is constantly notifying everyone of newly completed work. The unit, integration, acceptance, and UI tests allow us to make changes very quickly without fear and with little risk.
How it Feels
The feeling from the first agile project is back. Coming to work is a joy. Releasing software is exciting rather than scary.
I can't answer all those questions, but I can tell you a story...