$30 off During Our Annual Pro Sale. View Details »

Designed Stickiness

Designed Stickiness

NCrafts 2016, Paris

Mathias Verraes

May 13, 2016
Tweet

More Decks by Mathias Verraes

Other Decks in Technology

Transcript

  1. Designed
    Stickiness
    @mathiasverraes

    View Slide

  2. @mathiasverraes
    verraes.net
    Student of Systems
    Meddler of Models
    Labourer of Legacy

    View Slide

  3. View Slide

  4. Let's talk about
    metaphors that stick

    View Slide

  5. Great metaphors
    create opportunity

    View Slide

  6. ( ... even if it takes a while )

    View Slide

  7. «Breakthrough:
    An opportunity opens up
    to transform your software
    into something
    more expressive and versatile
    than you expected.»1
    1 "Domain-Driven Design", Eric Evans, 2004

    View Slide

  8. Breakthroughs are often linguistic.

    View Slide

  9. Language is not a tool like
    metalworking or writing
    It's how our brains are wired2
    2 "The Language Instinct - How the Mind Creates
    Language", Steven Pinker, 1994

    View Slide

  10. Some language is more sticky
    Advertisers learned this
    a long time ago

    View Slide

  11. Ceci n'est pas le Ping-Pong.

    View Slide

  12. Microservices vs SCS-architecture

    View Slide

  13. The optimistic age of OOP
    Objects as a thinking tool4
    Anthropomorphic objects5
    Objects as projections of the mind
    ...
    5 "Object Design: Roles, Responsibilities, and
    Collaborations", Rebecca Wirfs-Brock & Alan McKean,
    2003
    4 "Object Thinking", David West, 2004

    View Slide

  14. Mainstream OOP:
    Objects as a way to structure imperative code

    View Slide

  15. Logger
    {
    log(...)
    {
    ...
    }
    }

    View Slide

  16. Execution in the
    Kingdom of Nouns6
    6 http://steve-yegge.blogspot.be/2006/03/execution-in-
    kingdom-of-nouns.html

    View Slide

  17. A healthy obsession
    with language

    View Slide

  18. View Slide

  19. Log
    {
    append(...)
    {
    ...
    }
    }

    View Slide

  20. Metaphors as objects

    View Slide

  21. «His people are completely literal.
    Metaphors go over his head.»

    View Slide

  22. «Nothing goes over my head.
    My reflexes are too fast,
    I would catch it.»

    View Slide

  23. Example: Data Matching
    Paying money based on usage of content
    Determine ownership based on matches in data

    View Slide

  24. Data sources:
    Own research by employees
    Off shore data cleaning
    Public wiki-style
    Public but curated
    Private, paid
    Direct submissions from individuals
    Agencies representing owners

    View Slide

  25. Lots of incentives for fraud

    View Slide

  26. Is this our Core Domain?
    ✗ It's just technical data imports




    View Slide

  27. Is this our Core Domain?
    ✗ It's just technical data imports
    ✗ Business is not interested



    View Slide

  28. Is this our Core Domain?
    ✗ It's just technical data imports
    ✗ Business is not interested
    ✔ Money changing hands


    View Slide

  29. Is this our Core Domain?
    ✗ It's just technical data imports
    ✗ Business is not interested
    ✔ Money changing hands
    ✔ The code you keep secret

    View Slide

  30. Is this our Core Domain?
    ✗ It's just technical data imports
    ✗ Business is not interested
    ✔ Money changing hands
    ✔ The code you keep secret
    ✔ Oldest code in the system

    View Slide

  31. Event Storming

    View Slide

  32. Temporality
    The quality of data
    changes over time,
    based on who changes it

    View Slide

  33. Missing concept:
    Matching Data
    =>
    ?

    View Slide

  34. Missing concept:
    Matching Data
    =>
    Earning Trust

    View Slide

  35. Trust as a sticky metaphor
    Adopted by business

    View Slide

  36. Adopted into Ubiquitous Language

    View Slide

  37. The business started getting
    interested and involved

    View Slide

  38. What if Trust was a tangible thing
    in our domain model?

    View Slide

  39. Trust as a Value Object

    View Slide

  40. Trust can be passed around

    View Slide

  41. Trust attracts behaviour

    View Slide

  42. Strategies for changing Trust
    Event-based workflows

    View Slide

  43. 0 <-> 5 <-> 10

    View Slide

  44. A Trust Arithmetic
    Invented by the business
    0 <-> 5 <-> 10
    Group
    (closure, associativity, identity, invertibility)

    View Slide

  45. «Habitable software (...)
    enables people to understand
    its construction and intentions
    and to change it
    comfortably and confidently.»7
    Programmers are not the only
    ones inhabiting our systems
    7 "Patterns of Software", Richard P. Gabriel, 1996

    View Slide

  46. Example:
    Phone call bill rating

    View Slide

  47. Price per minute, price after the 60th minute
    Bundles: Credit minutes, lower rates
    Subscriptions: recurring bundles
    Promotions and incentives
    End of month transfers, expiries
    Flexible rating strategies in different markets

    View Slide

  48. "It's just an algorithm"

    View Slide

  49. Missing Metaphor:
    Buckets

    View Slide

  50. View Slide

  51. View Slide

  52. Mental Model
    ~
    Visual Model
    ~
    Implementation Model

    View Slide

  53. New opportunity:
    Long lead time to change pricing
    =>
    Lively experimentation with pricing

    View Slide

  54. System Metaphors (XP)
    are too ambitious

    View Slide

  55. Metaphors
    are not specifications

    View Slide

  56. Small, local metaphors

    View Slide

  57. How to find metaphors?
    It's not magic, it's awareness

    View Slide

  58. Modelling
    is spending time
    with the problem

    View Slide

  59. Obsess over language

    View Slide

  60. Visualise different models
    (structural, temporal, spatial...)

    View Slide

  61. Grasp the underlying principles of
    the problem and the domain

    View Slide

  62. «[A paradigm change]
    can happen in a millisecond.
    All it takes is a click in the mind,
    a falling of scales from the eyes,
    a new way of seeing.»8
    8 "Thinking in Systems", Donella H. Meadows, 2008

    View Slide

  63. Thank you —
    verraes.net
    @mathiasverraes
    verraes.net/workshops
    dddeurope.com

    View Slide