Development Donderdagen #24

Interessante artikels

Schattingsmodel herzien (10 min)

Bij sommige schattingen van stories liggen de punten van teamleden aanvankelijk soms heel ver uit elkaar. Vaak is er iemand of een klein deel van de groep die al ervaring heeft met het implementeren van een bepaalde feature (bv. Het opstellen van een brief en diens properties mappen) en die dus lagere punten geven dan de personen die hier nog nooit mee in aanraking gekomen zijn.

De mensen met ervaring slagen er vaak in om de schatting te verlagen. Zij zijn echter niet altijd degene die de story uiteindelijk implementeren. Als iemand zonder ervaring die story dan opneemt, is het eigenlijk niet verwonderlijk dat de story uitloopt.

Onderstaand artikel stelt voor om niet één schatting per story te nemen, maar een matrix samen te stellen van teamleden en hun vertrouwdheid met het implementeren van een bepaalde soort feature.

Als je snelheid wilt maken (op korte termijn), laat je features ontwikkelen door mensen die daar al ervaring mee hebben. Wil je de kennis binnen je team verspreiden (maar daardoor het tempo verlagen), dan kies je voor mensen met minder ervaring (eventueel in pair met een meer ervaren persoon).

https://hackernoon.com/are-we-ignoring-some-valuable-aspects-when-doing-estimates-aa3ca92c4d9#.2aj2chf5p

DevTestOps (15 min)

Iedereen zet momenteel in op Continuous Deployment. Meerdere keren per dag de code in productie zetten is de natte droom van elke CIO. Met deze DevOps versnelling mogen we echter niet vergeten dat ook QA de tijd moet krijgen om alle nieuwe features grondig genoeg te testen. Vaak zitten de QA teams nog in een aparte silo en worden ze pas te laat betrokken in het proces waardoor er nog potentiële bugs kunnen doorstromen naar de live omgevingen. Onderstaand artikel pleit voor het nauwer betrekken van de QA teams gedurende de Dev en Ops workflow.

http://blog.nwcadence.com/day-tester-long-live-tester/

Talk of the week: Todd Garner – JavaScript’s Most Wanted (63 min)

https://vimeo.com/182055784

  • 6 common JavaScript errors that turn up in a production environment
  • 1. Scripterror
    • You can use window.onerror to log all unexpected errors to console
    • Errors in scripts loaded from different urls are often masked by chrome due to the CORS policy. This can be prevented by adding the argument “crossorigin=’’anonymous’” to script tags. This allows you to see the actual origin of the error
  • 2. “X is undefined” happens even though no code has changed (in a 3rd party library)
    • 3rd party scripts can change all the time, so can their api
    • If you have to rely on third party scripts, there is little that can be done to avoid this
  • 3. Cannot read property X of undefined
    • Sometimes the error happens in an anonymous function or callback and Chrome cant point out where it happened
    • Chrome debugger has an option called ‘Async’ that when enabled will show what really went wrong
  • 4. This errror
    • The scope of the ‘this’ keyword is very complex in JS, and a cause of a lot of errors
  • 5. Substr is not a function
    • Accidentally thinking a number is actually a string
    • Client side expectation =/= server side expectation
    • Always do a check if an argument is a string before doing a string operation on it
  • 6. X is not a function (but actually is “script load failed”)
    • Not being able to load a library happens quite often and there is not much you can do about it
    • Try to prepare your code to be able to deal with certain library features missing when possible
  • 7. Browser crash (memory leak in your app)
    • Problem: all our monitoring tools are built in JS, but these wont work if the entire browser crashes
    • Chrome debugger provides a ‘record’ functionality that allows you to see if there are any memory leaks

 

Dictionary.put()

10% Time is een begrip bedacht door Elizabeth Pope van het bedrijf Holiday Extras. Bij dat bedrijf mag elke ontwikkelaar wekelijks 10% van zijn tijd (ongeveer 4 uur) zelf invullen. Hij hoeft gedurende die tijd geen business value op te leveren voor de lopende projecten, maar moet wel iets doen om zichzelf of het bedrijf vooruit te helpen. Dat kan hij bijvoorbeeld doen door zich bij te scholen, technical debt weg te werken, de build te stabiliseren of te werken aan een applicatie waarin hij een nieuwe technologie gebruikt.

Tot dusver heeft de 10% Time al een app opgeleverd voor Holiday Extras die al meer dan 100.000 keer is gedownload. Door het succes van de app zit er momenteel zelfs één fulltime ontwikkelaar op.

10% Time heeft zijn voordelen, maar ook gevaren. De details lees je in onderstaand artikel.

https://www.infoq.com/news/2016/10/ten-percent-time-agileotb?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global

Technologie in de kijker: Trackjs

Trackjs helpt je met het oplossen van client side problemen door middel van verbeterde stacktraces die je onder meer vertellen wat een gebruiker qua acties had ondernomen en wat hij in welk veld had ingevuld wanneer een bepaalde fout zich voordeed. Daarnaast biedt Trackjs je ook dashboards en een lijst van de meest voorkomende fouten in jouw app aan.

https://trackjs.com

finally {

Alex Kras had een droom. Hij droomde ervan om als eerste persoon een antwoord te posten op één van Mark Zuckerberg’s Facebook posts. Hij schreef software die hem liet weten wanneer MZ iets nieuws op zijn tijdlijn zette, maar keer op keer kwam Kras te laat.

Hij besloot zijn droom op te bergen en te analyseren welke soort berichten er allemaal werden gepost als antwoord op een post van Mark Z. Hij ontdekte dat zo’n post gemiddeld 20.000 replies krijgt. 1.500 van die antwoorden worden binnen de 10 minuten na het publiceren van de post gemaakt.

Vervolgens begon Kras te analyseren wat mensen precies schreven in hun antwoorden op Da Mark. Zijn bevindingen lees je in onderstaand artikel.

https://www.alexkras.com/i-tried-to-virtually-stalk-mark-zuckerberg/

}

Advertisements

Geef een reactie

Vul je gegevens in of klik op een icoon om in te loggen.

WordPress.com logo

Je reageert onder je WordPress.com account. Log uit / Bijwerken )

Twitter-afbeelding

Je reageert onder je Twitter account. Log uit / Bijwerken )

Facebook foto

Je reageert onder je Facebook account. Log uit / Bijwerken )

Google+ photo

Je reageert onder je Google+ account. Log uit / Bijwerken )

Verbinden met %s