Comment

Gratin Dauphinois

Gratin DauphinoisHere is the recipe for my Gratin Dauphinois, which I call potato casserole around friends, and that is always liked. I found the recipe on TootToot but I slightly adapted it.

Ingredients

For 8 servings: - 1 clove of garlic, halved - 2 cups of heavy whipping cream - 2 cups of milk - 1 teaspoon of ground nutmeg - Salt and pepper to taste - 3 pounds of russet potatoes, thinly sliced - 1 cup of gruyère cheese, grated

Directions

  1. Preheat oven to 375.
  2. Rub garlic over inside of 13 x 9-inch baking dish. Crush the remaining garlic and spread it in dish.
  3. Arrange potato slices in one layer in dish. Season with salt and pepper and sprinkle some grated grutè. Repeat layering with remaining potatoes, seasoning each layer with salt and pepper and sprinkling with cheese.
  4. Mix cream, milk and nutmeg in a bowl.
  5. Add the mixture to the dish before adding the final layer of cheese.
  6. Bake until potatoes are tender and top is deep golden, about 1 hour 45 minutes.

Comment

Comment

Successfully bootstrapping a large scalable Scrum practice at Royal Dutch Shell

Today, I will be presenting my paper at agile 2012. Here is the abstract for this work:

We will present the saga of a successful transformation from a struggling software development group to a scalable Scrum practice within Royal Dutch Shell. This group of sixty individuals encountered many obstacles on their journey to carry on the development of a large, 25 year old, legacy application. You will see how, over two years, we implemented a set of organizational, technological, procedural, and cultural changes to lead this group forward. Finally, we will present our vision to further strengthen and accelerate this value delivery system.

You can download the slide deck and the article itself.

Comment

The Psychological Consequences of Money

Comment

The Psychological Consequences of Money

Money

Today, I learned about the psychological consequences of money during the keynote presentation by Robert Sutton at Agile 2012. In summary, if you are posting pictures of money symbols or displaying Monopoly notes in a room where you ask people to collaborate, they will have a tendency to be more self-centered, selfish, and less willing to help others. This is the result of the work by Kathleen Vohs who published a paper on the topic. Photo by images_of_Money

Comment

1 Comment

Bœuf Bourguignon

Here is my Bœuf bourguignon recipe that I adapted from this recipe. My guests seem to have appreciated it every time I made this dish over the years.

Ingredients

For 8 servings: - 1 bottle of Cabernet Sauvignon or Merlot. - 2 tablespoons brandy - 2 onions, thinly sliced - 2 carrots, chopped - 1 sprig fresh parsley - 1 bay leaf - 1 clove garlic, crushed - 10 whole black peppercorns - 1 teaspoon salt - 2 pounds cubed beef chuck roast - 4 Tablespoon of Olive oil - 1/4 pound bacon, cubed - 2 onions, chopped - 3 tablespoons all-purpose flour - 1 tablespoon tomato paste - 2 cloves garlic, crushed - 1 (10.5 ounce) can beef broth - salt and pepper to taste - 4 tablespoons butter - 1 pound fresh mushrooms, sliced

Directions

  1. In a large bowl, combine the wine, cognac, onions, carrots, parsley, bay leaf, garlic, peppercorns and salt. Mix well and add the cubed beef. Cover and marinate in the refrigerator overnight.
  2. The next day, strain the meat from the vegetables and marinade; reserve marinade. Dry meat with paper towels. Heat 2 tablespoons of the olive oil in a large tall pot over medium high heat. Add the meat and saute for 10 minutes, or until browned on all sides. Transfer meat to a separate medium bowl with a slotted spoon and set aside.
  3. In the same pot, add the bacon and saute until lightly browned. Transfer the bacon to the bowl with the meat. Drain the pot and return it to the heat. Pour a cup of marinade into the pot to deglaze the pot, scraping the bottom to loosen up all the little bits. Return this liquid to the reserved marinade.
  4. Heat some olive oil in the pot. Add the onion and carrot from the marinade, along with the additional onion that you've chopped, and saute for 5 minutes, or until tender. Transfer this mixture to the bowl with the meat and bacon, again using a slotted spoon, and return pot to the heat. Add the flour to the pot, combining with the oil and stir until well mixed and brown, about 2 minutes.
  5. Now add the tomato paste, garlic, beef broth, reserved marinade and salt and pepper to taste. Bring to a boil and whisk to remove any flour lumps.
  6. Now pour the meat and vegetable mixture into the pot and cook for 6 to 8 hours on low heat, stirring occasionally and adding water as needed. Season with salt and pepper to taste.
  7. About 15 minutes before meat is done baking, melt butter in a skillet over medium high heat. Add the mushrooms and saute for 5 to 10 minutes, or until lightly browned. When meat is done, add the mushrooms to the meat mixture, stir well and let sit for about 15 minutes.

You can reheat the stew if you don't finish in one sitting. It only gets better over time.

1 Comment

Comment

Houston Misty Bayou

Houston is a huge metropolis but sometimes, you encounter something special while cruising residential neighborhoods on the way to the morning coffee break.

Comment

Comment

Benoît Mandelbrot, my favorite mathematicien passed away

Benoît MandelbrotBack in 1989, when I got my first PC, an 8086, I became obsessed with fractals and more specifically, the famous Mandelbrot set, along with 3D simulated mountainous range. At the time, I was programming using an OOP version of Borland Turbo Pascal and I created multiple DOS applications to generate, visualize, and marvel at those mathematic constructs. I had to take photos of my screen since my dot-matrix printer was not up to the task. When I took the computer science exam as part of the tests to enter the School of Geology, I brought with me pictures and programs on 3"1/2 floppy disks and it helped me get a good grade. My favorite mathematician, Benoît Mandelbrot died at age 85. He was quite an inspiration and part of the reason why I am doing what I am doing today. In the video below, Professor Mandelbrot, discuss some of his work.

http://www.youtube.com/watch?v=ay8OMOsf6AQ

Comment

Comment

Babies [Documentary]

Tonight, I watched the documentary entitled "Babies". I am not into documentaries, and even less into babies. This is a departure from my usual movie watching habits. I am not a parent and this child thingy is really foreign to me. However, it is amazing to see four babies observe and discover their body, and the world around them from the time they are born to the time they reach their first birthday. It is also fascinating, to see, from a toddler perspective, four very different places on the planet: Namibia, Mongolia, Japan, and the United States of America.

Living in Houston, it is easy to forget that not every Homo sapiens have access to running water, sanitation, medicine, and all the commodities I generally take for granted.

Babies is a very refreshing documentary that does not focus, as it is too often the case, on a problem in our societies, but more on the common thread that links all members of our species.

httpv://www.youtube.com/watch?v=1vupEpNjCuY

Comment

1 Comment

Automating unit testing is difficult but that's no excuse

In this short article Rob Diana argues that developers are responsible for producing working code and that to do so, it is imperative that the code gets tested and exercised through unit tests. This is perfectly reasonable and most developers I worked with don't have any issue with unit testing as defined by Wikipedia as long as the level of automation is low or non-existent. The Wikipedia article on unit testing explains that "[unit testing] implementation can vary from being very manual (pencil and paper) to being formalized as part of build automation."

However, a major gap exists between exercising the code through manual or semi-automatic tests and writing automatic tests to verify continuous integration builds. Of course the latter produce higher quality software in the long run but this gap prevents some teams from reaching a higher level of code quality while minimizing rework (i.e. higher productivity).

Implementing automated unit tests is not simply a technical exercise. It is also a complex problem that requires a sophisticated and coordinated effort among developers accompanied by a culture change where developers and other stakeholders:

  • treat unit testing code with the same level of respect as the rest of the application (this code may not end up on the server or the user's desk put it is an essential element in minimizing defect escape rate);
  • accept that an automated build is successful, if and only if, all the associated unit tests passed.

This combination of cultural and technical changes is essential to a successful and full-scale automated unit testing implementation.

1 Comment

1 Comment

Things to think about before and after a daily stand-up meeting

Daily stand-up meetings are at the core of the Scrum process. They help synchronize the team and quickly escalate impediments. Regardless if you have been participating in those meetings for years or you are just starting today, Mike Griffiths just published two useful posts to help us get more out of this critical activity:

1 Comment

Anchoring Effect

Comment

Anchoring Effect

Anchors

According to wikipedia:

Anchoring or focalism is a cognitive bias that describes the common human tendency to rely too heavily, or "anchor," on one trait or piece of information when making decisions.

This is a dangerous bias that can bite you when you are estimating tasks or stories in an Agile environment. I am even wondering if this plays a role when you are poker planning, and how much this influences your decisions from the get go.

Anyway, this article goes into detailing the anchoring effect and the "You are not so smart" blog is providing insights on common human behavior that plays an important role in software development.

While the phenomenon is well-known, I am wondering what a team can do about it. How can you overcome its nefarious effect and also how do you measure its effect in the long run.

[via You are not so smart]

Original photo by Plbmak

Comment

Comment

A Pattern for Using Scrum and Kanban

For a while now, I have wondered how you can combine Scrum and Kanban. Scrum is a good lightweight method that, if applied properly, can improve productivity, and more importantly, transparency for all stakeholders. On the other hand, Kanban seduced me for its simplicity and its ability to streamline your development. However, I never read anything about combining the two and most articles I have read so far seems to portray those two methodologies as oil and water. This article take a different approach and shows how a well lubricated and performing Scrum team can benefit from Kanban.

This is food for thought.

[via AvailAgility]

Comment

Comment

The Cloud is Cheaper than Bare Metal

Well, I don't know about yours but many organizations are looking into the Cloud at large to lower their cost and increase reliability. Looking at Amazon EC2, prices seem expensive when you are on a tight budget, especially if you belong to a small organization. However, as this article demonstrates, the price gap between using the Cloud and maintaining your own servers is narrowing.

[via High Scalability]

Comment

Comment

Adapting Steven Covey's concept to retrospectives

In Seven Habits of Highly Effective People, Steven Covey describes the concept of circles of control, influence, and concern. Succinctly, this concept states that you should only focus on the few things you can control and influence, and not on the many for which you are powerless.

This article describe an innovative retrospective process that one can use to help focus a Scrum team on the items they can control or influence.

This is a nice idea.

[via Partnership & Possibilities]

Comment

Comment

Agile Anti-Patterns

I believe that Agile is a great tool to help development teams achieve more, improve, and reach their next level in effectiveness, productivity, or creativity. However, like any tool, it can be misused or misapplied. You can shoot yourself in the foot if you are not applying a certain level of discipline or hygiene.

Mike Griffiths posted a short and sweet article on this subject that he entitled Agile anti-patterns. He classifies those anti-patterns as follow:

  1. Agile as a silver bullet
  2. Agile as an excuse for no discipline
  3. Agile without explanation
  4. Shallow Feedback

Comment

Comment

Drilling for oil

With the Deepwater Horizon incident in the Gulf of Mexico, there never was that much interest from the public on how a well is being drilled in over 5,000 feet of water. The video below is a presentation given by some colleagues from Shell at the Aspen Ideas Festival. The presentation describes the different processes that take place during drilling and the barriers that are inherent part of any well.

Make sure to listen to the Q&A session after the end of the presentation. It provides additional insight on this terrible incident.

Comment

My car crashed and requires a re-install

3 Comments

My car crashed and requires a re-install

Anchors

Yesterday morning the engine light on my car flashed yellow, and I had trouble reaching high RPM on the highway. I immediately stopped and called the road assistance. They suggested that I drive the car to the dealership as soon as possible, which I did. Quickly, the service representative diagnosed that the car had a firmware issue and ordered a reprogramming.

The problem is that the PC that was reprogramming the firmware crashed in the middle of the operation and now the car is FUBAR. I was even unable to open the truck by pushing the corresponding button. We are now waiting for a technician to show up with a laptop and fix the car.

This shows how dependent we are on computers and software in so many unconscious ways. Here, we have a computer crashing in the shop, that in turn renders another computer, the on-board CPU, inoperable.

This is nothing original. I am sure that it is a common occurrence and the news stories on different Toyota models illustrates how software bugs can be life threatening in some instances.

Where will we be in ten years from now? What can we expect from our cars, or other common devices that have existed for decades before the birth of computers?

I am certainly a Luddite but I sometimes wonder about this love-hate relationship I have with computers. I cannot live without them and they like to remind me.

This also reminds me that I need to pay more attention to QA on my day job. :-)

Original photo by oskay.

3 Comments

Comment

The surprising truth about what motivates us

You may have seen the video below as it was quite popular in the last few weeks. If not, I really encourage you to watch it as it is food for thought if you hold a job where you have to manage other individuals. httpv://www.youtube.com/watch?v=u6XAPnuFjJc

Comment

1 Comment

Linkedin Etiquette

Linkedin is a marvelous tool for professionals. This is nothing new and given my limited readership, we probably are connected via Linkedin already. Here are some personal rules I follow when using the tool:

  1. Don't collect connections
  2. Only Connect with people you discussed or corresponded with and whom you feel are professionals
  3. Connect with co-workers and former colleagues
  4. Ignore invites from people you don't know
  5. Import your list of contacts to reconnect with former business partners
  6. Recommend former colleagues but not current colleagues
  7. Rarely ask for a recommendation and only if you already gave one some time before
  8. Use a personal e-mail address for logging in, not a work e-mail address
  9. Register any new e-mail address that you expect people to use now or in the future
  10. Provide a summary and complete profile. Vendors, customers, former colleagues, future colleagues, and prospective recruits are likely to examine it before engaging in business with you.

I don't see much value in groups or discussions. Unfortunately, signal to noise ratio is very low in those forums.

I religiously follow my connections' updates and their new connections. This is great to find common colleagues or out of touch friends.

Please share with me your personal rules for Linkedin. I am always interested in learning new tricks.

1 Comment

Comment

A crash course in modern hardware

If you have not reviewed lately how modern CPUs operate and how they differs from CPUs that you grew up with, you may want to watch this video. It is quite long but certainly instructive. You will learn about what impacts performance today and how Donald Knuth was right all along. :-)

"We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil" — Donald Knuth

Comment