July 2007 - Posts

How to use Patterns

Erich Gamma said:

Do not start immediately throwing patterns into a design, but use them as you go and understand more of the problem. Because of this I really like to use patterns after the fact, refactoring to patterns. One comment I saw in a news group just after patterns started to become more popular was someone claiming that in a particular program they tried to use all 23 GoF patterns. They said they had failed, because they were only able to use 20. They hoped the client would call them again to come back again so maybe they could squeeze in the other 3.


Trying to use all the patterns is a bad thing, because you will end up with synthetic designs—speculative designs that have flexibility that no one needs. These days software is too complex. We can't afford to speculate what else it should do. We need to really focus on what it needs. That's why I like refactoring to patterns. People should learn that when they have a particular kind of problem or code smell, as people call it these days, they can go to their patterns toolbox to find a solution.

Posted by jop | 2 comment(s)
Filed under: ,

Estimation

Today, I attended a seminar about Function Point Analysis.


To me, this seems to be a very magical way of estimating a piece of functionality. It is so different from that way I used to come up with my estimates that, though I haven't tried it yet, I can't help but think of reasons why it won't work.


Such type of thinking is not beneficial if you are trying to learn something. So, I'll give FPA some chance. In the end, I might end up not liking it after all, but at least I would know why.

Posted by jop | 7 comment(s)
Filed under:

Domain Experience

How come certifications are based on the technical skills of a programmer rather than business expertise?

If a manager of a company needs a C# programmer for their accounting system, isn't it more logical to look for a developer that has a good grasp of accounting which also happens to know how to program in the target language?

Unless your business is teaching technology, why would a company look for those certified in a certain brand of technology?

Posted by jop | 15 comment(s)
Filed under: