May 2010
2 posts
1 tag
May 25th
2 tags
May 18th
March 2010
1 post
1 tag
“So when you hear people say that change is hard because people are lazy or...”
– The first few pages of the book “Switch, how to change things when change is hard” are priceless. Get it! By Chip Heath & Dan Heath
Mar 23rd
January 2010
1 post
2 tags
How to meet other craftsmen
This is not about speed dating but I had the luck to meet a craftsman during these holidays. He is not a software craftsman. He does not work with computers, but with construction and repairs of homes and apartments. He is a master mason. During my stay in Spain, I had to interview and evaluate the proposals of three local constructions shops to almost rebuild from scratch an old apartment...
Jan 7th
November 2009
6 posts
2 tags
Elevator pitch of why keyboard shortcuts rule
A coworker asked me why I find important to learn and memorize keyboard shortcuts. I wrote about it some time ago, but this time this person wanted my elevator pitch, so it came out like this: If I have to use the mouse to reach a certain menu to perform an action, a simple refactoring like extracting method, or inlining a variable for example, I am likely to get lost in the menus trying to...
Nov 27th
“Mark my words, if you want to stay relevant and competitive in the coming years...”
– From the new and awesome book from Gary Vaynerchuk “Crush it!”
Nov 16th
1 tag
My pomodoro experience
I have been using on and off the pomodoro technique since earlier this year. It works great when pair programming but I have also used it alone. In a nutshell, this our loop: 10 Agree on the goal for the next 25 minutes 20 Start the timer 30 Work towards the goal until the time is up. 40 Take a 5 minutes break 50 GOTO 10 After 3 loops, we take a longer break. We use it for story work,...
Nov 13th
2 tags
“I am sure a lot of you are frustrated at your colleagues, not being here at this...”
– From Good to Great Developer - Chris Hedgate
Nov 4th
2 tags
The bouncer pattern
Last week, J.B Rainsberger talked at Agile Philly about integration tests are a scam and explained to the audience the bouncer pattern. I am going to paraphrase the concept. Imagine you own a night club. It’s pretty big with 7 bars around a dance floor. Bartenders must ask for your ID before you get a drink. Some bartenders are pretty good at remembering faces, others not that much....
Nov 3rd
1 tag
My learnings from Code Retreat Philly →
Nov 3rd
October 2009
4 posts
1 tag
sundayconf
For this sundayconf, I have a good selection of music, no, videos, no, code, no, music! Unclebob’s prime factors Kata Even though the video is called “Prime Factor Kata (Rough)”, the flow of the kata is perfect. The music matches Unclebob’s movement from the spec to the code and back. I had mixed feelings about the choice of IntelliJ but was surprised with the...
Oct 18th
2 tags
Starting a code study group
We are starting a new code study group at work. Here is the email that I sent to the group to kick it off: Starting a code study group What is it? A code study group is a bunch of people that choose an open source project or library and read it like a book. As they go through it, they take notes; identify patterns, critique techniques and post a report. They look at code with a critical eye....
Oct 15th
1 tag
Philadelphia's code retreat
At code retreat, we retreat from the world to advance in our craft. We sharpen our saws, together. We retreat from production and business value to increase our production capacity, our quality, our velocity, our ability to produce business value. We retreat from immersion in deep technology issues to advance in our ability to learn and adopt to any technology well. We retreat from our fears,...
Oct 10th
3 tags
My learnings from AgileTour 2009
94 people gathered for the first AgileTour stop in the suburbs of Philadelphia. A good turn out for a mini 4 hours conference! Ravi and I welcomed the attendees and gave a little intro about the conference and the speakers. After that, I spent most of my time in the Open Jam. Agile assessments We commented on the recent efforts to assess agility. Bob Martin, Ron Jeffries, Chet Hendrickson,...
Oct 8th
September 2009
2 posts
1 tag
My learnings from Concept Camp 2009
I quickly checked the weather before packing for ConceptCamp2009. “Mmmm… rain Saturday night. It won’t be that bad.” Well…There was a lot of it but it did not stop us from having fun, talk about code, patterns and play some team building exercises like beer pong and twister. Yep, twister. After a good camping breakfast, we protected ourselves from the rain and...
Sep 27th
1 tag
GitHub setup in 13 steps
I have used git in the past but I am a newbie to GitHub. Here are the 13 steps that I followed to get my first repository in GitHub. 1. Upgrade to the latest git: http://git-scm.com/ 2. Open a github account: http://github.com/signup 3. Add GitHub’s settings to git: http://help.github.com/git-email-settings/ 4. Generate a SSH key: http://help.github.com/mac-key-setup/ 5. Create a...
Sep 12th
August 2009
9 posts
2 tags
Aug 29th
2 notes
“If you are going to take into account stakeholder feedback, you cannot commit...”
– IBM leader about their biggest problem for Agile adoption: the governance system a.k.a product management. Quoted by Mary Poppendieck during her “workflow and schedule are orthogonal” during her Agile 2009 talk.
Aug 25th
1 tag
A breakfast story about Quality
How’s that for a ambiguous and confusing sentence: “As an organization, we must focus on quality.” Sorry, I must focus on what? Oh, yes “quality”. And what is “quality” for you, dear Organization? Sit down and observe everyone running in different directions: Quality is the satisfaction of requirements Quality is the absence of bugs Quality is the...
Aug 21st
1 tag
The circular argument
“We’re doing the best possible job of software development. Therefore, if other people are doing better, their problems must be easier. Therefore, we never find out what other people are capable of doing in software development.” G. Weinberg in Quality Software Managment: System Thinking This actually not only appears at a company level but also at the departamental...
Aug 8th
The Tao of Programming
Reading Weinberg’s book of Systems Thinking, I ran into this excellent excerpt from the “Tao of Programming” from G. James. Probably my next read. Why are the programmers nonproductive? Because their time is wasted in meetings. Why are the programmers rebellious? Because the management interferes too much. Why are the programmers resigning one by one? Because they are burnt...
Aug 6th
1 tag
“Quality is not the absence of error.”
– I am enjoying Gerald M. Weinberg’s “Quality Software Management” book. You should repeat this sentence in your head a few times and then chew on it for a little while.
Aug 5th
1 tag
The fear of working in legacy code
Over the past weeks, I have been lucky to pair with a bunch of programmers in a large legacy java application. As we were adding tests before new features, we made important design changes (mainly related to the Single Responsibility Principle, Law of Demeter, Inversion of Control and DRY). Here are some of the fears that we experienced when working in legacy code: It’s not my domain ...
Aug 4th
1 tag
Aug 2nd
1 tag
sundayconf
I  watched Geoffrey Grosenbach’s objective-c screencast at least 3 times over this weekend. It’s a good start for a objective-c newbie like me. The best part of it is that he starts writing tests to expose the syntax of the language. There is so much information in 80 minutes, that re-watching the video helps to get the concepts sink in. On Friday, Corey Haines happened to stop near...
Aug 2nd
July 2009
9 posts
3 tags
sundayconf
I was looking forward to watch videos from the recent OSCON conference and I was impressed by the lack of them. I hope this is just a timing issue and that they really recorded more than 6 given the big amount of interesting sessions that happened during last week. A Brief History of Software - Michael Lopp - OSCON 2009 This is a short 18 minutes video where Michael Lopp looks back on a company...
Jul 26th
1 tag
The Get Out Of Jail FREE card
I am hearing over and over again the same type of excuses. It’s not specific to a certain group. “I don’t have the time to go to the coding dojo. I am too busy and my deadline is coming up.” Usually, this excuse is right after a comment or complaint like this one: “You know, all this TDD stuff is good and all that, but it will never work on my daily job.”...
Jul 20th
1 note
1 tag
First sundayconf
I selected 2 sessions for this sundayconf: 1. Artisanal Retro-Futurism crossed with Team-Scale Anarcho-Syndicalism - Brian Marick There was a lot of buzz about Brian’s talk this week on twitter and boingboing. I have been following ARxTA and I was looking forward to his talk on the subject. It was fantastic. Watch the video here. 2. Hurting code for fun and profit - Ryan Davis During...
Jul 19th
1 tag
Jul 18th
1 tag
“School is temporary. Education is not. If you want to prosper in life: find...”
– James M Bach. Secrets of a Buccaneer-Scholar. Free download at http://www.simonandschuster.com/specials/secrets-of-a-buccaneer-scholar/
Jul 14th
A Coding Dojo FTW!
In the next coding dojo that we plan to host later this month, we want to repeat the exercise of a roman numeral converter. We did this one before, but we are adding a little twist (or actually 9 little twists to make it more interesting) The converter is pretty simple: you enter “III”, it returns you a “3”. You enter “XXIV”, it returns “24” and so...
Jul 13th
Jul 13th
1 tag
Hello World (again)
I confess. I liked wordpress but it always seemed heavy and bloated and difficult to use. Spam was a problem so I had to disable comments from my posts. Hosting was expensive (in my case). I had to manually upgrade every new release. So I decided to turn the page and discontinue my updates to http://sbastn.com I have been thinking about making the jump for a while. And today is the day. The...
Jul 11th
“Implementing caching would take thirty hours. Do you have thirty extra hours?...”
–  Professor Owen Astrachan during 23 Feb 2004 lecture for CPS 108
Jul 11th
June 2009
2 posts
3 tags
About resources
I recently twitted about my problem with using the word “resource” when referring to people. I have no problem when we use it for other things like printers, projectors, rooms, etc… but it makes me gag in the context of people. Let’s use it in a sentence shall we? “We need more resources to finish this project on time”. There is so much evil on this bit that I am just going to highlight that...
Jun 12th
3 tags
Typing is not the bottleneck
There is something about Mike Hill’s article about “How TDD and pairing increases production” that resonated in me: “Typing is not the bottleneck”. It’s a really simple message that affects to the way I want do software development. It’s the reason why I prefer to pair, the incentive that makes me write the test first, the rationale of why I think it’s wrong that some people refer to us...
Jun 3rd
May 2009
2 posts
3 tags
Build a team on a 360-degree feedback
Many companies use a 360-degree process to improve the training, development and performance of their employees. Feedback is provided by subordinates, peers, and supervisors to the employee. In my experience, the session is broken down in 2 parts. During the first half, the group breaks apart to gather data about the person receiving the feedback. Then the group comes together to share their...
May 15th
3 tags
Counting spider monkeys
The concept of story points is neat. It’s a tool that helps a team measure the effort to complete a story. In a nutshell, a team agrees on a measure for a basic story: not too simple but not too complicated and assigns a number to it. From there, all other stories are relative to initial number. Because teams are different, it’s easy to find teams with very diverse point system. That’s OK....
May 12th
April 2009
2 posts
Know your editor
Most of us (programmers) don’t take the time to learn our editors or IDE. Why? Some may say, it’s a waste of time or they don’t have the time or they rather learn something else, or memorizing shortcuts is dumb since Editors and IDEs change all the time. I have heard some people claiming notepad as their ultimate editor. Maybe notepad works for you. Maybe using the mouse on your...
Apr 14th
1 tag
About Teams
When a group of people is selected to work together on a project, they probably don’t know each other. Management puts them in the starting line and off they go toward a goal. With time, they eventually become a team. It can take time, maybe from 6 month to a year. It depends on different factors: collocation, sitting space, pair programming, pair testing, etc…These are factors that can...
Apr 3rd
March 2009
4 posts
3 tags
Broken windows
And I am not talking about the OS. (What a bad joke, I will understand if you decide to stop reading right here) I was introduced to the concept of broken windows a few years ago while reading the pragmatic programmer. Here is the link to the explanation. Some of my highlights from the article: “One broken window, left unrepaired for any substantial length of time, instills in the...
Mar 31st
3 tags
9 rules to better OO
These posters are inspired by the ThoughtWorks Anthology book . I started creating a small comic for this but stopped for some unknown reason. This post is not the original that I had on my previous blog, but I wanted to keep the poster and booklets for future references. Posters Booklet
Mar 22nd
2 tags
New team. New canvas
It’s Monday morning and your manager notifies you that you are going to be part of a new team. With mixed feelings, you start thinking about the next assignment. Who’s in the new team? What’s the domain like? What’s the code like? Like a painter finds himself in front a blank canvas, possibilities are endless. But where do you start? The painter is constrained by the canvas and knows how to work...
Mar 18th
3 tags
HP's early Agile garage rules
Andrew Binstock has an interesting post about the early days of Hewlett Packard. They had the following rules posted in their garage: Believe you can change the world. Work quickly, keep the tools unlocked, work whenever. Know when to work alone and when to work together. Share tools, ideas. Trust your colleagues. No Politics. No bureaucracy. (These are ridiculous in a garage). The...
Mar 9th
February 2009
1 post
2 tags
It's all fun and games
My team likes to play little silly games. Ok, I admit, I like to play little silly games at work. Why? I like to work in a fun and engaging atmosphere. It enhances collaboration and communication. It builds trust. One cool way to do build a team culture is to make up some games. No single game is going to fit every team. First, you have to observe how your team works: what do they find funny?...
Feb 25th
4 tags
This team is mine! My precious...
They’re my programmers, my analysts, they’re mine! Mine!! My precious! I hear it sometimes during meetings or casual conversations in the hallway. Scrum masters talking about their team like they are showing off geek blink. The tone of their voice is imperialist. You could tell that they can fix “the hot issue of the day” by commanding their troops to the urgent task;...
Feb 1st
3 tags
Adopting Test Driven Development through...
Actually, if I back off the TDD subject for a second, how do you motivate people to do their job in a different way? Let’s put aside the fact that the “new” way of doing work might be better than the “old” way. Maybe it’s just a “different” way with the same results… so, let’s find a stupid example. <drama> I work in a burger...
Feb 1st
2 tags
Collecting metrics helps you improve or are you...
I normally agree with the fact that collecting metrics helps you with measuring your steps towards a goal. Tracking your progress with several checkpoints along the way and revise your plan accordingly. But as long as the metrics are simple and require no complicated work to get them. Focusing more time on thinking about the collection of the right metrics or the “ideal” metrics take...
Feb 1st
2 tags
The eight hour burn
Chad Fowler’s book “My job went to India” is a must read. One of the chapters that I enjoy is the eight-hour burn. It all started when Extreme Programming introduced the concept that team members should work no more than 40 hour per week. Probably tagged as one of the most controversial practices of XP. Of course! The idea does not go well with Management. How can management...
Feb 1st