Brugervenlighed over arkitektur i digitalisering

Jeg tilbragte et par dage i sidste uge på Dansk ITs konference Offentlig digitalisering 2015, hvor jeg, og alle de andre fremmødte, kunne høre dels om hvordan det går med den offentlige digitalisering og hvad visionerne er med den fremadrettet. Et af de budskaber som der kom flere gange under konferencen, er at offentlig digitalisering går rigtigt godt i Danmark. Her tænkes på borgernes…

Datalog på filmoptagelse i Hollywood

Tilbage i august 2007 fik jeg en email ud af det blå fra en person ved navn Leena Pendharkar. Hun skrev hun var filmskaber, og at hun på nettet havde fundet en LEGO-robot, som jeg byggede under mit PhD-studium, og spurgte, om hun kunne bruge den i en spillefilm. Robotten, Feelix, havde et ansigt, der kunne skifte udtryk, og det var dét, de havde…

Hvem vedligeholder din kryptografi?

mikkelimg

Den 3. marts hørte vi om “FREAK” – et nyligt opdaget angreb på SSL/TLS. Dette er blot det seneste af en lang række angreb, og vi husker vel alle endnu Heartbleed, POODLE og i øvrigt Apples underholdende GOTO-bommert. Vi har et problem, der næppe kan råbes højt nok om: sikkerhedsmekanismer, der ikke bliver vedligeholdt, ikke bliver reviewet godt nok og generelt er svære at…

Hurtige hypoteser

keepcalm

KMD2.0 er en hypotesedrevet forandringsproces. Når vi (Business Transformation) går ind for at forandre et forretningsområde, bruger vi derfor tid på at få opsat de vigtigste hypoteser for området. Men hvordan udleder man hurtigst et sæt af brugbare hypoteser for et forretningsområde til det videre analysearbejde? Til at kickstarte hypotesearbejdet kan man bruge hypoteseworkshops. I KMD2.0 samler vi alle ledere og udvalgte repræsentanter (forretningsspecialister,…

“Vi bruger ikke processer”

frust

… og det er løgn! Titlen dækker over et citat jeg hørte for kort tid siden. Blodtrykket steg og det krævede stor viljestyrke hos undertegnede at finde en passende grimmase og tilhørende svar. Citatet stammede ikke engang fra en IT-udvikler; ærlig talt kom det fra en person der slet ikke har tilknytning til IT-udvikling. For at være helt møjsommelig: Sætningen blev sagt af en…

Performance testing – del 2

speedometer14

Når man vil prøve at forbedre performance i et softwaresystem, skal man først og fremmest vide hvad det er man vil forbedre. Hvordan ser en kørsel af systemet ud mht. latency hen over længere tid? Det er sjældent at man sætter performance testkørsler i gang, måler og samler data så det kan visualiseres. Det vil dog bringe større forståelse af systemets latency og throughput,…

Serilog

serilog

NLog, Log4Net, MS Enterprise Library, SmartInspect, ObjectGuy, Logary. There are plenty of frameworks to choose from when it comes to logging on the .NET platform. You can even setup logging right out of the box by using System.Diagnostics. Also logging is really easy to achieve – here is a very naive logging “framework”: In 2013 Nicholas Blumhardt released a new logging framework called Serilog…

Har du kigget en fremmed dybt i øjnene for nyligt?

pic

Det har jeg – 2 gange endda. I tirsdags var jeg til Agile Games Night i Århus. Agile Games handler i bund og grund om at lære gennem spil. Enten lærer man om agile begreber eller også bruger man spillene til at facilitere en agil proces. Denne aftens program var dog lidt anderledes. Vi skulle ikke spille agile spil men i stedet lære om…

Nedtælling til websikkerhed – nr. 7 manglende adgangskontrol på funktionsniveau

sikkerhed

Når det kommer til websites foregår adgangskontrol typisk to gange; én gang når grænsefladen skal vises og der skal tages stilling til om der skal vises et link til en sikker side. Én gang når den sikre side skal vises. En typisk fejl er at glemme sidstnævnte, at sitet beror rent på adgangskontrol i præsentationslaget og dermed kan ondsindede personer skaffe sig direkte adgang…

Arketypiske Scrum Mastere

scrum

Naturen af en Scrum Masters arbejde er beskrevet i rollen, men kan ikke foregå i et tomrum. Det er et produkt af omgivelserne – forskellige Scrum teams har forskellige behov i deres relation til deres Scrum Master. Nogle teams er meget selvstændige og kører det hele på egne vilkår, mens andre teams har brug for mere vejledning – og disse forskelle dikterer hvad en…

Du er ikke agil

successfailure

Er man i stand til at kalde sig agil blot fordi man anvender Kanban eller Scrum? Er man per definition rigid bare fordi ens projekt følger en vandfaldsmodel? Er CMMI overhovedet forligeligt med konceptet agile? Jeg har ikke alle svarene, men jeg har givet det en del tanker: De mest agile teams jeg kender arbejder hverken efter Scrum, Vandfald eller Kanban. Nogle af de…

Enden for Agile Excellence

exit

Som nogen måske husker, startede jeg denne blog i forbindelse med et nyt initiativ i KMD kaldet Agile Excellence. I forbindelse med Agile Conference @ Danske Bank holdt jeg et oplæg om agil udvikling i KMD. Titlen var Agile Journey at KMD – the rise and fall of Agile Excellence. Som titlen på både dette indlæg og præsentationen antyder, er Agile Excellence-eventyret ovre. Dels…

Nedtælling til Websikkerhed – nr. 8 Cross Site Request Forgery (CSRF)

caution

Det er ikke noget vi nødvendigvis tænker på – når vi i vores daglige rutine bevæger os fra site til site, men det at vi i browseren har gemt vores identitet fra besøg til besøg gør at vi er sårbare over for CSRF-angreb. Problemet er at angrebet er næsten usynligt da det kan være drevet af noget så banalt som et image-tag eller en…

Når Scrum ikke skalerer

safe

  I Danske Bank har vi i flere år arbejdet med at implementere agilitet i Group IT i form af introducering af både Scrum og Kanban. De seneste år har fokus vægtet stabile teams meget højt, hvilket stiller nye krav til den resterende del af organisationen. Problemstilling Mange medarbejdere og projekter har været vænnet til at der nedsættes en midlertidig projektgruppe til løsning af…

Retrospective antipatterns – hvad skal man undgå

Patterns er erfaringer skrevet ned så andre kan gøre brug af dem. Antipatterns er det samme, bare beskrivende hvad der kan gå galt og derfor synes jeg de er sjovere end patterns. Siden jeg begyndte at facilitere retrospectives har jeg set og hørt om mange retrospectives der er gået galt, både for mig og for andre. En eftermiddag i 2013 på GOTO konferencen i…

Agile Conference @ Danske Bank

IMG_0670

Jeg har i længere tid gået med tanken om at afholde en intern konference om agilitet på mit arbejde. For ca. 6 måneder siden fik jeg “grønt lys” til at arrangere en event med et forventet besøgstal på 100-150 deltagere. Konferencen blev en stor success og det endelige deltagerantal løb op i knap 170 personer fra Group IT. Group IT er  IT-udviklingsafdelingen i Danske…

Det agile manifest: håndtering af forandringer over at følge planen

plan

“Man plans and God laughs” ~ gammelt jødisk ordsprog. For nu at sige det skarpt: planlægning er spildtid, som tager energi væk fra det faktiske arbejde. Måske er planen allerede forældet i det øjeblik den er færdig. Måske kommer der en fantastisk forretningsmulighed ind fra højre som bliver prioriteret højere end alt hvad der ligger i den oprindelige plan. Måske bliver vores eneste databasemand…

Logging-strategier

Error_Message_Example_vbs

Når først et softwareprojekt er released og kører ude hos kunderne, så er der ikke ret mange andre muligheder for fejlfinding og support end at kigge i log-filerne for at løse eventuelle problemer med softwaren. Men det kan ofte være svært for kunderne/slutbrugerne at forstå log-beskederne. Enten er der for mange log-beskeder eller for få. Log-beskeder fortæller ikke altid præcis hvad der er sket og hvad årsagen…

Hvis du arbejder med viden, så tænk som en landmand

farmer

Der er mange aspekter ved at være en videnarbejder, og videnarbejdet medfører potentielt også en masse faktorer som gør at folk mister engagement i arbejdet. Nu vil jeg lige se bort fra emnerne organisation, ledelse og teamwork, og fokusere på et enkelt og grundlæggende koncept: Forståelsen for hvad viden er, og hvorfor du ganske enkelt ikke kan undslippe det sociale element. I hvert fald…

Nedtælling til Websikkerhed – nr. 9 brug af komponenter med kendte sikkerhedshuller

_DSC0568

Selv vores forældre er ved at have lært at opdateringer til windows er vigtige – uanset om viljen er baseret på teknisk indsigt eller nagende popups. Men på trods af at vi måske formår at holde vores operativsystem opdateret er der mange andre flader der, pga. manglende opdateringer, er sårbare over for angreb. Det kan være den webserver vi benytter, de frameworks vi benytter…

Et tilbageblik på QEDs første år

Det er i dag et år siden at QED.dk gik i luften, og sikke et år det har været. Først en stor tak til vores læsere, som har gjort det muligt for os at fejre en succes i dag. Vi er 25 aktive QED’ere og vi har haft fint besøg på gæstebloggen 11 gange, hvoraf en af gæsterne heldigvis besluttede sig for at blive…

Det agile manifest: kundesamarbejde over kontraktforhandlinger

sign

I de to første blogindlæg om det agile manifest har vi dækket de to punkter: “Individuals and interactions over processes and tools” og “Working software over comprehensive documentation”. Nu er tiden kommet til den tredje i rækken “Customer collaboration over contract negotiation”. Set i kontekst lyder det: Through this work we have come to value: – Customer collaboration over contract negotiation. That is, while…

Nedtælling til Websikkerhed – nr. 10 uvaliderede redirects og forwards

sikkerhed

Sikkerhedsbrud i webapplikationer er et stadig stigende problem. Gang på gang skriver pressen om indbrud og kompromitterede systemer ved de store spillere på internettet og vi er så småt begyndt at diskutere hvornår en hacking-skandale er en reel krigshandling. Som udviklere har vi et fælles ansvar at leve op til – vore applikationer er kun så sikre som deres svageste led. Open Web Application…

Email – den næste killer feature indenfor samarbejdsteknologi ?

1d21c95

Email. Du kan ikke leve med det, og du kan sandsynligvis heller ikke leve uden. Email er nærmest internettets svar på toiletpapir. Et emne vi normalt ikke snakker så meget om, men vi bruger det jo alle. Det er vi nødt til. En af udfordringerne ved email er dets asynkrone natur. Så snart du vælger at bruge email til noget som helst andet end…

Krister drager nytte af disruptive innovation

Godt nytår! For denne spritnye Krister-historie var der ikke lang vej fra idé til færdigt produkt. Mere om processen nedenfor, hvis man skulle være interesseret. Det afsluttende palindrom skabte næsten selv denne historie. I årevis har “økonomi-kimono” ligget i mit baghoved og boblet uden helt at komme op til overfladen; dels mangler der et “kø” til sidst, som gør det lidt kluntet, og dels er en økonomi-kimono ikke…

Bag om Elasticsearch: Søgning og aggregering

featured

Med Lucene som fundament har man med ElasticSearch naturligvis en førsteklasses søgemaskine. Lucenes modenhed er en stor fordel når vi kigger på featuresættet, men med i prisen er der også en del legacy-baggage. Elasticsearch abstraherer ikke Lucene væk – dens JSON-baserede REST-interface giver adgang til alle Lucenes funktioner. Men Elasticsearch er ikke bare en indpakning af Lucene – derudover indeholder den et lag der…

Hvad laver en Scrum Master? Del 1: Samarbejdet med POen

Product Owner dragon boat

Det er sådan lidt meta at være Scrum Master. Hvor udviklingsteamet har ansvaret for at lave arbejdet, Product Owneren (POen) har ansvaret for at teamet laver det rigtige arbejde (og dermed det rigtige produkt), så har Scrum Masteren ansvaret for at hjælpe teamet og POen med at få succes. Deres mulighed for succes er Scrum Masterens succes. Inspireret af “42 tasks for a Scrum…

Let samarbejdet med tekstbaserede værktøjer

_DSC0384

Vi er som branche ved at have styr på processen omkring det at skrive software i fællesskab. Den fundamentale opgave at sammensætte ændringer fra flere udviklere er efterhånden et løst problem – der er en overflod af værktøjer til formålet og har vi da ikke lige ændret i den samme linje foregår det i de fleste tilfælde automatisk. Alligevel bruger vi stadig i stor…

Context aware: Introduktion til kontekstbevidste applikationer

Inside IT: Context-Aware Computing

Masser af de IT-systemer vi bruger til dagligt bruges ikke af én bruger foran én skærm på et fast sted. Context-aware, eller kontekstbevidste computer systemer og applikationer forsøger at tilpasse sig en bestemt kontekst eller situation.  Kontekstbevidst teknologi skal altså opfatte og reagere på forandringer i miljøet eller brugerens behov. Det er inspireret af mennesket evne til konstant at tilpasse sig nye omgivelser og…

Video og slides fra min seneste Microservice præsentation

Det er ved at være længe siden jeg sidst bloggede. Del 5 af min Microservice artikel serie er i støbeskeen. I sidste uge deltog jeg som taler ved µService Conference i London. Videoen fra mit foredrag og slide-settet er begge tilgængelige online. Hvis du er ny til SOA/Microservices og/eller DDD kan jeg anbefale at læse min Microservice serie samt se Udi Dahans keynote inden. Det…

Agil arkitektur med isolerede koncepter

_DSC0382

Fælles for de agile udviklingsprocesser er, at de lægger op til at vi leverer små forretningsværdiskabende stykker af funktionalitet. Når leverancen fejler, er det tit på grund af eksisterende kompleksiteter – domænet, datamodellen eller infrastrukturen forhindrer os i at nå målet. Principper som DRY (Don’t Repeat Yourself) gør at vi ivrigt genbruger og skaber bindinger og samtidigt maler vi os selv op i et…

“Jeg kører sav”

kanban

Kanban er en gammel teknik der stammer fra Japan. Ordet betyder noget i retning af “skilt” eller “signal”. I 1700-tallet brugte japanske producenter Kanban til at markedsføre sig, i det de placerede små logoer udskåret i træ på deres varer, så folk kunne se hvilken smed eller snedker der havde lavet varen. Ordet har sidenhen fået ny betydning, specielt efter Taiichi Ohno og David…

Den gode Backlog

to-do-list

Når vi har besøgt forskellige dele af KMD, har vi bemærket forskellige syn på kravstyringen i forhold til produkterne. Nogen har en god opsamling af: Kundeønsker Fejl fundet i driften Andre interessenters ønsker … andre knap så meget. Selvom vi har set kravstyringen som mangelfuld, er det ikke ensbetydende med, at forretningsområdet selv ser det sådan. Det kan snildt være, at de tjener penge…