Talangprogrammet: Release av en komplett produkt

mars 19, 2013

Under sprint 2 hade vi som mål att bli helt klara med basflödet och att det skulle vara färdigt att sättas i produktion. Det lyckades vi också med och projektet är numer live. Men även om basflödet var färdigt, var det inte en färdig produkt.

Det här är en statusrapport från talangprogrammets sprint 3 (föregående sprintar var sprint 2, sprint 1 och sprint 0).

I den gångna sprinten har vi lagt till features för att det ska kännas mer som en komplett produkt som går att använda i alla lägen, inte bara basflödet. De största exemplen på detta är att konsultprofiler nu kan ha flera versioner, och att de går att konvertera till pdf.

Att generera en pdf

User storyn om att från en webbsida generera en konsults CV som pdf var högt prioriterad av vår produktägare. Det finns ett flertal verktyg att tillgå för sådan funktionalitet och vi valdeRotativa. Rotativa finns tillgängligt som ett NuGet-paket och är förvånansvärt enkelt att använda samt integrerar väl med MVC4. Trots att det är enkelt att använda valde vi att lägga ett interface mellan Rotativa och vår kodbas för att underlätta mockning och därmed öka testbarheten. Slutligen använde vi Ninject för att binda interfacet till vår kontroller. Detta enligt den design vi anammat genom hela projektet. Följande snippet visar den kod vi använder för att returnera en pdf till en användare:

var pdfSettings = new PdfSettings()
  {
    FileName = string.Format("{0}.pdf", consultant.Identifier)
  };
return pdfGenerator.ViewAsPdf("DisplayPdf", consultant, pdfSettings);

 

Inte så skrymmande. Verktyget som Rotativa använder för att generera pdf:er heter wkhtmltopdf och använder som namnet antyder WebKit för att konvertera html till pdf. WebKit är renderingsmotorn som återkommer i bland annat Safari och Google Chrome. Ett problem med Rotativa som vi stötte på är att inte alla inställningar för wkhtmltopdf går att nå. Mer specifikt exponeras inte flaggan för att bestämma DPI. Det gör att olika inställningar för DPI används på olika hårdvara och att resultatet blir beroende av vilken maskin vår kod körs på. Värt att tänka på när pixelprecision är att önska.

Att gå live

Talangprogrammet är ett utbildningsprogram på Valtech som riktar sig till juniora ingenjörer och studenter i slutskedet av utbildningen.

I programmet ingår en blandning av utbildningar, certifieringar och projekt. Projektet den här omgången är att utveckla en webbapplikation för att presentera konsult-CV:n och projektteam till kunder i samband med offerter.

För drygt två veckor sedan gick vi live med projektet. Inom agil utveckling vill man släppa produkten tidigt, och därefter uppdatera ofta. Det här har vi redan sett konkreta fördelar med. Direkt då vi släppte på användare fick vi verklig feedback baserad på verklig data. Till stor del är det fel vad gäller användarupplevelse och missförstånd man fångar upp. Exempel kan vara att instruktionerna för att fylla i ett fält är bristfälliga så att det används på fel sätt, eller att en funktion för att klippa bilder beter sig på ett för användaren underligt sätt. Eventuella funktionella buggar täcker våra test upp relativt bra.

Sammanfattning

Vårt system börjar bli färdigt, och har numer alla grundläggande features på plats. Att gå live är spännande och ger ett projekt ytterligare potential till att bli riktigt bra tack vare bra feedback från användare. I vårt fall inkorporerar vi feedbacken i vårt arbete så fort som möjligt vilket leder till glada användare. Som utvecklare är det kul att se hur användare drar nytta av det system man utvecklat och se effekten av det, även om det består av något så enkelt som ett väl designat, utskrivet papper. Eller en glad användare.

Fortsätt att läsa Att vara produktägare - del 5 i Talangprogrammets bloggserie.

Vi har plats för både specialister och generalister

Följ din passion och välj din egen väg. Hör av dig om du vill vara en del av oss!
Kolla in våra lediga tjänster

Kontakta oss

Let's reinvent the future