This Article 
 Bibliographic References 
 Add to: 
Five Considerations for Software Architecture, Part 2
July/August 2010 (vol. 27 no. 4)
pp. 12-14
Frank Buschmann, Siemens Corporate Technology
Kevlin Henney, consultant
What are the top five properties that make a software design elegant? In this column we follow on from the previous column, exploring the remaining two properties: symmetry and emergence. Symmetry offers a form of simplification through regularity. Emergence allows complex behaviors to be governed by simple rules.

1. C. Alexander, The Nature of Order, Book One: The Phenomenon of Life, CES Publishing, 2001.
2. E. Gamma et al., Design Patterns—Elements of Reusable Object-Oriented Software, Addison-Wesley, 1995.
3. F. Buschmann, K. Henney, and D.C. Schmidt, Pattern-Oriented Software Architecture—A Pattern Language for Distributed Computing, vol. 4, John Wiley & Sons, 2007.
4. J.L. Bentley and M.D. McIlroy, "Engineering a Sort Function," Software Practice and Experience, vol. 23, no. 11,John Wiley & Sons, 1993, pp. 1249–1265.

Index Terms:
architecture, symmetry, emergence, software, software engineering
Frank Buschmann, Kevlin Henney, "Five Considerations for Software Architecture, Part 2," IEEE Software, vol. 27, no. 4, pp. 12-14, July-Aug. 2010, doi:10.1109/MS.2010.98
Usage of this product signifies your acceptance of the Terms of Use.