Thursday, May 27, 2010

Collaborative Debates

Today at work, our boss decided to have the developers play out a mock debate in order to bring about a requirements discussion. I suppose it was intended to be a fun, quirky, roundabout way to get the whole team involved in requirements analysis, since it's been a common pain point for our current project. I would contend that the pain point is in having requirements delivered to us rather than properly discussed in our team, but that is beside the point.

We divided into teams and each took a side in a debate regarding whether to use an open source framework's ACL system or one we had recently developed in-house. The in-house system was developed because our framework's version didn't fully meet what we believed to be the requirements imposed on us. In the end, each side was challenged to present a case for their side, irrespective of their opinion on the matter. Some fuss was had, but the exercise commenced, and our cases presented.

In the end, the event devolved into a back-and-forth session with our CEO (small company) regarding the company's actual needs concerning what was before considered a minute detail of a far more massive project.

My takeaway was that while a lot of time was wasted, I think it illuminated the fact that it's quite easy to make assumptions about seemingly trivial details that are completely wrong, and by now we've wasted quite a bit of time learning that lesson.

Unfortunately, we're slated to do the same with our DAL/ORM layer, arguing two solutions which are nearly identical save some syntactical sugar. I fail to see what good can come of that, but I can hope, for now.