Do you need a special Software Architect to build Ruby on Rails applications? Or is a number of talented developers enough? Ruby on Rails developers are known to do more with less and be more productive. One of the main jobs of a software architect is to
- see and understand the big picture of an application.
- define or create an application framework
- define the design of the components and their interactions
- separate concerns
In short, the job of the software architect is to create the general architecture. The creators of Ruby on Rails have already done that. And they did it well. The Rails core team around David Heinemeier Hansson has developed a great ORM famework and a useful framework for Routing, they organized the structure of the application strictly according to the MVC pattern, and offered a strong built-in support for testing and TDD. They also created a standard mechanism to extend the system with plugins.
The software architect knows how to build frameworks. He knows the full catalog of design patterns for object-oriented applications and Enterprise Application Architecture. But there is no need to develop a large framework if you already use a good one. If you use a good framework, then you won’t need an expensive software architect. Of course it is still useful to have one or more experienced senior developers in the team. If your boss thinks in turn he needs desperately a great software architect, then there is strong evidence that you might use the wrong framework(s) to solve your problem.