For reference, there are two ways to approach a Magento problem using standard methodologies.
- Decompose the problem in to sub-problems
- To use top-down there needs to be an understanding of the problem
- The solution uses the necessary parts of an existing larger solution
- More expensive to implement up front but easier to maintain and extend for business processes
- Organize parts of the solution in to larger manageable sections
- For bottom-up to be effective the problem needs to be a common problem which is well understood
- Experimentation is required before the correct parts can be organized to form a solution
- Cheaper to implement up front but requires more ongoing maintenance and cannot easily be extended
Most solutions including custom code and extensions for Magento use the bottom-up approach, the key to which solution is appropriate for a Magento store is:
1) a bottom-up approach requires both time for experimentation -and- to be a known common problem
2) a top-down approach can be used when either time is short -or- the problem is not a common problem
This provides a reference point to help determine which solution is appropriate for a problem from the smallest to the largest stores. It is becoming more important as stores are now selling internationally and to reduce costs more tasks need to be automated, determining the correct approach up front leads to saved time and also reduced onoing costs.