The long way through Software Craftsmanship

Internal training: QA & how to test

May 18, 2015 - 2 minute read - Comments - traininginternalinternal-trainingquality-assuranceqabrown-bag-session

At a client, we’ve done today an internal training on “QA & how to test”. In it, the most skilled person with the QA role in the dev team has explained to us some techniques and concepts for testing My notes Verification vs validation: building the product right vs building the right product. Principles Extracted from ISTQB: testing shows presence of defects exhaustive testing is impossible early testing is better than later testing defect clustering: areas with bigger defect ratio or more critical, etc should be tested more thoroughly pesticide paradox testing is context-dependent absence of errors fallacy: the absence of defects does not imply perfect software.

Paper: TDD in industrial teams

May 12, 2015 - 1 minute read - Comments - paperinvestigationspringertddnachiappan-nagappanmichael-maximilienthirumalesh-bhatlaurie-williams2008quote

I’ve read this paper by Nagappan, Maximilien, Bhat and Williams on the cost, advantages, pitfalls of doing TDD in industrial teams (private companies who create software). My notes Abstract: little empirical evidence supports or refutes the utility of this practice in an industrial context they seem to be talking about inside-out tdd as in chapter 2 (page 291), they talk about small units and then integrating them in a bigger context Benefits taken from chapter 2 (page 292)

Talk: Software is eating the world

May 10, 2015 - 2 minute read - Comments - erik-meijertalkagiletddreaktor-dev-day2014analogy

I’ve watched this talk by Erik Meijer My notes Agile!: The Good, the Hype and the Ugly The hacker way code always wins vs manager always wins source: we’re doing maths => we’re building a proof reinforcement learning agent is the company related to “build, measure, learn” by Eric Ries (the lean startup) Feedback systems Open (no) feedback system, such as timed sprinklers Closed feedback system Output only system Why everything is software Examples of everything is software Software is eating the world Even hardware is modeled as software Modeling as a Finite State Machine (FSM) There’s memory in the feedback loop.

Self-study in May 2015

May 9, 2015 - 5 minute read - Comments - 2010articlepassioncraftsmanshipbootcamptalkvideoslidesvideoosconvalueslanguageluke-sneeringerrob-pikeken-auerbufferself-study-aggregationfunctional-programmingguideoopslascrum2004jmockgoosnat-prycesteve-freemankatadojodtodomain-objectcoding-dojostuart-hallowayhaskelllisplearningtiago-garciajeremy-jarrellgregory-moecksaron-yitbarekgreg-wilsonron-jeffriescarlos-blejeff-atwoodslava-akhmechetgodavid-pollakmichael-bernsteinhornbecktechnologistwell-roundedpaperlisp-1lisp-2tedxtedx-brusselsaza-raskindata-bankscience-corpphilippe-creuxpreparatory-refactoringrefactoringadam-angelomanagementengineeringreadingself-study

Update: I’ve grouped all small posts related to the self-study from May 2015 into a single post Programmer passion considered harmful I’ve read this article on why programmer passion could be negative. The title is similar to a paper by Dijkstra. Software Craftsmanship: Are Bootcamps Enough? I’ve read this article on software craftsmanship, development bootcamps and passion by Ken Auer Improve your development environments with virtualization I have seen this video: Improve your development environments with virtualization by Luke Sneeringer.

What versus How

May 6, 2015 - 2 minute read - Comments - bookideawhat-vs-howgoos

After reading the GOOS1, the more and more I get this feeling of what vs how: Information hiding The total simpler than the sum of the parts Extracting a concept so you can think about this. Makes you find better names: test name variable name method name interface / protocol name I also got this feeling when reading Clean Code. But with this other book the smell is much harder, stronger.