[Note: I wrote this post once already in the web interface, which when the site went down was lost. As you all know the second time around writing something is never as good]
I've recently been advocating the creation of a architecture group or role within our technology department. Over the last year we've developed several frameworks and underlying architectures that we use on almost every project we do. The frameworks have saved us a considerable amount of time and have enabled us to deliver more functionality and better quality software then had we not used them.
I believe a good architecture and framework can be extremely beneficial. They offer many advantages such as:
- Increased productivity for developers.
- Increased quality of the solutions.
- Standard design across projects.
The problem with having a person or team dedicated to the underlying frameworks and architectures that we use on our projects stem from the fact that we're a services company. Every hour that an individual works on the framework is an hour that could have been spent billing the client. We currently don't tack on a line item within our estimates for the underlying frameworks which we've invested in, so essentially the time spent working on the frameworks (unrelated to a client project) are "investments" that we don't see any return (in the $$ sense) from.
Do you currently have a team or individual who is responsible for the underlying framework and architectures used in building solutions for your clients? If so, what benefits do you see coming from this? What value is provided by the frameworks? How is the investment justified?