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…

Hvad er UX (og hvordan gør vi det agilt)?

UX-Icon-150x150

Dette er en skamløs reklame. Jeg er nemlig medarrangør på en hyggelig aften med vores egne QED-UX-eksperter Michelle Andreassen og Mathilde Hoeg Boisen. Det hele er pakket ind som en GOTO Night hos Trifork i Aarhus i samarbejde med Ada Aarhus og foregår på torsdag d. 27 november kl. 17.15-19. Den korte version: GRATIS, åbent for alle og med gratis sandwich-servering, hvor man lærer…

Blokfløjteakvavit

Den brugergenererede ordbog Godt Ord Igen har nu næsten 18,000 nye ord. Konceptet er, at hjemmesiden giver dig et tilfældigt, sammensat ord, og så finder du på forklaringen. Men hvorfor er det koncept så tilpas sjovt/dragende/underholdende/interessant/tidsslåihjel’ende, at folk 17,844 gange har gidet skrive og gemme en forklaring på et ord, ingen nogensinde har set før og ingen måske vil bruge i daglig tale? Og inden da har…

Ingen silver bullets – heller ikke i metodevalg

hands

“But, as we look to the horizon of a decade hence, we see no silver bullet. There is no single development, in either technology or in management technique, that by itself promises even one order-of-magnitude improvement in productivity, in reliability, in simplicity.”~Frederick P. Brooks, Jr Vandfald, XP, Crystal Clear, Scrum, Lean, Kanban, Lean Startup, RUP, PRINCE2, SAFe, DAD, LeSS… “Vores egen virksomheds-globale metode, som…

CQRS med ElasticSearch

_DSC0365Elasticsearch

Når data gemmes i ElasticSearch, sker det ved hjælp af en struktur kaldet et dokument. Hvert dokument består af de felter man som bruger kommer med, samt et antal faste felter. Ét af disse felter er et id der unikt identificerer dokumentet og kan, fra grænsefladens side, bruges til at lave opdateringer og overskrivninger af dokumentet. Under overfladen foregår tingene lidt anderledes. Lucene, der…

Hvorfor performance testing er så vigtigt – del 1

Hvad er performance når det handler om softwareapplikationer, der skal yde så godt som muligt og svare tilbage så hurtigt som muligt. Ofte er begrebet performance ikke defineret ordentligt, og specielt ikke hvad kravene til performance er for et givent softwaresystem. På universitetet havde vi ikke kurser der handlede om performance. Hverken hvordan man måler performance eller hvordan vi kan opnå en bedre performance…

Det agile manifest: virkende software over omfattende dokumentation

burndown

I det første indlæg om det agile manifest kiggede vi udelukkende på det første punkt ud af fire “Individer og interaktion over processer og værktøjer”. Nu er det så tid til at kigge på punkt to. I kontekst lyder den: Through this work we have come to value: – Working software over comprehensive documentation. That is, while there is value in the items on…

Ligheden af ting

mirror dragons

En spørgsmål som man ofte møder i forbindelse med Machine learning og data mining er at bestemme hvor meget to ting ligner hinanden, altså hvordan måler man ligheden af ting, det kan være personer, dokumenter, film eller frugter i et supermarkedet. Og det er der selvfølgelig mange måder at gøre det på, men en god en, at have i tasken, er opfundet af en…

Bliv agil med event sourcing

architect

En af løfterne i forbindelse med agil udvikling er at det skal blive lettere at skifte mening. Forretningerne ændrer sig konstant og vi forsøger ihærdigt som udviklere at elske dette. Som konsulent har jeg gang på gang set det ske – mine kollegaer sværger at de er agile, måske har de endda underskrevet manifestet. Men så kommer den store skelsættende ændring. En ændring der…

Startup Weekend som Scrum Product Owner bootcamp

startup-weekend

Hvad er en af de vigtigste ting Scrum Product Owners gør? At udvikle produkt-visionen og formulere den klart, så alle ved hvad der skal laves og hvorfor. At udvikle en produkt-vision er dog ikke så ligetil. Den dumper ikke ned fra himlen. Der er mange ting at tage hensyn til – er dette et helt nyt produkt som aldrig har set sin lige før…

Grit and determination

mountaineering-99093_1280

“The difference between the impossible and the possible lies in a person’s determination” (Tommy Lasorda)   Jeg var for en måneds tid siden til et foredrag med Katherine Kirk, som blev afholdt af netværket Ada Aarhus, der handlede om ”Grit and Determination”. Først er det vigtigt at få defineret hvad de to begreber handler om. Grit er et personlighedstræk, hvor personen har en passion…

Universitetets rolle i it-verdenen

universitet

På grund af diverse reformer og besparelser gennemført i de sidste par år i universitetsverdenen kommer jeg ofte til at diskutere universitetets rolle i samfundet med mine kammerater fra den akademiske verden. Når man har hverdagen i it-branchen, bliver det påtrængende spørgsmål: “Hvad er universitetets rolle i at uddanne arbejdskraft til it-branchen og it-forskning?” Med et ønske om at få flere studerende igennem studierne…

De svære emner… stress og depression

burnout-384083_1280

Der er emner, der er svære at tage op med kollegerne. De mange sygemeldinger, det dårlige humør, de pludselige følelsesudbrud, de glemte aftaler, de ubesvarede emails… og måske har vi mest lyst til at forbigå det i stilhed. Ignorere problemerne. Alle disse ting kan i det store billede være symptomer på stress eller depression og det er de færreste af os som ved hvordan…

Stor skala maskinelærings til forudsigelses opgaver

Ting lyder bedre når man siger dem på engelsk, der er ikke noget at gøre, men vi skriver jo på dansk. I sidste uge var der RecSys 2014 i Californien som er en af de største recommender systems konferencer, og er værd at kigge lidt på, hvis man laver systemer som skal lave forudsigelser (predictive analysis). I det følgende vil jeg fortælle lidt om…

The simplicity of hacking

Hacker Rene by Ivan David Gomez Arce

Med et stadig stigende antal detektiv / murder mystery serier og film der ser dagens lys, er den fælles tendens det uvisse. Det mystiske og hemmelighedsfulde fascinerer den brede befolkning. Tager man et kig tilbage, ser man at tendensen ikke er ny, men mere det nyeste skud på stammen – lysten til at afsløre og afmystificere er noget der ligger dybt i os mennesker.…

Creating good code; or why you are an artist

rd2

Years ago I ended up in a discussion with someone over whether programming was art or not. He claimed that it was merely a tool for a practical purpose while I claimed that there was beauty in code, unique to the medium. Watching Andrew Sorensen’s live performance doing GOTO proved me right. Sorensen makes music from programming real time systems in real time with…

Side-rankering

pagerank

Google-søgemaskinen er, som de fleste ved, ret berømt, du har måske oven i købet brugt den til at ankomme her – forhåbentlig lå denne post højt på resultatlisten. Alt det startede med en algoritme ved navnet PageRank, som gjorde det muligt for computere at lave rankeringer af internet-sider og ved et slag lavede internet-søgemaskiner til relevans-maskiner i stedet for store leksikale opslagsværker. Ideen bag…

Krister, den intellektuelle litterat

Her er en af de sjældne historier, hvor Krister ser væsentligt anderledes ud end normalt. Tilbage i 70’erne var han gæst i et intellektuelt litteraturprogram sammen med bl.a. en rødstrømpe. Den animerede snak går lystigt over stok og sten, og flere i eftertiden glemte værker introduceres. Eksempelvis efterfølgeren til “Jammersminde”.     Her er en af de sjældne historier, hvor Krister ser væsentligt anderledes ud end normalt.…

Introduktion til CQRS og event sourcing #6

I det forrige indlæg viste jeg Cirqus’ konfigurations-API, som helt objektivt set i høj grad kan klassificeres som “lækker”, måske endda “herre-nice”. Nu skal vi snakke lidt mere om event-processering – eller “projektioner”, som det også kaldes – altså det her, der sker med events efter at de er blevet genereret. “Projektioner” er i dette eksempel begrænset til views, altså materialiserede read-modeller i en…

Introduktion til CQRS og event sourcing #5

Nu hvor vi har fået sluttet cirklen og har fået beskrevet hvordan vi kan få Cirqus op at køre med view-generering, så vil jeg lige dvæle lidt ved initialiseringen – jeg viste det følgende kodeeksempel: // ved opstart: var eventStore = new MsSqlEventStore<TimeToBeCrushedView>(“mssql”, “Events”, automaticallyCreateSchema: true); var repository = new DefaultAggregateRootRepository(eventStore); var view = new MsSqlViewManager(“mssql”, “TimeToBeCrushed”, automaticallyCreateSchema: true); var dispatcher = new ViewManagerEventDispatcher(aggregateRootRepository,…

Webformularen; en forhindringsbane for din bruger

webform settings

Du er en person på nettet, der bare virkelig gerne vil købe en lommelygte. Du finder den perfekte og trykker “køb” og bang! Straks møder du den berygtede formular. Lyder det bekendt? Formularer på internettet står ofte midt i mellem hvad du, som bruger, gerne vil opnå og hvad udbyderen af hjemmesiden eller servicen har behov for. Mange mennesker hader at udfylde disse formularer…

Om ‘Privacy & Security’ – eller mangel på samme

sure_closed_open

Ét af temaerne der går igen på dette års GOTO Aarhus konference har været privacy & security. Spørgsmålet har gået på hvordan det kan være at vi stadig kommunikerer over usikre forbindelser selvom Snowdens afsløringer tydeligt viser at alt hvad vi foretager os bliver opsnappet og gemt? Hvorfor har vi i softwareindustrien ikke taget afsløringerne alvorlige og begyndt at beskytte vores data? Tim Bray*…

De agile tømmermænd

GotoLogo

Imens virksomheder her i landet først for nylig har fået øjnene op for agile metoder og som gale implementerer scrum, kanban og andre, er early adopters allerede begyndt at mærke tømmermændene efter festen. På årets Goto havde Russel Miles en talk med title “From ‘Agile Hangover’ to ‘Antifragile Organisations’“. Hans pointe om ‘antifragile‘ var interessant, men skal lige synke ind, inden jeg kan formidle…

Microsoft i skyen

En ting som der bliver snakket næsten endnu mere om end Big Data er skyen, og i dag er jeg taget på Azure DevCamp for at lære hvordan det hænger sammen i en Microsoft verden. Hos Microsoft ved siden af den store Tuborg flaske, blev vi fortalt om den imponerende arkitektur som ligger bag det mange hovedet monster. Jeg ved ikke nok om skyer…

Going to the Moon – GOTO 2014 – Dag 2

iPhone5s-6802

Dagen startede med en keynote af Russ Olsen. Med udgangspunkt i en meget passioneret historie om rejsen til månen, tale han om det at lave noget meget svært og lykkes med det. Ellers gik dagen med at følge People and Process sporet igen. Her startede vi dagen med at høre Randy Shoup’s erfaringer fra eBay and Google med at være hurtigt. For ham handlede…

Opmærksomhedsmanagement i mobilapp-udvikling

Det burde ikke komme som et chok for nogen, at når det kommer til brugen af mobilapplikationer, så vil en stor del af brugerne være i gang med andre ting på samme tid, såsom at passe deres plads i supermarkedskøen, holde øje med trafikken imens de krydser en gade eller se hvad der sker i deres fjernsynsserie. Der er mange ting som kæmper om…

Fremtidens applikationsplatform

nativevshtml

Abstraktionerne stiger, vi kommer længere og længere væk fra hardwaren. Jeg sidder og skriver denne post i et miljø der benytter sig af et script-sprog der er eksekveret af en motor der så bliver eksekveret i et lettere virtualiseret miljø af et operativsystem der oven i købet bliver afviklet virtuelt af et andet operativsystem. Der er åbenlyse ulemper; det bliver stadig sværere at resonere…

Distracting Technology – Distraction Technologies

Talking-on-Phone-TV-Computer

Everything is a fight for the users attention; not at least from the users themselves. As everything is becoming increasingly mobile, so our way of interacting with technology is being influenced by these new behavioural patterns. People use their cell phones/tablets/etc on the toilet, in waiting rooms or public transit and increasingly while doing other things that were previously regarded as entertainment by themselves;…

Go do something hard

GotoLogo

“Go do something hard”. Sådan sluttede Russ Olsen dagen første keynote på den sidste dag af årets GOTO. Opfordringen var relateret til Kennedys tale 12. september 1962: “We choose to go to the moon. We choose to go to the moon in this decade and do the other things, not because they are easy, but because they are hard, because that goal will serve…