Cloud computing is this year's hot topic. But what are the implications for agile application development? By moving the whole development environment to the cloud, we are no longer limited by the number of people who can comfortably fit around a single workstation; suddenly an entire team of programmers can work together on the same live code base. In this hands-on workshop, we experiment with a process inspired by the hunting strategies of wolves to see whether we can successfully take agile's much vaunted pair programming even further.
To facilitate the exercise, we will use a web-based development environment, which enables multiple people to jointly develop in a running Smalltalk image. The product, however, is merely an enabling tool; the focus of the workshop is not on the technology but rather on the benefits and challenges of the "Wolf Pack" process itself. With all team members able to update the code simultaneously, integration is constant and the deployability status can be determined in real time. Will this make Continuous Integration Servers look slow or will it lead to disaster? To evaluate the effectiveness of this approach, we will ask our wolf packs to complete a series of tasks following the process.
Format and length:
Hands-on workshop. It takes about 40 minutes to introduce the environment and the development process we are experimenting with. During a 90-minute session, participants thus have about 50 minutes to complete the programming task.
As suggested in the comments, the event could likely be run in such a way that other attendees could walk in and out to observe the process.
Intended audience and prerequisites:
People who are interested in thinking more deeply about pushing the boundaries of agile development and getting their hands dirty with object-oriented code for a few hours. No Smalltalk experience required.
Objective(s) of the session:
The focus of this session is on generating discussion around pushing the boundaries of agile development and continuous integration in a cloud environment. What parts of existing development processes are simply practical limitations imposed by existing development environments? When technology allows us to push some of these boundaries further, what are the benefits and what are the newly-encountered challenges?
Benefits, for the participants and the presenters
For participants, the chance to explore and understand some of the impacts of taking a radical approach to application development in and for the cloud. To understand if Wolf Pack Programming provides a more effective form of team collaboration, when used within an agile methodology. It will stretch their thinking about pair programming and continuous integration.
For the presenters, we hope to gather useful feedback through discussions about the process.