Technical Book Development
The genesis of this book is a workshop at SPA2008 on Technical Book writing. This conference brings together software developers, managers and consultants for three days of workshops, tutorials and a variety of other collaborative learning events.
One workshop has as its topic Technical Publishing 2.0. This session will bring together both published writers, of which there are many regular attenders at this conference, and budding writers looking for inspiration and advice about getting into print. Wikibooks serve a dual role in the workshop - as one of a number of new mediums for publishing and as a convenient mechanism to support the conference session before, during and after, and then perhaps to evolve into a useful Wikibook on the topic. The focus of the workshop is to explore the way the internet and web 2.0 is changing the nature of publishing.
Initially it is expected SPA delegates in general and workshop participants in particular will be the main contributors, but it is of course open to all.
The root problem is to design learning resources to assist software practitioners develop and extend their knowledge base, develop new skills and upgrade existing ones. To tackle this problem we need to understand better how software practitioners go about this task in practice. We would expect different approaches to be used, depending, for example, on learning style , learning strategies and knowledge of available learning resources.
Participants at the SPA workshop will be asked to reflect on their most recent learning experience, to rate these resources in terms of their utility and to plot the sequence in which the resources are used. The session then proceeds to brainstorm ways in which the individual learning resources and particularly print books can be improved and coordinated to proved a more satisfactory and efficient learning medium
A Pattern Language
A structural device which may be useful here is the notion of a patten language. Patterns are a format familiar to software practitioners through their use by Erich Gamma, Richard Helm, Ralph Johnson and John M. Vlissides in their seminal work "Design Patterns: Elements of Reusable Object-Oriented Software (1994), as a means of describing recurrent software structures in the emerging field of object-oriented programming. Patterns as named and articulated units of established practice originate in the work of Christopher Alexander and his team at Berkeley in the field of community architecture. Publishing, like architecture is a long-established trade, from which can be distilled practices and processes together with the context in which they are most suitable and the ground on which this good practice is based. Publishing, perhaps more so than architecture is undergoing change as new technologies for collaboration, production and dissemination arise. Patterns and wikis are also closely associated through the seminal work of Ward Cunningham, creator of the initial wiki on the subject of software patterns.