views:

256

answers:

8

My department is working on a project that requires us to heavily communicate with another team, whose software ours has to interact with.

Today this resulted in a 4 1/2 hour conference call where the whole team had to attend, with very few results and no progress in the actual coding at all. To me, it was a complete waste of time, except for maybe 15 minutes where we discussed a problem I am facing in my task (without reaching any consensus on how to proceed).

The softwares have to interact, but are nominally different projects. Since both teams are from different areas, nobody is nominally in charge of both of them. So we have to resolve all differences between ourselves, with interdepartmental politics shining in all their beauty.

I am looking for a way to reduce the time spent procrastinating in those meetings. Basically, any management solution (appoint someone who is in charge of the meetings, who takes responsibility, etc.) is a no go. Since we are all developers, I think that a software solution for communicating with the other devs would be easy to sell.

I am specifically looking for something that:

  • Documents the existing interface
  • Documents the interface requirements by the opposite teams
  • Lets me establish relations between those two (as in interface A fulfills requirement 29)
  • Lets me mark an interface as implemented / tested / buggy / stable
  • Provides a report which requirements have no interface to fulfill them
  • Provides a report which requirements have not been implemented /tested yet

Do you know of any tools that could provide this? I would prefer web based solutions, and free software (as in free beer), because this is only my personal initiative, and there is no budget available.

Edit:

I know that Stephan Eggermont is right, we are having behaviour problems. But that is something that I am unable to change (believe me, I tried), hence my idea to fix the symptom instead of the problem.

A: 

It's called a word processor. I've been in your situation and there really is no alternative to sitting down and writing specs that both teams can agree on.

anon
+1  A: 

I've been using TeamSystem so far, and I'm very pleased with it.

Of course it's not free, but your company may already have licences for it.

On the plus side :

  • Bugs, Tasks and WorkItems are fully customizable (ie you can chose the exact info you want to appear without bugging everybody with hundreds of unless fields that nobody ever fills-in)

  • Bug, Tasks, WorkItems can be marked as implemented/tested/whatever you decide (You can manually configure TeamSystem to use exactly the "states" you need)

  • There's a complex query/search system which lets you get exactly the reports you want (TeamSystem uses a SQLServer database, and can easily interface with sharepoint to display reports, or you can use other tools to do queries manually)

I've been using TeamSystem in the past when I was a PM on a medium-sized project (12 coders, 3 Business Analysts, 3 Testers). It took a few days getting everyone used to the system, but then, it's been extremely useful.

All the following tasks takes seconds to achieve :

  • Create a new requirement (you can categorize business req. and technical req. if you want to)
  • Affect a task to someone (you can finely tune who can do that)
  • Change the status of a bug/task (again, it's tunable)
  • Checkin some code and "attach it" to a task/bug/work item
  • Getting a report of unfixed bugs, unattended tasks, etc.
  • ...
Brann
+1  A: 

You could try BaseCamp or FogBugz. I haven't used either product but they are targeted at your needs. However, you still will need a project manager (not necessarily a Project Manager) who is responsible for coordinating the two teams' activities.

Jamie Ide
You're right of course, we *desperately* need a PM. But we aint gonna get one...
Treb
+7  A: 

Tools are the wrong answer.

You're having behavior problems, not tool problems.

Why are you meeting 4.5 hours with both whole teams? What problems are you trying to solve? It sounds as if you don't have a public agenda, with a list of people interested in the different subjects. Politics should be killed by making explicit decisions (and writing them down). Did you create a list of stakeholders and their (especially conflicting) objectives?

When you want to introduce tooling, you should be very careful. The tooling should be politically acceptable for all parties involved, otherwise it won't be used. You might want to use De Bono's six thinking hats (see wikipedia) to evaluate tools.

I've found 1st of April to be an excellent moment to show management their failures. Are you good at writing vision statements?

Management has taken a detailed look at the development proces and found some improvement opportunities. Currently we are spending 4.5 hrs/wk* n people * hourly rate resolving communication issues between the dev teams. That is going to cost as x over the expected project lifetime.

With agile practices (pair programming, daily standup) we'll be able to reduce that to 10min/day if we pair each programmer from team 1 with one from team 2. For that to work we need to invest in a webcam and an extra monitor for each team member, and sufficient bandwidth, etc...

[edit] I've recently started doing pair programming through Skype. It works much better (with a webcam and screen sharing) than I'd have thought possible.

Stephan Eggermont
I can't change the corporate culture here. I've tried, I've failed. Now I need an alternative solution.
Treb
+1  A: 

I managed several projects with offshore teams. To enable collaboration a valuable practice borrowed from Scrum was the daily meeting. >> http://www.mountaingoatsoftware.com/daily-scrum

As communication tool we simply used Skype but the tool that really made the difference for us was assembla: have a look at http://www.assembla.com. It’s not only a shared source controller hosted in the cloud it’s a powerful and effective cooperation platform.

Geo
Will look into it, thanks!
Treb
+2  A: 

I don't know of anything that is going to be a perfect fit (would be interested if there was) but you could have a look if any of these could be used to help?

Maybe even creating your own basic app in MS Windows Office Live (you can knock up simple list data sets pretty quickly)

or using TODOList (a project at www.CodeProject.com) with MS Live Mesh to sync the files...

or have a browse through sourceforge for something similar.

But ultimately someone is going to have to run a meeting to pin it all down. :(

Michael
A: 

Just a quick note about assembla... (not rated enough to comment)

If you use the free plan projects are 'open' for view and search engines are allowed access to the your projects.

regards

Michael
+3  A: 

A wiki has served my teams very well. Team members can write new documents, add extended information to existing documents, include images from Visio, and so on. It has been very effective and very easy to maintain.

Since the wiki engine (we use ScrewTurn) has hierarchical organization built-in, it's easy for us to document our APIs and business processes in the same tool.

Robert S.
Never tried it in this situation, but a Wiki would have been my suggestion. You need to get managers and uninterested parties out of discussions or things will drag on forever.
T.E.D.