Ready, Steady...Sprint! Creating Open-Source ECM

The open-source Plone community is finding holding sprints, highly focused development meetings, is highly beneficial to speeding up software development.

Holding focused meetings, also known as "sprints," over several days to develop, test and document software is proving very helpful to the open-source Plone community in quickly adding more functionality to its content management software.

The project was started in 2000 by Alan Runyan and Alexander Limi, who now works at Google in the user experience team, and it has proven popular particularly because the software supports more than 50 languages. Plone helps users manage documents, files and images through a Web interface and also lets them publish that content to the Internet or to an intranet.

The latest Plone sprint is in full swing at the Boston offices of the daily newspaper The Christian Science Monitor, attracting more than 20 attendees, including one apiece from Germany and Finland, and seven remote participants based in Australia, Germany, Italy, Switzerland and the United States. The aim by close of play Sunday is to have produced release 1.0 final versions of Plone4Artists Audio and Calendar software and a beta version of the Video component. Work will center on improving how the Plone content management software handles audio and video files and images.

In putting together a sprint, one of the hardest things is to prioritize what's achievable over the three or five days that the event will last, according to Nate Aune, one of the leaders and organizers of the Boston sprint. You need to take into account the skill levels of the participants and the features both they and the community as a whole are clamoring for.

There have been about 30 Plone sprints since the first such event took place in Berne, Switzerland in February 2003. Tres Seaver, a senior software developer, began to use sprints in 2002 as a way to speed up the development of Zope 3, an open-source Web application framework that's written in the Python programming language.

The idea is to have small groups of developers, say two to three individuals in each group, working on specific issues over several days. Plone is built using Zope and so it was natural for the community to also embrace the concept of sprints. Plone sprints aren't limited to coders though, Aune said. Participants with other skills—for instance, writing documentation and software testing—are also welcome.

As the event begins, sprinters tend to naturally gravitate into small groups, and event organizers have to help that process only a little by doing a spot of matchmaking, Aune said—for instance, encouraging people with the same interests, such as calendaring, to sit next to each other and start talking.

There's "a huge geek factor" among the sprinters, Rocky Burt said, meaning there can be some social awkwardness, but in his role as Boston sprint leader and provider of technical assistance, he makes sure he talks to everyone. The event also kicks off with a group meeting to define goals, and each day ends with a similar get-together where all participants report on what they've been doing.

"Sprints really help the momentum of the project," Burt said. As with any volunteer-led development effort, people will lose interest from time to time and sprints can provide a real boost to Plone as community members become re-energized about the work. That applies not only to the participants, but also to other Plone users who can tune into what's going on at sprints by live video and audio feeds.

Sprints vary in how they're run. Some organizers insist upon sprinters clocking in at a particular time each day. The Boston event is less formal with people rolling in whenever they choose. Typically, the day gets under way around 9 a.m. and finishes up around 6 p.m. "It can be hard to make people stop," Aune said. "You sometimes have to coax them out with food."

Aune and Burt said they've learned from past sprints what tends to work and what doesn't. Having the necessary IT infrastructure in place is vital to ensure a productive environment, and that involves plenty of up-front liaison work with the organization hosting the event.

In the case of the Boston sprint, Aune and Burt made it very clear to The Christian Science Monitor that they needed wireless access, all outgoing Internet ports open, some wired connections and plenty of power strips. They were also able to work through IT issues in advance of the sprint during two days of Zope 3 training Burt headed up in the same location. About half of the sprinters also attended the training.

Previous sprints have called for ingenious workarounds to resolve technical limitations. At one event in Austria held in a remote mountaintop hut, the participants has to use a power generator and a satellite Internet connection to ensure they could work online.

Remote sprinters communicate in real-time through a text-based channel on the Internet Relay Chat (IRC) server network. Aune noted that it's proven very difficult at previous sprints to fully integrate remote participants into the proceedings. "They tend to feel a little bit isolated," he said. In order to counteract that tendency, there's a remote sprint facilitator at the Boston sprint, an onsite individual who's constantly mediating between the physical and remote participants.

Plone has held some fully remote sprints, but those events can't yet duplicate the benefits of a physical event where members of the widely dispersed community can come together to collaborate on the software, exchange skills and get to know each other better. After the coding's done for the day, being able to go out for a beer with other sprinters can really help cement a rapport to enhance future working together whether remote or onsite, Aune said.

There have been several sprints where the video feeds have also been available in Second Life, thanks to Plone developer Christian Scholtz, who's created a virtual Plone Conference area in the virtual world. In the future, as virtual environments evolve, Aune thinks the Plone community might use those meeting places more for collaboration.

It's important to get corporate sponsorship for the sprints to cover the event's costs and also often pay for some participants to attend. The Boston event is being sponsored by its host, The Christian Science Monitor and Jazkarta, the Plone-focused development and consulting company Aune heads up, as well as Friends of the Earth, The Nature Conservancy, New England Wildflower Society, Oxfam America and the Potsdam Institute for Climate Impact Research.

The number of Plone sprints is steadily increasing, with recent events taking place in Barcelona, Spain; Berlin, Germany; Sorrento, Italy; and Mountain View, Calif., at Google's headquarters.

The next sprint focused on multimedia and following up on the progress made at the Boston event is scheduled to take place in Naples, Italy, in October straight after the annual Plone Conference in the same location.

NEW! Download the State of the CIO 2017 report