Enkelhet som medel,
 möjlighet som mål
Lätt som en plätt
” Gör allt så enkelt som möjligt, men inte enklare.”
                  – Albert Einstein
Hej jag heter Niklas
  Jag jobbar med "IT".
Just Do
".. the simplest thing that could possibly work."
Resten är upp till oss
Vid givna tillfällen. På givna platser.

Vad gör det om hundra år?
Vad är det egentligen vi gör?
"Det borde väl inte vara så svårt?"

"Varför tar det så'n tid?"

"Hur många möjliga sätt kan...
Person
name
age
Idag, igår, imorrn
     name
     age    ←   FAIL
Förenkling
Födelsedatum: år 1978, månad 2, dag 12 — enligt
gregorianska kalenderräkningen.

Räkna ut nuvarande ålder.
Precision
birthDate (”en tidpunkt som representerar en
persons födelse")

"1978-02-12" (W3C.Date)

● En sträng av bytes (0...
Kontext
   Kontext är gud.

    Finns överallt.

Går inte att undkomma.
Ett steg längre
Tänk långsiktigt för att undvika upprepat arbete.

                    age += 1
Gå för långt?
    Löskopplad, sömlöst integrerbar, pluggbar
              flerlagersarkitektur.

I praktiken:

● Monolitis...
Dold komplexitet
All problems can be solved by adding one more
              layer of indirection.

     Except for the pr...
Det värsta..
.. är inte 1000 rader procedurell kod fullproppad
med muterbara variabler.
Diffust
Det är när en tvetydighet uppträder i — och delas
mellan — system.
Tolkningar smittar
Exempel:

"Kurskoden är egentligen ett databas-id för
enskilda tilfällen."
Tydliggör
Sträva efter platta gränssnitt, där tolkningar
(detaljer) tydligt framträder.


● Platt: på samma abstraktionsni...
Enkla beslut
Enkelhet kräver beslut.

● "vi ska ta emot X"
● "kunna styra på Y"

● "leverera Z"
Goda råd är dyra
Beslut kostar. Låt andra välja/välja bort.

Att värdera råd kräver kompetens.
Konsensus
IETF, W3C, "de facto"..

● datumformat
● referenser (webbadresser)

● listor (feeds)
Stå på giganters axlar
 Vilkas? Flera? Hur länge?

    POSIX, TCP, HTTP

 J(2)EE? Spring? "Nothing"?

       SOAP.. REST
Byta spår
Hushåll beroenden
Blanda inte ihop implementationen med den
behandlade informationen.
UNIX-filosofin
●   Gör en sak och gör den bra
●   Skriv program som fungerar ihop
●   Hantera textströmmar, eftersom det u...
Tänk på att..
Enkelt: lätt att förstå

Kräver: sammanhang

 Som är: komplexa
Möjligheter
Tydliggör sammanhanget

 Ta bort onödiga beslut
Tack!

              Niklas Lindström, Valtech

             Bilderna i denna presentation (CC):

                        ...
Upcoming SlideShare
Loading in...5
×

Enkelhet som medel möjlighet som mål - Niklas Lindstrom

343

Published on

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
343
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Enkelhet som medel möjlighet som mål - Niklas Lindstrom

  1. 1. Enkelhet som medel, möjlighet som mål
  2. 2. Lätt som en plätt ” Gör allt så enkelt som möjligt, men inte enklare.” – Albert Einstein
  3. 3. Hej jag heter Niklas Jag jobbar med "IT".
  4. 4. Just Do ".. the simplest thing that could possibly work."
  5. 5. Resten är upp till oss Vid givna tillfällen. På givna platser. Vad gör det om hundra år?
  6. 6. Vad är det egentligen vi gör? "Det borde väl inte vara så svårt?" "Varför tar det så'n tid?" "Hur många möjliga sätt kan det finnas egentligen?"
  7. 7. Person name age
  8. 8. Idag, igår, imorrn name age ← FAIL
  9. 9. Förenkling Födelsedatum: år 1978, månad 2, dag 12 — enligt gregorianska kalenderräkningen. Räkna ut nuvarande ålder.
  10. 10. Precision birthDate (”en tidpunkt som representerar en persons födelse") "1978-02-12" (W3C.Date) ● En sträng av bytes (01001.. ASCII.. UTF-8..) ● Som tolkas
  11. 11. Kontext Kontext är gud. Finns överallt. Går inte att undkomma.
  12. 12. Ett steg längre Tänk långsiktigt för att undvika upprepat arbete. age += 1
  13. 13. Gå för långt? Löskopplad, sömlöst integrerbar, pluggbar flerlagersarkitektur. I praktiken: ● Monolitiska system ● Djupa arkitekturer ● Enkelriktade designbeslut ● Feodala ramverk
  14. 14. Dold komplexitet All problems can be solved by adding one more layer of indirection. Except for the problem of indirection.
  15. 15. Det värsta.. .. är inte 1000 rader procedurell kod fullproppad med muterbara variabler.
  16. 16. Diffust Det är när en tvetydighet uppträder i — och delas mellan — system.
  17. 17. Tolkningar smittar Exempel: "Kurskoden är egentligen ett databas-id för enskilda tilfällen."
  18. 18. Tydliggör Sträva efter platta gränssnitt, där tolkningar (detaljer) tydligt framträder. ● Platt: på samma abstraktionsnivå ● Inte för "djupt", inte för "brett" ● Täta skott
  19. 19. Enkla beslut Enkelhet kräver beslut. ● "vi ska ta emot X" ● "kunna styra på Y" ● "leverera Z"
  20. 20. Goda råd är dyra Beslut kostar. Låt andra välja/välja bort. Att värdera råd kräver kompetens.
  21. 21. Konsensus IETF, W3C, "de facto".. ● datumformat ● referenser (webbadresser) ● listor (feeds)
  22. 22. Stå på giganters axlar Vilkas? Flera? Hur länge? POSIX, TCP, HTTP J(2)EE? Spring? "Nothing"? SOAP.. REST
  23. 23. Byta spår
  24. 24. Hushåll beroenden Blanda inte ihop implementationen med den behandlade informationen.
  25. 25. UNIX-filosofin ● Gör en sak och gör den bra ● Skriv program som fungerar ihop ● Hantera textströmmar, eftersom det utgör ett universiellt gränssnitt
  26. 26. Tänk på att.. Enkelt: lätt att förstå Kräver: sammanhang Som är: komplexa
  27. 27. Möjligheter Tydliggör sammanhanget Ta bort onödiga beslut
  28. 28. Tack! Niklas Lindström, Valtech Bilderna i denna presentation (CC): "Cave Man Blog 2" http://www.flickr.com/photos/ittybittiesforyou/3413099218/ "P6086146" http://www.flickr.com/photos/ingythewingy/2584243648/ "wired things get strange" http://www.flickr.com/photos/jorgempf/68987189/ "Street wirescape" http://www.flickr.com/photos/ivva/2266608131/in/set-72157600234918432/
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×