- Engineering Complexity
- Birth of Murphy for Java
- People = Problems
- Education Through Pain Management
- The Twenty-Cent Solution
- Fraternal Clones
- "We Lost the Napkin"
- The Devil in Blue Jeans
- Jack and the Beanstalk
- The Slashdot Effect
- The Funhouse Microphone
- That "New Car" Smell
- If I Can See It, It Must Be Wrong
- The Ugly American
- Murphy's Law
- Use Egg Cartons
That "New Car" Smell
Law: I need to add a new skill to my résumé.
Q: Peer-to-peer, multi-tier, stand-alone, or new technology?
The computing world is a little more complicated now that designs can include stand-alone, peer-to-peer, and multi-tier solutions. Peer-to-peer (P2P) is especially new and different with the introduction of JXTA. Does the solution actually meet the needs of the application? Very often, the initial answer is yes, but many risks have not been taken into account. For example, if JXTA were used for e-commerce, there are additional risks because of delays in message propagation as compared to web servers. On the other hand, JXTA has the upper hand over a multi-tier approach because there are no servers to buy.
The key to success is to look at all parts of what's required and weigh one part of a solution against the other. Also, don't discount a solution, even if it has a few bad points. There's nothing wrong with coming up with fixes or mixing solutions.
Almost as important, is the solution something the team has experience with, or just something cool they want to do? Any technology should be suspect if it's new or not something the team regularly uses. New technology is not bad, but it should meet the requirements. In addition, the risk of doing something different from the norm should be considered.
The choice has been proven in a prior incarnation or by close comparison.
The cost of infrastructure is known and approved (important for server approaches).
The type of application has been proven to work with the solution.
Negatives are known and approved as acceptable.
The team has experience with the chosen method.
All parts of a solution have been evaluated and compared to the needs.
No one on the team is experienced with the chosen method.
Initial and long-term costs have not been evaluated.
Risks are unknown.
The team wants the experience (résumé filler).
Hire an expert to evaluate the proposal and calculate risks and costs.
Create a prototype to evaluate risks.
Compare the solution to others to predict costs and risks.