16 lines
1.5 KiB
Markdown
16 lines
1.5 KiB
Markdown
|
Aristotle in Software:
|
|||
|
|
|||
|
The four causes:
|
|||
|
|
|||
|
* Material Cause: From where did it come? (What substance gives rise to it)
|
|||
|
* Formal Cause: What arrangement of component parts caused it? What shape does the material take?
|
|||
|
* Efficient Cause: How do I make it? (process of bringing material and form together)
|
|||
|
* Final (Teleological) Cause: What purpose does it serve? (What is it _for_?)
|
|||
|
|
|||
|
* Stories aren’t the requirements; they’re discussions about solving problems for our organization, our customers, and our users that lead to agreements on what to build.
|
|||
|
|
|||
|
* Your job isn’t to build more software faster: it’s to maximize the outcome and impact you get from what you choose to build.
|
|||
|
|
|||
|
### The Material Cause
|
|||
|
The material cause of software is the human mind. This is a strange thing to call "material", but it is true that our 'minds' are ultimately a collection of functionally interrelated processes taking place in the brain. The brain exists as an outcome of natural selection filtering for survivable traits in a given natural environment. Traits that survive the selection process aren't necessarily traits that make us better thinkers. Confirmation bias and intentional stance are good examples of this. However, survival need not eliminate good reasoning habits either. It's often less genetically "expensive" to leave a "neutral" trait intact, than to remove it. Pattern recognition, creativity (causal synthesis) and the capacity for abstract conceptualization are good examples of this. Human beings are exceptionally good problem solvers, as living species go.
|