System appreciation is an activity often included in the maintenance phase of software engineering projects. Key deliverables from this phase include documentation that describes what the system does in terms of its functional features, and how it achieves those features in terms of its architecture and design. Software architecture recovery is often the first step within System appreciation.[1]
Parnas D.L. (2002). "The Secret History of Information Hiding" in Software Pioneers: Contributions to Software Engineering. Springer.
Sangal, N.; E. Jordan; V. Sinha; D. Jackson, eds. (2005). Using Dependency Models to Manage Software Architecture. 20th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications. ACM.