# Contribution 38

(Difference between revisions)
 Revision as of 17:44, 6 June 2008 (edit)← Previous diff Current revision (22:05, 2 July 2008) (edit) (undo) Line 1: Line 1: - == Time Is Money == + == Community == - I think that ''when'' I make design choices is as important as ''what'' design choices I make. There is a psychological component to timing, such as the need to see immediate progress or the need to feel safe for the future. However, the biggest motivation for paying attention to timing is economic. + As the architect, you make decisions that will affect the community revolving around your project for many years. In a way, the software design itself is part of the architecture. The way people come into the community and the way people leave are also part of it. A complicated architecture is difficult because the connections between the parts are blurred by the volume of noise, and many good people turn away. An architecture simple by decree is hard to work with because only things declared simple are allowed, and people feel helpless. - The fundamental law of money is that a dollar today is greater than a dollar tomorrow. I can invest the dollar I hold today, giving me a fraction more than a dollar tomorrow. In evaluating two revenue streams, timing is as important as magnitude. If you tell me, "In scenario A you spend \$10 to make \$50, in scenario B you spend \$20 to make \$40," I don't know which is the better deal until you tell me ''when'' I spend and make the money. - To evaluate a single cash flow, take the amount at a given time and ''discount'' it back to today. Thus, \$10 in one year at an interest rate of %5 is the same as \$9.52 today. To evaluate a compound cash flow (a series of payments in and out), discount them all and sum the result. This calculation is ''net present value''. + By [[Evan Cofsky]] - If the interest rate is really 5%, + This work is licensed under a + [http://creativecommons.org/licenses/by/3.0/us/ Creative Commons Attribution 3] - == not done yet == + Back to [[97 Things Every Software Architect Should Know]] home page

## Community

As the architect, you make decisions that will affect the community revolving around your project for many years. In a way, the software design itself is part of the architecture. The way people come into the community and the way people leave are also part of it. A complicated architecture is difficult because the connections between the parts are blurred by the volume of noise, and many good people turn away. An architecture simple by decree is hard to work with because only things declared simple are allowed, and people feel helpless.