Is architecture worth the investment?

[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?

 

 

# re: Is architecture worth the investment?

Wednesday, June 09, 2004 11:53 PM by Darrell    
Higher bill rates and more competitive scheduling.

# re: Is architecture worth the investment?

Wednesday, June 09, 2004 11:54 PM by Darrell    
I see that I am full of myself today in response to all your posts, Steve. Don't mind me if I'm being annoying. :P

# re: Is architecture worth the investment?

Wednesday, June 09, 2004 11:57 PM by Steve    
It's all good. :)

# re: Is architecture worth the investment?

Thursday, June 10, 2004 12:11 AM by Adam Weigert    
Check out FTPOnline Enterprise Architect's articles. Some very AWESOME and powerful reasons for an enterprise archtiecture guidance and governance counsel.

# re: Is architecture worth the investment?

Thursday, June 10, 2004 1:16 AM by Jiho Han    
Currently I am doing both: framework and client-specific.

I tell my manager and his manager that having the framework will enable us to develop client-specific code in the future in a more timely manner. Of course there is the benefit of having common code base. Without a decent framework, one has to reinvent the wheel every time a new project comes along. Well, I think I'm preaching to the choir when I say that having a framework is important.

As for having a team/a person dedicated to the development of the framework, I think that being able to focus on the framework frees you from nitty-gritty client-specific details you have to deal with such as, when importing from Excel, using ODBC, etc., you need to prefix a mixed type column with '(single quote) to coerce it to string type. Having to deal with this kind of issue, one-off, strange, buggy features of 3rd party apps, takes away the time you can use for developing solid framework(reusable - that's what I think of when I hear the work framework) code.

This is what I propose to my company. I'll be billable for the minimum hours that's required to pay for myself, so I can spend the rest on research and writing framework code. The only cost to the company is then, at worst, lost opportunity.

Sorry for my blabbing...

# re: Is architecture worth the investment?

Thursday, June 10, 2004 8:58 AM by Alex Lowe    
I used to work in services and I was able to convince my manager that we should have an architecture team and that we should factor the cost into the time it takes us to produce solutions with/without the framework (as Jiho is indicating).

So, there are at least two problems once you've convinced your boss that an architecture is a good thing:

1) Your boss will want to put all of the people who are "on the bench" on the architecture team. That is, they'll want the guys without projects to work on the project. You situation may be different but in my situation the guys who should be working on the architecture team were the guys who were usually billable.

2) The most logical way to look at the "cost" of the architecture is to raise the billable rate. You might lose customers with this approach but it is much better than the impossible sell of a fixed "architecture" cost included in the bill. The way to sell the added hourly rate when pressed is that you have to actually sell the architecture and hopefully the extensibility of that architecture to the customer. I presume that some or all of your customers will take the finished application and maintain it so there is added value there. If an external company (like yourself) will maintain the application then the added value is decreased maintenance time and an increased ability to adapt to future business requirements (if you build it correctly =).

The enterprise customers I work with now all have architecture teams. I think the architecture teams are great because they provide Microsoft field folks a single point of contact where we can help push best practices inside the entire organization. My selfish reason for liking architecture teams aside, all of the reasons in the article Adam points out and Jiho's comments are on as well.

# re: Is architecture worth the investment?

Thursday, June 10, 2004 9:41 AM by Steve    
Alex,
Thanks for the comments. I think our situation is very similar to the one you described in #1. I'd definitely have the same concern about throwing free people at the project rather then placing the right people in the appropriate roles. We had discussed adding a fixed price on our projects but as you mentioned that is close to an "impossible sell." I'll definitely have to look into what change in hourly rate we'd have to implement in order to cover the "cost" of the architecture team/role.


# re: Is architecture worth the investment?

Thursday, June 10, 2004 9:42 AM by Steve    
Adam, I'll definitely check out the articles to see what I can find to help in my battle.

# re: Is architecture worth the investment?

Saturday, June 12, 2004 3:42 AM by Steve    
I think a good way to convince your boss of the value is to state things in terms that he will understand. Tell him (or her) how much value, in dollars, could be derived. If you feel like there is a lot of money to be saved, start out there. Try to state the benefits to the company and ask for help where you can't quite quantify the value.

Value could come in many forms. For a service company, value might be in the reduced pre-sales time (which is trackable in hours), estimatation accuracy, ability to swap developers quicker (reducing non-billable transition time and improving utilization), or simply providing increased value to the client (add $5k or 2% or whatever to offset the time saved by using the framework).

I'll bet if you start out with the value to the company, you'll have a point that is hard to argue -- even for otherwise egomanical and unreasonable managers. I've done it once or twice in my career and the results have been surprisingly super awesome.

# re: Is architecture worth the investment?

Saturday, June 12, 2004 5:56 AM by Steve    
I guess it depends how "egomanical and unreasonable" the particular manager is ;-)

Thanks for the advice, Mr. Super Awesome!

# re: Is architecture worth the investment?

Thursday, June 17, 2004 11:55 PM by Benjy    
Interesting post. I agree that for services companies, dedicated R&D is a huge luxury.But if a company can afford it, it would be worth the investment.

We used to have a sort of R&D team dedicated to building a couple of development frameworks for Java and and .NET (equivalent ones). But we found the same problems as you did. The resources with the skills to build these frameworks were in great demand on projects . Eventually for several reasons, the work was dropped.

Nowadays, I'm trying to push the use of the MS Application Blocks and Enterprise Templates to get our .NET Projects off the ground. The App Blocks do suffice to some extent as mini-frameworks.

Just came across Genghis.NET which looks quite useful except that we dont do any WinForms development currently.


Post a Comment

 
 
Prove you're not a spammer: 
0 + 1 =