Eight Fallacies of Distributed Information Systems
August 28, 2006 |
co.mments
Essentially everyone, when they first build a distributed information system, makes the following eight assumptions about the data. All prove to be false in the long run and all cause big trouble and painful learning experiences.
- People tell the truth.
- Content is independent of presentation.
- Syntax doesn't matter.
- Identifiers are reliable.
- Metadata and data are consistent.
- Schema ensure interoperation.
- All the data must be available.
- Canonical models can be determined.
- Index latency is zero.
August 28, 2006 06:10 PM
Comments
You left out quite a few other reasons.
10 Adding more programers speeds up development
11 Requirements do not have to be fixed before development begins
12 Mythical man month
13 Development can write more than 10 lines of debugged code per day.
14 You can hide the difference between local and remote invocation
RW: I don't think he's talking about distributed development.
The item 'people tell the truth' seems too broad and doesn't seem any different from 'people make mistakes', 'data entry is fallable'. Similarly baffled on the Syntax line. I'm certain I'm missing some context...perhaps 'data' can be changed to narrow the focus?
Looking forward to anectodes, examples, blog entries expanding on these.
#15 (although I personally recommend to put this one further up the list): The whole truth is represented in source code (and no design decision ever needs to be documented)
#16 documentation and communication are for whimps only. Real programmers don't talk.
17. Standards are good.
Interesting...
Here's my list:
http://www.manageability.org/blog/stuff/ten-fallacies-of-software-analysis-design/view
1. You can trust everyone
2. Universal agreement is possible
3. A perfect model of the real world can be created
4. Change can be avoided
5. Time doesn't exist
6. Everyone can respond immediately
7. Concurrency can be abstracted away
8. Side effects and non-linearity should be removed
9. Systems can be proven to be correct
10. Implementation details can be hidden
However, your list has some other interesting observations. Hopefully we can read some more elaboration in a future piece. ;-)
Carlos