Reuse in Emerging Software Engineering Practices