AWS Meetup TV4

24. Augusti anordnas tredje AWS meetup i Stockholm. TV4 sponsar meetupen med lokal, dryck och mat.

Agenda för kvällen:

  1.  Short Host and Sponsor Welcome
  2. Sanoma Nelonen Media Broadcasting infrastructure
  3. MaaS Global and Serverless architecture on AWS
  4. Streaming setup for C More on AWS.
  5. Rovio’s Game Technology Infrastructure in the Cloud Era

Läs mer på http://www.meetup.com/aws-stockholm/events/231792951/

Vi ses från kl 17!

 

Lärdomar av mobbprogrammering (första veckorna)

 Fas 0: Förvirring

Högst upp på teamets att-göra-lista, vid arbetsstart efter julledigheterna, var att utmana oss själva och utforska nya arbetsmetoder. Agila arbetssätt, testdriven utveckling och kontinuerlig leverans har vi jobbat med och optimerat i flera år nu, finjusteringar är fortfarande nödvändiga, men vi kände behov att ta nästa steg vidare. En reflektion var att den sociala aspekten ofta prioriteras lägre än teknik inom teamet. Verktyg som parprogrammering, demo, kodgranskning och pull requests underlättar samarbetet men resultatet var ändå starka personberoenden till tjänster och uppgifter.

Mobb-teamens starka fördel är kunskapsväxling bland team-medlemmarna. Ensamma vargar infogar sig i ledet och blir inte i lika stor utsträckning som innan öar av kunskap i organisationen. En av riskerna är att mobbprogrammering kan vara påfrestande för många – t.ex. genom att vistas i ett så socialt sammanhang under lång tid kan leda till att mer introverta personer tappar energi. Vår rekommendation är att sätta av tid varje dag för reflektioner och förbättringar av arbetsprocessen för att undvika konflikter.

För att komma igång och undanröja vissa farhågor var det viktigt att avsätta tid för att diskutera saker som:

  • Vilka utvecklingsmiljöer och språk ska vi använda
  • Undvika bakterier på tangentbordet
  • Nu hinner jag inte göra vad jag ska göra
  • Alla rum är upptagna var ska vi vara
  • Har jag ett eget arbetsbord att gå till?

Fas 1: Insikt (Workshop med Woody Zuill)

Med lite flyt fick vi bokat en heldagsworkshop med Woody Zuill. Med praktiska och teoretiska övningar var gruppen snabbt mentalt redo för att starta på riktigt.

En lärdom från denna fas är att det viktigaste är att komma igång. Metod och process går att justera i efterhand. Teamet måste jobba fram arbetsprocessen själv och det är extra viktigt att alla kommunicerar på ett hjälpsamt sätt.

 

Fas 2: Installationsfasen

Återigen hade vi turen på vår sida och det fanns en möjlighet att ockuperad en yta väl ägnad för teamets behov. Bord, stolar, whiteboards, TV och soffor fanns på plats, annan hårdvara fick vi installera själv.

  • Möblera om till kommandocentral-stil
  • Stor TV-skärm av god kvalitet! (LG)
  • Dedikerad dator för teamet (Mac Mini)
  • Nätverksrouter – wi-fi
  • Trådlös mus och tangentbord (Apple)
  • Apple TV till skärmdelning
  • Konton (tvåfaktorsautentisering med YubiKey)
IMG_0415

Vi är i gång!

I denna fas fick mobben anpassas till varandras konstigheter. Vi ägnade tid åt att hitta bra gemensamma lösningar för dator- och tangentbords-inställningar. Känslan är att vi kom igång med kodande direkt och efter 5 dagar hade vi så pass mycket på plats att extern dator inte alls var nödvändig i kodningen.

image

Fas 4: Flytfas

Så tidigt som första dagen sjönk tröskeln tillräckligt för att alla skulle våga byta tjänster, språk och IDE. Två dagar senare hade mobben skrivit kod i Elixir, Go, Ruby och Python samt bytt mellan ett flertal IDE-er. En extra rolig och oväntat positiv följdeffekt var positiv respons från nyfikna kollegor. Flera team har kopierat upplägget och just nu känns det inte som ett reellt alternativ att gå tillbaks till gamla mönster.

Vi tror mobben har stärkt samarbetet över teamgränserna samt underlättat hopp mellan teamen både på kort och lång sikt.

Här har vi t.ex. besök av Elixir-skaparen José Valim som mobbar med oss en förmiddag.

IMG_0437

Fas 5: Vad nu

Nya bloggposter kommer att berätta vad vi gör i framtiden!

“Vanlisar” sökes till hackathon!

IMG_5701.JPGFör ett år sedan höll vi ett hackathon på Färgfabriken i Stockholm. Totalt 63 personer i tretton team som arbetade i två dagar på temat “Annons 2.0”. Förutom egna utvecklare och medarbetare från säljavdelningen hade vi team från digitala byråer, konsulter, Hyper Island-studenter och “vanliga ungdomar” som vi hittade via den här bloggen.

Om två veckor kommer vi göra ett nytt hackathon. Det kommer bli annorlunda mot det förra men vi söker deltagare även den här gången, dock inte av samma typ sist. Den här gången söker vi “vanliga människor”. Alltså personer som har någon relation till TV4 men som ska vara där i egenskap av att vara just användare eller tittare. Er insats kommer vara att få tycka till och feedbacka det ni får ta del av.

Upplägget för det här hackathonet bygger på att vi får in användare tidigt i processen. Redan på skiss- och ritstadiet vill vi visa upp hur vi tänker och vad vi vill göra för att få snabb input och relevant återkoppling.

Vi söker därför åtta personer som vill vara med fredag den 26 februari 11-15 på Venue 81 på Drottninggatan 81. Din uppgift blir att agera dig själv och tycka till om de prototyper och skisser du får se. Fattar du vad du ska göra? Vad funkar bra? Vad är otydligt? När skulle du använda den här tjänsten? Hur tänker du att den borde fungera? Ditt tyckande kommer bli en snabb återkoppling till teamen som jobbar på att lösa ett problem. Ingen expertkunskap krävs, bara att du är dig själv.

Vi ser till att du får lunch och energi så du håller dig pigg. I de pauser som uppstår kan du koppla av i fiket och umgås med andra som är där.

Låter det kul? Anmäl dig i så fall här! Och tipsa gärna din svärmor, sambo, frisör,  tandläkare, klasskompis eller soffliggare till kompis om du tycker att de skulle passa.

 

Chronometro

Vi på B.OTT Android teamet är mycket stolta att presentera vårt första bidrag till Android developer communityn som vi har utvecklat in-house: ett plugin för Android Studio som heter Chronometro.

https://github.com/TV4/chronometro

Open-source är en av anledningarna till Androids framgång. Därför är det extra kul att kunna ge tillbaka till communityn och bidra till fortsatt utveckling av plattformen.

Chronometro används för att mäta laddningstider av metoder och anrop som används i Android applikationer. Den är mycket praktisk för att kunna verifiera icke-funktionella krav.

Så, pröva den gärna och spread the word🙂

Kontinuerlig leverans på rätt sätt

Vi på TV4 har arbetat med kontinuerlig leverans de senaste fem åren som tidigare är beskrivit i ett flertal bloggposter. Dagligen gör vi flera kodändringar i produktion, hur kan vi det utan att störa för användare och affär? Under lister vi några bäst praxis principer vi försöker att leva efter for att kontinuerlig leverans ska fungerar för alla.

  • Teamen har fullt ansvar för tjänsten föra under och efter leverans
  • All kod måste ständigt kunna levereras till produktion
  • Vi väljer små leveranser ofta över stora leveranser mera sällan 
  • Beroende av tredjepartsverifieringar måste lösas så att det inte stör den kontinuerliga leveransen
  • Vi utvecklar enbart mot produktionsdata och produktionsapier.
  • Stagingmiljön är till envar tid uppdaterad med data från produktion och har så lik konfiguration som produktions miljön det går.
  • Vi använder brytare och miljövariabler för att ändra beteende på kod
  • Vi gör inga manuella steg i leveranserna
  • Alla deployer skall snabbt kunna rullas tillbaks som läget var innan – även miljövariabler
  • Kod ska ha tester och testarna ska köras innan leverans
  • Teknisk övervakning av tjänsterna måste finnas på plats för att analysera hur en ny leverans beter sig
  • Larm måste finnas på plats om något råkar bli fel i leveransen
  • Omedelbart efter leveransen måste man själv testa av önskad funktionalitet  i production
  • Vi utvecklar så att om fel uppstår så försämras inte användarupplevelsen
  • Innan deploy måste teamen värdera riskerna mot hur stabilt systemet är och värdet av leveransen vid givet tillfället
  • Sök och ge information till och av berörda partar innan, under och efter en ändringar genomförts