Dr. Dobb's Journal October 1999
To: Beanwidget programming team
From: Ari O'Nisus
Subject: Status of community calendar
As many of you know, the community calendar program has been in operation for just a year now. It has been an interesting year, and we have learned many things. I thought it might be instructional to review for you some of the highlights of the past year.
For the benefit of the new staff, the community calendar is our intranet-based shared calendar for the use of all members of the Beanwidget team. It was designed to replace all of the management functions in the Beanwidget project with a shared, open, self-reporting system in which the full state of the project at any moment is visible to any member of the team, with the responsibility for the reporting system shared equally among all members of the team, and everyone contributing what they feel motivated and qualified to contribute. Conceived as an open-source response to project bureaucracy, it was the brainchild of Barry FFFFFF, and I'm sure that all of you who worked with Barry during his brief but memorable tenure here wish that he were still programming, perhaps not here, but somewhere, rather than devoting his time to weaving raffia baskets and whatever else they do in that place where they sent him.
One thing that the calendar project taught us almost immediately was that none of us like meetings. Since anyone could modify any posting to the calendar no matter who posted it, meetings scheduled for 10:00 am would get rescheduled to 3:00 pm, then to the following week, then get deleted from the calendar altogether. Within a week of committing all our scheduling to the community calendar, it became literally impossible to schedule a meeting. Jason pointed out, however, that the community calendar made meetings unnecessary. Anything we had to say to one another about the project could -- and should -- be said through the calendar. After that, use of the calendar increased dramatically. Everyone was posting every day. Amy, in particular, regularly posted extremely detailed reports on her progress on the user-interface module that were an inspiration to us all. When it was discovered, six months later, that she hadn't actually written any code, her calendar entries still proved useful as a plan of attack for her replacement.
It may have been Amy's little deception that led to the next phase of postings, in which nearly every member of the team began reporting, not on what they had done or planned to do, but on what every other member of the team was doing. This led to rebuttals and to postings of photographic and video evidence in support of positions. It was then that we began having the serious problems with server capacity that have plagued us ever since.
Colin, I think everyone would agree, wrote the canonical postings during the next three months. Succinct and to the point, they gave a clear picture of the progress of the project. A few examples:
March 13: Changed all salesTransaction objects from reference to value.
March 22: Pulled up getName method from salesman class to employee class.
March 26: Changed all salesTransaction objects from value to reference.
March 28: Pushed down getName method from employee class to salesman class.
March 29: Renamed salesman class to salesperson. Created subclasses salesman and saleswoman. Killed Clarence. Changed all salesTransaction objects from reference to value. Pulled up getName method from salesperson class to employee class.
Clarence is doing much better, by the way.
Nine months into the community calendar program, David proposed a review. That review proved to be a vigorous and wide-ranging analysis of the calendar program as well as related and unrelated topics, often focusing with surprising acuity on the personalities and faults of the team members. I can say with authority that every member of the team, without exception, got very involved in that review, as did three divorce lawyers and, on two occasions, the paramedics.
Over the course of this past year, we have done a stellar job of testing the concept of a community calendar, and I think we can all be proud of that. Our progress on the original Beanwidget project is another matter. I have spent the last three weeks trying to recall what the Beanwidget project was. I have queried each of you via e-mail, and none of you know either. Since the discs are going to be pressed next week and the company already has orders for 60,000 Beanwidgets, I think that we had better deliver some software, people.
Let's give them the calendar.
Michael Swaine
editor-at-large
mswaine@swaine.com