April 11, 2009

Visualization Time

I was talking a while ago about esthetic in code and specifically if the way the code organizes on the screen can represent a measure of its quality. This idea is intriguing to me. Here’s something that goes close to that idea although it’s more connected to the notion of module, class or function. The work of Michele is remarkable, especially the animation of the evolving code-base as visual artifact. I heard about him on the Software Engineering Radio another of my favorite podcasts.

As usual, here’s a selection of what I discovered this week that is worth mentioning:

Exploring CouchDB… Here’s a nicely written introduction to CouchDB and document-based databases. It’s not too short not too long and assumes you have a relational background. CouchDB remembers me of another doc-db I’ve used in the past: Exist. Since Exist is XML based there is somehow an implied Schema structure given by the XSL (you can decide not to use it) while CouchDB is completely de-structured. I couldn’t understand how the map-reduce is related to CouchDB: I understand the result are key-value pair but I didn’t understand what criteria are used for the hashing. It’s just a matter to try some example first and I’m sure I’ll understand.

Material Consciousness in Software - Paul 8thlight… Enjoyed this post by Paul at 8thlight. Material consciousness is the essence for a craft and we should avoid to go “meta”. The best definition of craftsmanship for me is exactly this: doing things. Therefore pure exercise is a must to refresh the craft: kata, solving quizzes, refactoring exercises, etc. A sentence often repeated in photography communities is: “go out and take some pictures”. This is because people tend to spend all their time reading forums and article to improve their photography skills while of course they should be out taking pictures. The same is valid in software.

Conditional logic with methods Ruby Banter #008… The guys at Fingerprints put together a series of small pairing sessions which are a mix of video and screencasting. It’s a good way to promote the work of the company and it illustrates how the guys work internally. I would say a must for a company of craftsmen. In this episode you can see why is always possible to substitute conditionals creating on the fly the opportune strategy object. Ruby allows to create strategies like this quickly and with a clean format just by using blocks as container of the strategy. That said, for this specific case (checking if mocha is installed) I’d rather use a simple if. A strategy is overkill for a case where there is only one option and its negation. I understand the usage here to illustrate the possibilities. Well done.

James Shore: Stumbling Through Mediocrity… Need to remember. I think that objections to Agile are done mostly with the same “Does Agile scale?” principle in mind: can I attach that “Agile” thing on my name but keep doing what I do? We are back to that “real world” context excuse that hides reluctancy to change. Change is difficult, requires energy, strong decisions and probably an unpleasant feeling at first. Like anything that brings you to another level and makes you great, you have to try hard.

Agile Corner - Interview with Curt Hibbs on Lean… I found in this podcast a concise and convincing description of Lean Development: Lean applies to an already existing process adding the tools to improve throughput, increase quality and eliminate waste. Considering Lean like an “attachment” of Scrum or XP, the three Agile processes together form a nice combo. Scrum handles the management, XP handles the development, Lean handles the optimization of the production phase. There are already several Lean contaminations in XP (Kanban being the last of them), sign that the different agile souls are slowly converging as expected into a single entity.

The Web 2.0 Show - Capital Factory… Are companies like Capital Factory the next kind of venture capital funding for start-ups? There seems to be a huge difference when Marc Nathan illustrates the mentoring program for young entrepreneurs that Capital Factory provides as part of the package. I’d like to call it entrepreneur craftsmanship, because the entrepreneur is trained to produce more business value from the funding they are given. Like software craftsmanship locality is fundamental to create relationships.

Comments (View)
blog comments powered by Disqus