Part of creating a good architecture is investigating alternative architectural strategies. Alternative strategies have different benefits based on platform selection, technologies used, and code reuse. Each strategy is designed and proof of concepts are built to further investigate the costs and beneifits of each strategy. The strategies are assessed against product and quality requirements, and ultimately a strategy is chosen to be used to implement the product. Finally, security and performance are architectural concerns for which work must be done over the entire product.