You are previewing Thinking in Promises.
O'Reilly logo
Thinking in Promises

Book Description

Imagine a set of simple principles that could help you to understand how parts combine to become a whole, and how each part sees the whole from its own perspective. If such principles were any good, it shouldn’t matter whether we’re talking about humans on a team, birds in a flock, computers in a datacenter, or cogs in a Swiss watch. A theory of cooperation ought to be pretty universal, so we should be able to apply it both to technology and to the workplace.

Such principles are the subject of Promise Theory, and the focus of this insightful book. The goal of Promise Theory is to reveal the behavior of a whole from the sum of its parts, taking the point of the parts rather than the whole. In other words, it is a bottom-up, constructionist view of the world. Start Thinking in Promises and find out why this discipline works for documenting system behaviors from the bottom-up.

Table of Contents

  1.  
  2. 1. Promises and Impositions
    1. Promise engineering
    2. From commands to promises
    3. Why is a promise better than a command?
    4. Autonomy leads to greater certainty
    5. The observer is always right
    6. Culture and psychology
    7. Non-locality of obligations
    8. Isn’t that quasi-science?
    9. Is Promise Theory really a theory?
    10. The main concepts
    11. How much certainty do you need?
    12. A Quick User Guide
    13. Just make it happen
    14. An exercise
  3. 2. With a license to intend
    1. An imposition too far
    2. Reformulating your world into promises
    3. Proxies for human agency
    4. What are the agencies of promises?
    5. What issues do we make promises about?
    6. What things can be promised?
    7. What things can’t be promised?
    8. The lifecycle of promises
    9. Keeping promises
    10. Cooperation: the polarity of give and take
    11. How much does a promise binding count?
    12. Promises and trust are symbiotic
    13. Promoting certainty
    14. Some exercises
  4. 3. Assessing promises
    1. What we mean by assessment
    2. Kinds of promise assessment
    3. Relativity: many worlds branches and their observers
    4. Relativity and levels of perception
    5. Inferred promises: emergent behaviour
    6. How promises define agent-perceived roles
    7. The economics of promise value: beneficial outcomes
    8. Human reliability
    9. The eye of the beholder
    10. Some exercises
  5. 4. Conditional promises — and deceptions
    1. The Laws of Conditional Promising
    2. Local quenching of conditionals
    3. Assisted promises
    4. Conditional causation and dependencies
    5. Circular conditional bindings: the deadlock carousel
    6. The curse of conditions, safety valves
    7. Other circular promises
    8. Logic and reasoning - the limitations of branching and linear thinking
    9. Some exercises
  6. 5. Engineering cooperation
    1. Engineering autonomous agents
    2. Promisees, stakeholders, and trading promises
    3. Broken promises
    4. What are the pre-requisites for cooperation?
    5. Who is responsible for keeping promises?
    6. Mutual bindings and equilibrium of agreement
    7. Incompatible promises - conflicts of intent
    8. Cooperating for availability, and the redundancy conundrum
    9. Agreement as promises - consensus of intent
    10. Contractual agreement
    11. Contracts and signing
    12. Agreement in groups
    13. Promoting cooperation by incentive - beneficial outcome
    14. The stability of cooperation - What Axelrod said
    15. The need to be needed --reinterpreting an innate incentive?
    16. Avoiding conflicts of interest
    17. Emergent phenomena as collective equilibria - forming super-agents
    18. Guiding the outcome of cooperation when it is emergent
    19. Stability of intent - erratic behaviour?
    20. When being not of one mind is an advantage
    21. Human error or misplaced intent?
    22. Organization: centralization vs decentralization
    23. Focused interventions or sweeping policies?
    24. Societies and functional roles
    25. Relationships - What Dunbar said
    26. Some exercises
  7. 6. Engineering component systems
    1. Reasoning with cause
    2. Componentization - divide and build!
    3. What do we mean by components?
    4. What systemic promises should components keep?
    5. Can agents themselves have components? (super-agents)
    6. Component design and roles
    7. Components need to be assembled
    8. Fragile promises in component design
    9. Reusability of components
    10. Interchangeability of components
    11. Compatibility of components
    12. Backwards compatibility
    13. Upgrading and regression testing of components
    14. Designing promises for a market
    15. Law of the lowest common denominator
    16. Imposing requirements - false expectations
    17. Component choices that you can’t go back on
    18. The art of versioning
    19. Names and identifiers for ‘branding’ component promises
    20. Naming promisee usage (-) rather than function (+)
    21. The cost of modularity
    22. Some exercises
  8. 7. Service engineering
    1. The Client-Server model
    2. Responsibility for service delivery
    3. Dispatchers and queues for service on demand
    4. Delivering service through intermediaries or proxies
    5. Framing promises as state or action
    6. Delivery chains by imposition
    7. Delivery chains with promises
    8. Formality helps the medicine go down
    9. Chains of intermediaries
    10. End-to-end integrity
    11. Transformation chains or assembly lines
    12. Continuity of delivery and intent
    13. The versioning problem again
    14. Avoiding conflicting promises by branching into separate worlds
    15. Avoiding many worlds branches by converging on target
    16. Backwards compatibility means continuity of intent
    17. Assessing a service by promising to use it (testing)
    18. Some exercises
  9. 8. Knowledge and Information
    1. How information becomes knowledge
    2. Knowledge, the mystery cat
    3. Passing information around
    4. Categories are roles made into many world branches
    5. Super-agent aggregation (explialidocious)
    6. Thinking in straight lines
    7. Knowledge engineering
    8. Equilibrium and common knowledge
    9. Integrity of information through intermediaries
    10. Relativity of information
    11. Promising consistency across multiple agents and CAP
    12. A is for Availability
    13. C is for Consistency
    14. P is for Partition-Tolerance
    15. The world is my database, I shall not want..
    16. Some exercises
  10. 9. Systemic promises
    1. What is a system?
    2. The myth of system and user
    3. Systemic promises
    4. Who intends systemic promises?
    5. Breaking down the systemic promises for real agencies
    6. Why do systems succeed or fail in keeping promises?
    7. Complexity, separation and modularity
    8. The collapse of complex systems
    9. Through the lens of promises
  11. Copyright