Occam's Razor applies to software development. The simplest solution is almost always the correct one, and most architects complicate things more than necessary for the sake of reusability. I've never seen it pan out positively for maintenance. I currently maintain large government systems, and the ones coded up quickly by developers that just solve the problem they were intended for are much clearer, easier to understand, and easier to extend in the future.
Maybe there is a genius architect out there that can do this right, but I've not met one. Just a bunch of people who didn't enjoy coding anymore and wanted a way out. That's exactly the kind of people you DO NOT want architecting your software.
Ugh, this guy turns my stomach. For example:
-------
I’m not a fan of excessively using patterns, but it seems to be a problem for developers to even recognize why a certain pattern is used and which advantages it has in the concrete implementation. On the other hand developers are surprised at the implementation speed and elegance of pattern-based code when new requirements have to be implemented.
-------
If your developers don't understand design patterns, GET NEW DEVELOPERS. The whole architect/developer distinction is a problem in itself. Get developers who know what they're doing, and they'll be quite capable of handling the architecture themselves.
Comments
sblaes replied ago:
Occam's Razor applies to software development. The simplest solution is almost always the correct one, and most architects complicate things more than necessary for the sake of reusability. I've never seen it pan out positively for maintenance. I currently maintain large government systems, and the ones coded up quickly by developers that just solve the problem they were intended for are much clearer, easier to understand, and easier to extend in the future.
Maybe there is a genius architect out there that can do this right, but I've not met one. Just a bunch of people who didn't enjoy coding anymore and wanted a way out. That's exactly the kind of people you DO NOT want architecting your software.
Jim Wilson replied ago:
Ugh, this guy turns my stomach. For example:
-------
I’m not a fan of excessively using patterns, but it seems to be a problem for developers to even recognize why a certain pattern is used and which advantages it has in the concrete implementation. On the other hand developers are surprised at the implementation speed and elegance of pattern-based code when new requirements have to be implemented.
-------
If your developers don't understand design patterns, GET NEW DEVELOPERS. The whole architect/developer distinction is a problem in itself. Get developers who know what they're doing, and they'll be quite capable of handling the architecture themselves.
Voters For This Link (9)
Voters Against This Link (6)