Architectural assumptions and their management in software development by Chen Yang