Monday, December 15, 2008

Selecting the right level of Architecture

When deploying a solution that you expect to hand over, the level of "Architecture" and thus time involved should be dependent on the more than the problem that has been presented to you:

1)  Before any reuse is expected the culture needs to support a certain level of processes/documentation.  Developers in general find it easier to start from scratch. 

2)  Creating documentation is a less than effective technique in a culture where no processes exist.

3)  If the environment is such that that proper process/documentation is not going to happen, attempt to go for the "low-hanging-fruit", make it easy to leverage components that can be used every day without much learning curve.

4)  Their should be an established formula for perceived pain vs. investment in a learning curve vs. perceived value

5)  Ability to tolerate learning curves is important, even if the learning curve is < 2 hours and the pay-off from going though this learning curve would payback HUGE dividends that would easily justify the learning curve, if the perceived value is not equal to the 2 hours, the developer will probably start from scratch.

No comments:

Post a Comment