Alternative Philosophies and Extreme Programming
Chief Programmer Teams
Chief programmer teams were developed at IBM (70-72) to capitalise on the fact
that some programmers are far more productive than others- often by a factor of ten or more.
The team revolves around one chief programmer, one apprentice/assistant, a tool smith, a librariran, an administrative assitant etc. to get the maximum productivity from the available talent.
These teams can be very effecive during the implementation stage of a project, and is complementary to project management methodologies eg; Waterfall/ Spiral.
Egoless Programming
Egoless proramming (Weinberg, 1971) is in direct opposition to the "chief programmer team" idea; code should be owned by the team not an individual.
Literate Programming
The code should be a work of art, designed not just for the machine but also for subsequent human readers.
Code designed to be elegant may take far longer to develop than code designed more practically.