A method includes displaying to a user, via a display element, a user interface that allows a user to characterize business demand of an organization; receiving, from a user, via one or more input devices, input characterizing business demand; automatically comparing, utilizing one or more processors and one or more memory elements of a computer system, qualities of business demand to attributes of ensembles comprising implementations of reusable patterns, the qualities of business demand being based at least in part on the received input characterizing business demand; determining, based on the comparing step, a recommended ensemble; and displaying to a user, via a display element, the recommended ensemble and other possible ensembles as well as a visualization comparing the recommended ensemble and the other possible ensembles to business demand.