Programming

is the act of making and encoding decisions about future behavior.

Encoding requires the careful consideration of the basis and consequence of every Decision. Often decisions are found incomplete and new questions raised.

~

Programming is blindly manipulating Symbols ⇒ Seeing Spaces at 08:29

“Programming is blindly manipulating symbols” (Bret Victor)

*Programming* is the skill that allows you to tell a computer what it has to do. (Bergel, Agile Visualization with Pharo.)

~

In this section we consider Decision Making in the presence of incomplete, obscure or questionable facts. We include patterns for the assembling of knowledge in artifacts and individuals, and for limiting decision making when knowledge requirements exceed that immediately available.

Patterns

Requirement Walkthrough refreshes the teams understanding once work begins.

Technical Memo summarizes factual details of work to be done including citations of related references.

Reference Data inform development with worked examples where expected results can be or have been checked against actuals.

Programming Episode concentrate the decision making related specific work among a small number of highly focused people.