SlideShare a Scribd company logo
1 of 28
Download to read offline
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 det finnas
egentligen?"
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 (01001.. ASCII.. UTF-8..)
● Som tolkas
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:

● Monolitiska system
● Djupa arkitekturer

● Enkelriktade designbeslut

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

     Except for the problem of indirection.
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 abstraktionsnivå
● Inte för "djupt", inte för "brett"

● Täta skott
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 utgör ett
universiellt gränssnitt
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):

                            "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/

More Related Content

Viewers also liked

Autodidaktiken i praktiken - Åke Helgstrand
Autodidaktiken i praktiken - Åke HelgstrandAutodidaktiken i praktiken - Åke Helgstrand
Autodidaktiken i praktiken - Åke Helgstrandmanssandstrom
 
Problemfokuserande retrospektiv - Torbjorn Kalin
Problemfokuserande retrospektiv - Torbjorn KalinProblemfokuserande retrospektiv - Torbjorn Kalin
Problemfokuserande retrospektiv - Torbjorn Kalinmanssandstrom
 
En lättviktsmodell för gradering av agila team och organisationer - Thomas Lu...
En lättviktsmodell för gradering av agila team och organisationer - Thomas Lu...En lättviktsmodell för gradering av agila team och organisationer - Thomas Lu...
En lättviktsmodell för gradering av agila team och organisationer - Thomas Lu...manssandstrom
 
Tillståndslös programmering devlin 2011
Tillståndslös programmering devlin 2011Tillståndslös programmering devlin 2011
Tillståndslös programmering devlin 2011manssandstrom
 
Agile black operations praktikfall från en testare - Michael Albrecht
Agile black operations praktikfall från en testare - Michael AlbrechtAgile black operations praktikfall från en testare - Michael Albrecht
Agile black operations praktikfall från en testare - Michael Albrechtmanssandstrom
 
Agil porteføljestyring - Christian Hauknes
Agil porteføljestyring - Christian HauknesAgil porteføljestyring - Christian Hauknes
Agil porteføljestyring - Christian Hauknesmanssandstrom
 
Vem har ansvar för hastigheten - Thomas Nilsson
Vem har ansvar för hastigheten - Thomas NilssonVem har ansvar för hastigheten - Thomas Nilsson
Vem har ansvar för hastigheten - Thomas Nilssonmanssandstrom
 
Scrum och Kanban samtidigt - Anna Herting
Scrum och Kanban samtidigt - Anna HertingScrum och Kanban samtidigt - Anna Herting
Scrum och Kanban samtidigt - Anna Hertingmanssandstrom
 

Viewers also liked (8)

Autodidaktiken i praktiken - Åke Helgstrand
Autodidaktiken i praktiken - Åke HelgstrandAutodidaktiken i praktiken - Åke Helgstrand
Autodidaktiken i praktiken - Åke Helgstrand
 
Problemfokuserande retrospektiv - Torbjorn Kalin
Problemfokuserande retrospektiv - Torbjorn KalinProblemfokuserande retrospektiv - Torbjorn Kalin
Problemfokuserande retrospektiv - Torbjorn Kalin
 
En lättviktsmodell för gradering av agila team och organisationer - Thomas Lu...
En lättviktsmodell för gradering av agila team och organisationer - Thomas Lu...En lättviktsmodell för gradering av agila team och organisationer - Thomas Lu...
En lättviktsmodell för gradering av agila team och organisationer - Thomas Lu...
 
Tillståndslös programmering devlin 2011
Tillståndslös programmering devlin 2011Tillståndslös programmering devlin 2011
Tillståndslös programmering devlin 2011
 
Agile black operations praktikfall från en testare - Michael Albrecht
Agile black operations praktikfall från en testare - Michael AlbrechtAgile black operations praktikfall från en testare - Michael Albrecht
Agile black operations praktikfall från en testare - Michael Albrecht
 
Agil porteføljestyring - Christian Hauknes
Agil porteføljestyring - Christian HauknesAgil porteføljestyring - Christian Hauknes
Agil porteføljestyring - Christian Hauknes
 
Vem har ansvar för hastigheten - Thomas Nilsson
Vem har ansvar för hastigheten - Thomas NilssonVem har ansvar för hastigheten - Thomas Nilsson
Vem har ansvar för hastigheten - Thomas Nilsson
 
Scrum och Kanban samtidigt - Anna Herting
Scrum och Kanban samtidigt - Anna HertingScrum och Kanban samtidigt - Anna Herting
Scrum och Kanban samtidigt - Anna Herting
 

More from manssandstrom

Systemtänkande DevLin 2011
Systemtänkande DevLin 2011Systemtänkande DevLin 2011
Systemtänkande DevLin 2011manssandstrom
 
Agile och Kanban på driftavdelningen - Tomas Bjorkholm
Agile och Kanban på driftavdelningen - Tomas BjorkholmAgile och Kanban på driftavdelningen - Tomas Bjorkholm
Agile och Kanban på driftavdelningen - Tomas Bjorkholmmanssandstrom
 
Skala scrum med visuell planering från lean - Daniel Berg
Skala scrum med visuell planering från lean - Daniel BergSkala scrum med visuell planering från lean - Daniel Berg
Skala scrum med visuell planering från lean - Daniel Bergmanssandstrom
 
Användaren smidig lättrorlig och vig? - Mattias Persson
Användaren smidig lättrorlig och vig? - Mattias PerssonAnvändaren smidig lättrorlig och vig? - Mattias Persson
Användaren smidig lättrorlig och vig? - Mattias Perssonmanssandstrom
 
Spelregler för självorganiserande team - Tomas Lundborg
Spelregler för självorganiserande team - Tomas LundborgSpelregler för självorganiserande team - Tomas Lundborg
Spelregler för självorganiserande team - Tomas Lundborgmanssandstrom
 
Den empiriska processen - Daniel Brolund
Den empiriska processen - Daniel BrolundDen empiriska processen - Daniel Brolund
Den empiriska processen - Daniel Brolundmanssandstrom
 
Scrum och städning, fika eller städa det är frågan - Josefina Trende
Scrum och städning, fika eller städa det är frågan - Josefina TrendeScrum och städning, fika eller städa det är frågan - Josefina Trende
Scrum och städning, fika eller städa det är frågan - Josefina Trendemanssandstrom
 
Vad är agilt i ideelt - Fredrik Jonsson
Vad är agilt i ideelt - Fredrik JonssonVad är agilt i ideelt - Fredrik Jonsson
Vad är agilt i ideelt - Fredrik Jonssonmanssandstrom
 
User story mapping - Andreas Ekstrom
User story mapping - Andreas EkstromUser story mapping - Andreas Ekstrom
User story mapping - Andreas Ekstrommanssandstrom
 
Att lyckas med integration av arbetet från flera scrum team - Christophe Acho...
Att lyckas med integration av arbetet från flera scrum team - Christophe Acho...Att lyckas med integration av arbetet från flera scrum team - Christophe Acho...
Att lyckas med integration av arbetet från flera scrum team - Christophe Acho...manssandstrom
 
Att agilifiera en systemutvecklingsprocess - Annika Widmark
Att agilifiera en systemutvecklingsprocess - Annika WidmarkAtt agilifiera en systemutvecklingsprocess - Annika Widmark
Att agilifiera en systemutvecklingsprocess - Annika Widmarkmanssandstrom
 
Timeboxed releases - Peter Antman
Timeboxed releases - Peter AntmanTimeboxed releases - Peter Antman
Timeboxed releases - Peter Antmanmanssandstrom
 
Bra verktyg för produktägare som vidareutvecklar scrum - André Ekespong
Bra verktyg för produktägare som vidareutvecklar scrum - André EkespongBra verktyg för produktägare som vidareutvecklar scrum - André Ekespong
Bra verktyg för produktägare som vidareutvecklar scrum - André Ekespongmanssandstrom
 
Använder du rätt verktyg - Johan Hernefeldt och Emil Nordling
Använder du rätt verktyg  - Johan Hernefeldt och Emil NordlingAnvänder du rätt verktyg  - Johan Hernefeldt och Emil Nordling
Använder du rätt verktyg - Johan Hernefeldt och Emil Nordlingmanssandstrom
 
Projekt en agil bromsmedicin - Andreas Larsson
Projekt en agil bromsmedicin - Andreas LarssonProjekt en agil bromsmedicin - Andreas Larsson
Projekt en agil bromsmedicin - Andreas Larssonmanssandstrom
 
Samarbete och allt vi gör för att förhindra det - Joakim Holm
Samarbete och allt vi gör för att förhindra det - Joakim HolmSamarbete och allt vi gör för att förhindra det - Joakim Holm
Samarbete och allt vi gör för att förhindra det - Joakim Holmmanssandstrom
 

More from manssandstrom (16)

Systemtänkande DevLin 2011
Systemtänkande DevLin 2011Systemtänkande DevLin 2011
Systemtänkande DevLin 2011
 
Agile och Kanban på driftavdelningen - Tomas Bjorkholm
Agile och Kanban på driftavdelningen - Tomas BjorkholmAgile och Kanban på driftavdelningen - Tomas Bjorkholm
Agile och Kanban på driftavdelningen - Tomas Bjorkholm
 
Skala scrum med visuell planering från lean - Daniel Berg
Skala scrum med visuell planering från lean - Daniel BergSkala scrum med visuell planering från lean - Daniel Berg
Skala scrum med visuell planering från lean - Daniel Berg
 
Användaren smidig lättrorlig och vig? - Mattias Persson
Användaren smidig lättrorlig och vig? - Mattias PerssonAnvändaren smidig lättrorlig och vig? - Mattias Persson
Användaren smidig lättrorlig och vig? - Mattias Persson
 
Spelregler för självorganiserande team - Tomas Lundborg
Spelregler för självorganiserande team - Tomas LundborgSpelregler för självorganiserande team - Tomas Lundborg
Spelregler för självorganiserande team - Tomas Lundborg
 
Den empiriska processen - Daniel Brolund
Den empiriska processen - Daniel BrolundDen empiriska processen - Daniel Brolund
Den empiriska processen - Daniel Brolund
 
Scrum och städning, fika eller städa det är frågan - Josefina Trende
Scrum och städning, fika eller städa det är frågan - Josefina TrendeScrum och städning, fika eller städa det är frågan - Josefina Trende
Scrum och städning, fika eller städa det är frågan - Josefina Trende
 
Vad är agilt i ideelt - Fredrik Jonsson
Vad är agilt i ideelt - Fredrik JonssonVad är agilt i ideelt - Fredrik Jonsson
Vad är agilt i ideelt - Fredrik Jonsson
 
User story mapping - Andreas Ekstrom
User story mapping - Andreas EkstromUser story mapping - Andreas Ekstrom
User story mapping - Andreas Ekstrom
 
Att lyckas med integration av arbetet från flera scrum team - Christophe Acho...
Att lyckas med integration av arbetet från flera scrum team - Christophe Acho...Att lyckas med integration av arbetet från flera scrum team - Christophe Acho...
Att lyckas med integration av arbetet från flera scrum team - Christophe Acho...
 
Att agilifiera en systemutvecklingsprocess - Annika Widmark
Att agilifiera en systemutvecklingsprocess - Annika WidmarkAtt agilifiera en systemutvecklingsprocess - Annika Widmark
Att agilifiera en systemutvecklingsprocess - Annika Widmark
 
Timeboxed releases - Peter Antman
Timeboxed releases - Peter AntmanTimeboxed releases - Peter Antman
Timeboxed releases - Peter Antman
 
Bra verktyg för produktägare som vidareutvecklar scrum - André Ekespong
Bra verktyg för produktägare som vidareutvecklar scrum - André EkespongBra verktyg för produktägare som vidareutvecklar scrum - André Ekespong
Bra verktyg för produktägare som vidareutvecklar scrum - André Ekespong
 
Använder du rätt verktyg - Johan Hernefeldt och Emil Nordling
Använder du rätt verktyg  - Johan Hernefeldt och Emil NordlingAnvänder du rätt verktyg  - Johan Hernefeldt och Emil Nordling
Använder du rätt verktyg - Johan Hernefeldt och Emil Nordling
 
Projekt en agil bromsmedicin - Andreas Larsson
Projekt en agil bromsmedicin - Andreas LarssonProjekt en agil bromsmedicin - Andreas Larsson
Projekt en agil bromsmedicin - Andreas Larsson
 
Samarbete och allt vi gör för att förhindra det - Joakim Holm
Samarbete och allt vi gör för att förhindra det - Joakim HolmSamarbete och allt vi gör för att förhindra det - Joakim Holm
Samarbete och allt vi gör för att förhindra det - Joakim Holm
 

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