Every other Monday morning, members from different departments, groups or teams come to our marketplace and talk to us about whatever work they need done.
Sometimes the DBA group want us to try a new JDBC driver, sometimes Security wants us to add more auditing to our code, sometimes our business group want business features added .. you get the idea.
Our own internal work is expressed during the marketplace hour too. Improving code coverage, refactoring chunks of code, etc..
This is the only time, except for production emergencies, that work is allowed to be scheduled for our group. We try to schedule two weeks worth of work during the marketplace and make sure any on-going work doesn't conflict with new work.
We've just started doing this, and I like it. We've found it has a few issues that we need to troubleshoot.
The first issue is filling time if all work is completed way in advance of the two week time frame. You know how software is.. Sometimes your two week task takes you two days. Sometimes your two day task takes you two weeks.
The second is figuring out a way that my product manager and I can review external requests from our respective view points before the market opens.
I enjoy the marketplace idea, it gives other groups visibility into each other, so there's no resentment when we pick the work of one group and postpone the work from another. Those groups whose work is chosen are encouraged to come chat with us at our daily 3pm open house.
As always, this may not work for your team, and in the long term, it may not work for ours, but it's something we're trying and I think it has some strong merit.