'''Forces:''' * You want information about your project to be shared amongst team members * You don't want written documentation (see ProblemsWithDocumentation) '''Technique:''' Share information orally. Establish a culture in which people communicate frequently and are willing to ask others to explain things. '''Resulting Forces:''' * All members of the team must have regular contact with each other. * Newcomers will require a lot of individual help to get up to speed. * The information won't survive if the entire team leaves. * This technique may only work when everybody works in the same room. My successes with it seem to have been partly because people could easily overhear others' conversations. I haven't pushed the limits and seen where it fails, though. --JimLittle '''Known Uses:''' * ExtremeProgramming projects '''Related Patterns:''' * PairProgramming * DocumentLast * AutomateProcesses '''Concerns:''' * Oral explanation can be difficult for some people, physically or psychologically. Some people simply can't explain things well, or have a severe speech impediment. * In a socially broken environment, people may hoard important information that they'd otherwise be forced to write down. * Oral storytelling requires that the story be re-told many times, which can introduce error, while a physical document needs to be written only once, and can be refactored. The oral tradition might be compared with requiring each person who edits a Wiki page to re-write the entire page from memory every time they edit it. * The team may have difficulty migrating to the oral tradition due to the oral tradition's lack of defined process. This is not a problem with the oral tradition itself, but it is a factor in its adoption. * Oral explanation requires at least 2 people who must be in constant contact, and most shops have enough deadline crunches that this can be difficult to arrange '''Alternatives''' * Use a ProjectWiki or TeamWiki to capture information that would otherwise be OralTradition. This addresses several of the resulting forces and concerns above: * Newcomers can use it to get up to speed without requiring such a lot of individual help. * The information will survive if the entire team leaves. * This technique can work when everybody doesn't work in the same room (or the same time zone). (See discussion at TeamWiki.) * Explanation does not require 2 people to be in constant contact: a question can be posed, the explanation Wiki'd, and the Wiki page read, at separate times. ---- CategoryProcessPattern