Obie’s Opinions On Software Development…

Well, you know what they say about opinions - they’re like ********, everybody has one.

That said, there’s the beginnings of an “opinions on software development” meme going around at the moment. Obie Fernandez started it off. And Tim Bray says he agrees with almost all of Obie’s opinions on this topic. Not so sure I do.
Seems to me there are one or two truisms in this list, such as:

The best way to keep developers productive is to keep them focused on… delivering business value.

and

Not solving a problem well increases the likelihood of failure

There are also a few inconsistencies, such as:

Performance is irrelevant when you can’t scale… a lot of… software simply does not have extreme scalability requirements.

But, mostly, to my eyes, Obie’s post looks like a list of statements aimed at justifying using Ruby on Rails. Obie’s opinions could be paraphrased (NB not to be taken too seriously, please…) as:

  • Obie says: When it comes to delivering a successful project, developer motivation and productivity trump other factors.
  • Translation: Forget about all the other issues involved in delivering a successful project. I’m telling you I’m most productive using Ruby on Rails. So we really need to focus on that. If I’m not at my most productive, your project will fail.
  • Obie says: Performance is irrelevant when you can’t scale. And if you can scale cheaply, then milking every ounce of processor power should not be your first (or even fortieth) priority.
  • Translation: OK. Yes, I know - Ruby is slow. But performance is irrelevant. In any case, if performance is important for some reason, we can just buy more computers. Don’t worry about it.
  • Obie says: A lot of enterprise software simply does not have extreme scalability requirements.
  • Translation: So about Ruby being slow. The point is - you don’t need your software to run fast. I’m telling you.
  • Obie says: Performance IS related to choice of language and framework because higher-level languages are easier to write and understand. There is consensus that the main source of performance issues in most applications is poorly-written application code.
  • Translation: And more about Ruby being slow. Well C is slow too. And Java. Don’t believe me? You see, C and Java might be fast in principle. But in practice they’re slow, because it’s hard to write code that runs fast. So, you see, we really are better off using Ruby.
  • Obie says: Convention over configuration is simply a better way to write software.
  • Translation: Ruby on Rails is simply better than everything else. I don’t care what software you’re trying to write.

  • Obie says: Allowing technology to dictate the approach to solving a business problem is usually a bad idea, however that advice shouldn’t be used as an excuse to stick with inferior technology.
  • Look, I know that I sound like I’m pushing Ruby on Rails on you. And I know that sounds bad, because it I should be focusing on your business need. But here’s the thing: we reaalllly need to use Ruby on Rails. And anyway, there’s no such thing as “business need” - people that talk about it are usually just making excuses for not choosing Ruby on Rails.

Once again, in case it’s not obvious, I’m just kidding with the above. Everyone is entitled to their opinions… and - shock, horror, there’s actually one of Obie’s opinions I actually do agree with! He says - Presentation is very important, even for small projects. If your application looks bad, everyone will assume it is written badly. This is very true. Most people really do judge the quality of an application by how much pretty the user iterface looks. Of course, that’s why you should be using Java ;-)

Post a Comment

Your email is never published nor shared. Required fields are marked *

*

*