Vi älskar feedback!

Min uppgift som produktchef är att samla in krav, behov och önskemål om förbättringar, tolka dem, ställa dem i relation till varandra och i slutändan kravställa gentemot utvecklingsavdelningen. För att lyckas behöver jag feedback, massor av feedback, och jag behöver få den av användare på alla nivåer.

Det finns tre svårigheter med feedback. Den första är att den ofta kommer på omvägar. Jag får den av någon inom Loxysoft som i sin tur fått den från en huvudkontakt hos någon kund. Troligen finns det också något ytterligare steg på vägen i kundens organisation. Det gör det svårt att ställa följdfrågor och att bekräfta att budskapet har gått fram. Den andra svårigheten är att strukturera information så att det blir tydligt vad som efterfrågas och vilken tyngd ett önskemål egentligen har. Är det många som tycker likadant eller är det en ensam användare? Den tredje svårigheten handlar om tillgänglighet. Det måste vara enkelt för alla att lämna feedback.

Nu lanserar vi forumet Loxysoft Feedback, en plats för alla åsikter och synpunkter som berör våra system. Skärmdump av Loxysoft FeedbackRakt på, utan omvägar. Om den feedback man vill lämna redan är inlagd av någon annan går det att kommentera den för att förtydliga och ge mer tyngd åt förslaget. Det går också att rösta på förslag, vilket gör att man kan ge viktig feedback med ett musklick. Röster och kommentarer gör att det blir tydligt vad som är viktigt och varför.

Jag modererar själv forumet, ställer följdfrågor och är med i diskusionen så att jag har tillräckligt på fötterna för att prioritera och kravställa utveckling. De som kommenterar eller röstar på ett förslag hålls uppdaterade om statusförändringar.

Det bästa av allt – alla får vara med! Och då menar jag verkligen alla. Du loggar in med ditt Facebook- eller Googlekonto, eller vilken e-postadress som helst. Du behöver inte ens vara kund. Har du en åsikt, ge oss den. Vi älskar feedback!

Erlang @ Loxysoft

Jag bryr mig inte om var snickaren som byggde mitt hus köpte sin hammare. Jag bryr mig heller inte speciellt mycket om huruvida Zlatan spelar i skor från Adidas eller Nike. Jag räknar helt enkelt inte med att valet av verktyg eller utrustning påverkar slutresultatet speciellt mycket. Så varför skriver jag då ett inlägg om att centrala delar av Loxysofts plattform är skrivet i programmeringsspråket Erlang och att vi i förra veckan tillsammans med Cybercom i Östersund arrangerade en kurs i Erlang?

För att förstå varför vi har valt att arbeta med Erlang och varför det gör våra produkter bättre, låt oss först titta på bakgrunden till Erlang och vad det är som gör det speciellt.

Erlang utvecklades (och utvecklas fortfarande) av Ericsson under andra halvan av 80-talet som ett svar på behovet att kunna bygga extremt feltoleranta och driftssäkra telefoniväxlar. Kännetecknande för en telefonväxel är att den dels ska kunna hantera flera telefonsamtal parallelt och att det inte finns någon naturligt nere-tid, man kan helt enkelt inte räkna med att man ska kunna ta ner en telefonväxel för uppgradering nattetid för att ingen ringer då. Varje samtal måste dessutom vara så isolerat att om ett enskilt samtal kraschar så får det inte påverka resten av systemet.

Det ingenjörerna på Ericsson kom fram till var ett programmeringsspråk som tillåter att man konstruerar system som tillåter att delar av systemet kan bytas ut eller krascha utan att det påverkar systemet som helhet. Det här uppnår man genom att man delar upp aktiviteterna i systement i små mer eller mindre oberoende processer.

I traditionella system finns i stort sett alltid en huvudprocess som ”driver” systemet framåt. Det är ofta enklare att utveckla på det viset men det har svagheten att om något sker i systemet som får huvudprocessen att krascha, ja då blir hela systemet oanvändbart. I Erlang bygger man istället upp processträd där man låta delar av systemet gå ner vid behov eller om någon del skulle krascha så kan man enkelt start om en del av systemet utan att det påverkar samtliga användare. En annan konsekvens av att använda i huvudsak en process är att det är svårare att dra nytta av flera processorer eller flera processorkärnor medan ett Erlang-system mer effektivt kan tillgodogöra sig kraften hos flera processorer.

På Loxysoft har vi utvecklat den del av server-programvaran som hanterar själva samtalen i Erlang (för er som är bekanta med våra system-moduler så är det lxoc vi pratar om). Det är också samma del av systemet som har hand om till exempel talsvaren och köhanteringen för inkommande samtal.

Liksom i ursprungsscenariot för Erlang så handlar det om att hantera många parallella samtal åt gången på ett så effektivt och robust sätt som möjligt. Så varför är det då intressant för utomstående vad vi använder för verktyg internt för att bygga våra produkter? Det finns två huvudsakliga skäl:

  • Det avspeglar ambitionen med hur vi utvecklar våra produkter. På Loxysoft väljer vi de verktyg som är bäst lämpade för att lösa ett givet problem. Ställs det höga krav på att våra system ska ha hög tillgänglighet då väljer vi de verktyg som är bäst lämpade för att nå dit.
  • Genom att bygga våra produkter på tekniker som är väl beprövade inom närliggande områden så kan vi dra nytta av den kunskap som finns om hur man bygger massivt parallella, driftssäkra system.

Hade vi valt andra plattformar så vägen dit varit längre och resultatet förmodligen sämre.

För att bredda vårt kunnande inom Erlang arrangerade Loxysoft tillsammans med Cybercom i Östersund i veckan som gick en Erlangutbildning som leddes av Robert Virding från Erlang Solutions (en av dem på Ericsson som var med och skapade Erlang).

Målet är att vi nu ska kunna sätta ännu högre fart på utvecklingen runt telefonin i våra produkter. Stay tuned…

What’s cookin’ good lookin?

Det var inte såhär jag hade tänkt det första inlägget från utvecklingsavdelningen men har man en bra rubrik så är det bara att följa med.

På Loxysofts utvecklingsavdelning arbetar åtta utvecklare med att underhålla vår nuvarande kodbas och utveckla nya funktioner som ska förenkla vardagen för våra kunder. Vi har också stor hjälp av ett team fyra personer på Amdaris som sitter i Moldaviens huvudstad Chisinau (även känt som Loxysoft Syd). Jag tänker spara detaljerna om hur samarbetet med Amdaris fungerar till ett annat tillfällle utan istället förklara hur vi arbetar internt och varför det här  inlägget inleds med en bild på en utvecklare med fingrarna i fritösen.

Med åtta utvecklare på Frösön och fyra i Moldavien har vi funnit att det mest effektiva sättet att få saker gjort är att dela in sig i mindre självständiga team på 2-5 personer per team. Varje team är självständigt och bestämmer själva hur de lägger upp arbetet så länge de följer vissa givna riktlinjer om t.ex. kodstandarder, enhetstesttäckning, kodbesiktning (”code review”) m.m. Varje team ”lever” så länge som de har arbete att göra vilket normalt brukar innebära tills dess att en ny funktion eller ett paket av funktioner är färdigt. I tid försöker vi begränsa det till ca 3 månader men ofta blir det längre tid. Det viktiga är att ingen blir sittande med samma arbete år ut och år in, det blir både individer och system lidande av.

Den enda nackdelen som finns med det här sättet att arbeta är att vi sällan eller aldrig arbetar tillsammans hela avdelningen. På eftermiddagen och kvällen den 28:e september arrangerade vi därför en halv dag för att förbereda oss för nästa veckas Erlang-kurs, dela kunskap i hela gruppen, komma överens om förbättringar i vårt arbetssätt och gå igenom ny intressant teknologi som bara ett fåtal i gruppen kommit i kontakt med. Och som grädde på moset så avslutade vi dagen med att laga mat på restaurangen FOOD på Frösö golfbana.

Det intressanta med matlagningen var att precis som med programmeringen vi gör så går det bäst i små grupper med stort inflytande över hur de arbetar. Det största cruxet uppstår när man måste dela knappa resurser mellan team för att bli klara i tid, i köket visade det sig vara den tyska monsterugnen, och på kontoret…ja, jag tittar på dig test-dialern.

Hursomhelst, slutresultatet blev lyckat alla var nöjda men jag tror att de ordinarie köksmästarna inte ligger sömnlösa på nätterna av oro för konkurrensen från Loxysoft.