The Artima Developer Community
Interviews | Discuss | Print | Email | First Page | Previous | Next
Sponsored Link

Tarchitects and Marketects
A Conversation with Luke Hohmann, Part V
by Bill Venners
April 12, 2004

<<  Page 2 of 2

Advertisement

Pursuing Different Visions of the Future

Bill Venners: You write in your book, "If the marketect and tarchitect pursue different visions of the future, the total system will fail." Could you elaborate on why?

Luke Hohmann: We talked earlier [in Part I] about architecture being good relative to change. The Extreme Programming (XP) crowd says, "We're not going to worry about change," but that's not true. They worry about change all the time. When they say, "Ya ain't gonna need it," they implicitly make decisions that other people make explicitly. That's fine, but they are in fact making decisions. In the The Pragmatic Programmer, Andy Hunt and Dave Thomas talk much more explicitly about worrying about change. They'll say, "We think things are going to change here, so we put this extra flexibility in there, even though it is not changing now."

Both the XP crowd and the Pragmatic Programmer crowd are making a bet. Either bet is a future option: the option to not spend the money now, or the option to spend the money now so that the cost of future change presumably is less. If the Pragmatic guys make the bet to spend some money now, and they're right, we're all happy. If they're wrong, we may have some crud to take out or clean up. If the XP guys make the bet to not spend the money now, and they're right, then we haven't incurred the cost, and we're happy. If they're wrong, if it turns out you need to make the change, then you've got to go back and refactor and retrofit.

How well you make those decisions is typically a function of how well you know how to structure systems technically and how well you know the domain itself. If you know the domain, you know the nature of the changes in that domain. If you are Intuit building TurboTax, for example, you may know that certain sections of the tax code are more likely to change than other sections of the tax code. That doesn't mean that you don't make the tax code hard-coded throughout the product, but you might put a little bit more effort into making some of the tax code portions of the product a little more data driven than others. That kind of bet on the possibility of future changes, if pursued differently by the marketect and tarchitect, is going to cause problems. The marketect might say, "I want to take the system and into this new market. And what this new market needs is different from what the existing market needed. The technical architect might say, "I'm going to take a bet that the system is going to go over here." If they shoot into different spots, the architecture will be prepared to solve the problems of the wrong market.

Bill Venners: I see. The tarchitect is doing the technical architecture. The marketect is doing the business architecture. If they're going in two different directions, when the time comes that the marketect says, "Hey, we've got this great opportunity that I saw coming," it doesn't work.

Luke Hohmann: Right. It flat out doesn't work. A great example of when that divergence occurs is whenever a team says, "You can't have that for a full release," because usually these big architecture changes take at least one release to get through.

Bill Venners: "You can't have that for a full release," means, we weren't ready for it.

Luke Hohmann: And we've got to pay the price of a full release to get there. It's a sign that those people, the marketects and tarchitects, were not working in concert.

Next Week

Come back Monday, April 19 for the next installment of this conversation with Luke Hohmann. If you'd like to receive a brief weekly email announcing new articles at Artima.com, please subscribe to the Artima Newsletter.

Talk Back!

Have an opinion about the design principles presented in this article? Discuss this article in the Articles Forum topic, Tarchitects and Marketects.

Resources

Luke Hohmann is author of Beyond Software Architecture: Creating and Sustaining Winning Solutions, which is available on Amazon.com at:
http://www.amazon.com/exec/obidos/ASIN/0201775948/

Luke Hohmann is the author of Journey of the Software Professional: The Sociology of Software Development, which is available on Amazon.com at:
http://www.amazon.com/exec/obidos/ASIN/0132366134/

The Pragmatic Programmer's home page:
http://www.pragmaticprogrammer.com/

A good place to start looking into Extreme Programming is:
http://www.xprogramming.com/

Frederick P. Brooks classic book, The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition (2nd Edition), is is available on Amazon.com at:
http://www.amazon.com/exec/obidos/ASIN/0201835959/

The hyperbolic tree that Luke mentioned was from Inxight Software:
http://www.inxight.com

<<  Page 2 of 2

Interviews | Discuss | Print | Email | First Page | Previous | Next

Sponsored Links



Google
  Web Artima.com   
Copyright © 1996-2014 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use - Advertise with Us