När Aftonbladet bytte betalplattform (1 av 3)

Det här är en liten serie på tre delar om hur det gick till när Aftonbladet 2011/2012 bytte alla sina system för att registrera, logga in och ta betalt av kunder online. Jag deltog som utvecklare i teamet som fick i uppdrag att ro projektet i land. I den här första delen står vi vid ett stup, fäktas med amerikanska säljare och tittar på möjliga lösningar.

För liten kostym, med hål på ärmarna

Det som internt på Aftonbladet (AB) kallades “Betalplattformen” var år 2010 en spretig historia. En samling system som växt fram genom åren med bl a följande funktionalitet:

  • Single Sign On (SSO) så att användare kunde skapa ett konto hos AB och sedan logga in på olika tjänster som t ex Plus, Viktklubb och S24
  • Checkout (online-kassa) för användare som ville köpa abonnemang eller enstaka innehåll på AB:s tjänster, t ex alla Plus-artiklar eller en S24-match
  • En transaktionsmotor som varje natt samlade ihop transaktioner och debiterade abonnenter via kreditkort eller faktura
  • En rapportmotor som sammanställde och skickade dygnets händelser i betalplattformen till ett Business Intelligence (BI)-system, som i sin tur genererade rapporter och analyser till affärsansvariga

Det ser väl inte så illa ut, tänker du. Begrunda då följande:

  • SSO baserades på ett uråldrigt Content Management System (CMS), d v s ett system som egentligen är byggt för att publicera innehåll på en webbsajt. CMS:et hade inte uppgraderats på minst fem år och det fanns ingen support från leverantören. CMS:et använde i sin tur en väldigt gammal version av en databas som saknade support och med en licens som var på väg att bli inaktuell
  • Vi hade två olika Checkout, en gammal och en nyare. Det var meningen att online-köpen skulle flytta över till den nyare, men en komplicerad fakturahantering i den gamla Checkout gjorde att tjänster där man kunde betala med faktura blev kvar i den gamla. Det fanns också tjänster som kunde köpas via båda Checkouts, vilket blev mycket förvirrande för affärsansvariga, utvecklare och säkert även kunder
  • Eftersom systemet var så gammalt hade flera generationer utvecklare kommit och gått vad gäller utveckling och underhåll av betalplattformen. Många tillägg hade gjorts under åren och små logiska läckor uppstod ibland i skarvarna. Till slut fanns en stor teknisk skuld som resulterade i dagliga manuella handgrepp för att t ex avsluta abonnemang som gått ut eller leverera borttappad data till analysavdelningen. Förmodligen ägnade utvecklarteamet minst hälften av sin tid till underhåll av systemet och support till kundtjänsten som fick in ärenden där enstaka kunders data hamnat i “skarvarna”
  • Affärssidan på AB var begränsade av den tungrodda betalplattformen och kunde inte skapa produkter eller en paketering av produkter i den utsträckning de ville. Minsta ändring måste beställas av utvecklarteamet, t o m en simpel textändring i en produktbeskrivning

Vi väljer ny kostym

Ok, så nu har vi affärsfolk som närmar sig uppror, utvecklare som pysslar om regalskeppet Vasa och en kundtjänst som är på gränsen till nervsammanbrott. Nja, kanske inte. Det rullar på, men vi är på väg mot ett stup när kärnan i betalplattformen kommer att lägga av. De oförklarliga avbrotten som kommit någon gång per år har börjat dyka upp varje månad.

Nu tar AB:s ledning ett strategiskt viktigt beslut: Vi måste byta betalplattform. Kostnaderna har blivit för höga, vi riskerar stora driftsproblem framöver och varje dag tappar vi konkurrenskraft. Utvecklarteamet får i uppdrag att göra en förstudie på hur det skulle kunna gå till. I korthet tittar vi på tre alternativ:

  1. Bygga ny egen betalplattform. Ger mest kontroll, men också mest arbete. All vidareutveckling måste ske internt och i allt snabbare takt. Innebär stora underhålls- och driftskostnader bl a i form av personal.
  2. Köra open source på egen server. Ger hyfsad kontroll, även om vi blir beroende av en leverantör. En stor del av vidareutvecklingen sker hos leverantören och vi har små möjligheter att påverka vilken funktionalitet som ska prioriteras. Vissa anpassningar måste ske internt. Fortfarande personalintensivt.
  3. Köpa in tjänst. Vi släpper mycket av kontrollen på tekniken och reglerar tillgänglighet i avtal. I stort sett inga möjligheter att påverka vidareutveckling av funktionalitet. Verksamheten måste anpassa sig helt till vad leverantören kan erbjuda, vilket kan innebära helt nytt sätt att jobba på. Interna utvecklare kan ägna nästan hela sin tid till andra viktiga områden

Under ett par-tre månader i början av 2011 ägnade sig teamet åt att ta fram de grundläggande kraven på en ny SSO/betalplattform och dammsuga marknaden på open source-lösningar och kommersiella produkter. Ett problem med open source är att dessa projekt ofta lider av bristfällig dokumentation. Det var svårt att hitta någon lösning som matchade våra krav, eller ens få reda på lösningens funktionalitet.

När vi kontaktade kommersiella leverantörer, som i de flesta fall var amerikanska, möttes vi av en kompakt säljmur. Vi hade inte mycket tid på oss och vi ville i stort sett bara ha dokumentation över vilken funktionalitet produkterna hade och hur vi tekniskt skulle kunna integrera med dem. Då skulle vi snabbt kunna sålla bort de som inte föll oss på läppen. Så jobbar inte jänkarna. De verkade förvänta sig att någon bokstavschef (CEO, CTO, CIO) skulle kontakta dem, bli wined-n-dined och prata avtal. Vi ställde tekniska frågor som säljarna ignorerade och istället envisades med att boka säljsamtal.

Det skulle ta alldeles för lång för oss att telefondejta alla leverantörer och vi tvingades ofta gå på det som erbjöds på deras sajter. I vissa fall pratade vi med säljmuren, men det handlade oftast om att bli pumpade på vilka volymer det gällde och vilken marknadsposition vi hade i Schweiz, förlåt Sverige. Trots detta låg alternativet att köpa in tjänsten ganska bra till i utvärderingen nästan ända fram till deadline. Men snart skulle vi snubbla på något som skulle rycka undan mattan under fötterna på alla tre alternativen.

Läs den spännande fortsättningen i nästa del av “När Aftonbladet bytte betalplattform” här.

Eventuella synpunkter tas gärna emot på Twitter @ocklund


A Holistic View on Developer Productivity

What does developer productivity mean, really? Is it churning out more code or less code? Is it to have less bugs in production or shipping code more often? Is it doing a lot of things or just one thing? Let’s think about this for a moment. I believe developer productivity is about getting more things […]


Improving the usability of Aftonbladet Video-clip pages

We have recently started the process of improving the usability of video-clip pages. In order to get an idea of where Aftonbladet stands compared to other world-class online video/news providers, we conducted an online test answered by 110 visitors of Aftonbladet TV. In this test we compared their perception of an Aftonbladet TV video-clip page […]


Schibsted’s 1st iOS Deployment Meet-up

Schibsted’s 1st iOS Deployment Meet-up Thursday, 28th of April 2016: getting to know each other, guests arrive Friday, 29th of April 2016: the meet-up date We here at Aftonbladet had been planning on having a meet-up with iOS developers across various Schibsted companies for many months. We had a range of topics in mind for […]


Hackday: The Future of Storytelling is social, engaging and rewarding

We gathered students, journalists, developers and designers to get together and conceptualize something new for the news industry. This was our first organized hack event – The Future of Storytelling Hack. The hack was a team-based, news-media-focused prototyping and experimentation event within storytelling over two days at Kungsbrohuset, Schibsted and Aftonbladets headquarter in Stockholm. A good story used to […]