Software Development

What I Learned This Week (Week 50/2013)

Each week I write a blog post which describes what I learned that week. I write these blog posts for two reasons. First, I want to keep track of my personal development and writing regular blog posts is a great way to do it. Second, I want to share my findings with you. I hope […] Read more

The Dark Side of Best Practices

Best practices are the backbone of software development (or so we are told). Every developer has his own opinions about software development processes, architecture, and programming. These opinions are based on education, personal experiences, and the experiences of other software developers. These opinions are also known as best practices, and every software company has them. […] Read more

We Should Not Make (or Enforce) Decisions We Cannot Justify

Software development is a strange industry. New technologies emerge in a fast pace and old technologies become obsolete. The ability to learn new technologies is considered as a sign of a great software developer. It is expected from all of us. And yet, all of us don’t welcome these new technologies and ideas with open […] Read more

Rod Johnson Is Right: The Scala Community Need to Grow Up

The one thing that has always bothered me about functional programming languages is that they seem to attract very intelligent and extremely arrogant people. You might argue that these people are the loud minority of the functional programming community, and you might be right. But guess what? It does not matter. If you want to […] Read more

Getting the Best Bang for Our Buck - Building the Right Thing

One of the biggest problems of software projects is that we have no idea whether we are creating waste or value. The scariest thing is that 80 percent of software’s features are not used on a regular basis. Thus, it is very likely that we are adding waste to our software right now. This should […] Read more

Getting the Best Bang for Our Buck - Waste or Value?

Too often we measure software development projects by using criteria such as schedule or budget. We treat these projects as construction projects and forget that a software development project is also a product development project that cannot be measured by using the same criteria. This blog entry takes a bit different approach, and explains why […] Read more